Reference no: EM132387585
Assignment - Some Theoretical Issues in Enterprise Computing Architecture
Learning Outcomes -
- Compare and contrast the major enterprise software architectures.
- Analyse and evaluate the design options available for each tier in a typical 3-tiered application.
- Assess the potential business impact of emerging enterprise computing technologies.
- Critically evaluate key research areas in enterprise computing.
In this assignment, you are to address some theoretical issues in the area of enterprise computing architecture. You will need to demonstrate your understanding of these theoretical issues or competence to apply these theoretical issues. These theoretical issues have been introduced by this unit through the textbook, weekly lectures or tutorials/labs. You will need to review these learning materials to address the following questions and prepare to do personal research if necessary.
Please note: copying from the unit learning materials or internet resources cannot show your understanding of the following issues, and you will need to address the following issues in your own word with proper citation and reference.
Question 1 -
Answer the following questions that are related to JPA.
1. On completion of the lab projects of this unit, you have used a number of JPA configuration files persistence.xml. You have noticed that transaction-type="RESOURCE_LOCAL (e.g. Week 1 project) or transaction-type="JTA" (e.g. Week 5 project) is used in the configuration files. Describe the difference of using these JPA configuration properties.
2. Using Week 5 project as an example, @PersistenceContext(unitName = "W5P1EJBModulePU") is the only one in the source code that is referencing to a JPA persistence unit, and you haven't seen any physical database names in the source code of the project. Describe how this logic name W5P1EJBModulePU is mapped to a physical database.
Question 2 -
Answer the following questions that are related to callbacks and listeners.
1. What are JPA callbacks and how are they driven?
2. Why do we need JPA listeners when callbacks and listeners are the same in functionality?
Question 3 -
Explain how an EJB container treats an EJB and a POJO differently and why EJB containers can support one of the Java EE goals: ease of use.
Question 4 -
The following is a Java class of simplified shopping cart, which has a number of attributes and methods.
public class Cart {
private String customerName;
private String customerAddress;
private String contactNumber;
......
......
private List<String> cartItems = new ArrayList<String>();
......
......
public String addItem (String str) {
if (!cartItems.contains(str)) {
cartItems.add(str);
return new String("The item has been added");
} else return new String("The item already existed"); }
public String removeItem(String str) {
if (cartItems.contains(str)) {
cartItems.remove(str);
return new String("The item has been removed");
} else return new String("The item does not exist");
}
......
......
}
Assume that the Cart object needs to be made into an EJB, which can be called remotely by EJB clients through a Java standalone application.
1. Write a remote interface for the EJB by using relevant annotations.
2. Use EJB annotations to modify the Cart object into an EJB.
3. Write a Java standalone application to call the addItem() method of the Cart EJB.
Note: to make your code concise, Java import statements are not required, and you can use any Java SE or EE APIs directly. You don't need to provide Java source code files; you will need to provide the code in your assignment Word document.
Question 5 -
On completion of the lab projects of Week 11, answer the following questions that are related to SOAP web service.
1. Explain the key difference between a web service application and a general client/server application.
2. Describe the main components of WSDL document of web service by using the example CardValidator WSDL document.
3. Describe why WSDL document is important for creating a web service client.
4. What is the standard format of messages that are exchanged between a SOAP client and a SOAP server? In this example project, which object is transformed to that format and how is it recognised for such a transformation?
Question 6 -
On completion of the lab projects of Week 12, answer the following questions that are related to JMS.
1. What is the key goal of messaging for enterprise computing?
2. To achieve the same goal in point 1 of this question, there are other Java technologies, list and describe 2 of these technologies.
3. Using JMS as the discussion context, describe what is asynchronous messaging and how to respond to asynchronous messages.
You will need to address the above issues (even if it is a programming question) in a Microsoft Word document.