Reference no: EM132399095
Assessment Specification
This assessment is to design, implement, test and document a 3-tier enterprise application. The application scenario and project specification are as follows.
The application scenario
A real estate company needs to implement an e-business system to manage properties. The system is a typical 3-tier enterprise application that integrates a presentation tier, a business tier, and a persistence tier. The real estate company has delegated this task to an IT service company. After user requirements and budget analysis, the executive of the IT service company has decided to use Java EE open source technology and related platforms for the implementation of the system. As an officer of the IT service company, you are assigned as the designer and developer for the system core. To accomplish this task, you will need to design, implement and test and document the e- business system.
The project specification
1. The persistence tier
a. The real estate company manages two types of property: properties for sale and properties for rent. A major assumption is that the two types of property have some common attributes such as property ID, property address, property description etc. However, a sale property has speciality properties such as Sale Price; a rent property has speciality properties such as Weekly Rent.
b. The property information must be persisted into a Derby database. You are required to use Java Persistence API (JPA) to persist the property information into a Derby database. In order to minimise code redundancy, you should use inheritance mapping. In your design, the Java classes should be at least 3 with 1 class as the super class to abstract the common attributes and operations for the two types of property and the other 2 classes are used to abstract other attributes and operations that are particular to a type of property, such as weekly rent price for a rent property or sale price for a sale property. You are required to use Java Persistence API (JPA) to persist the property information into a Derby database. You are required to use the Joined-Subclass Strategy in your design of entities.
c. The real estate company needs to persist the contact details of a property manager and his/her allocations, which is a list of properties that is assigned to him/her for sale or rent management. You are required to use entities to persist property managers and their allocations (managed properties). The relationship between a property manager and his/her allocations must be one-to-many unidirectional i.e. a property manager can manage multiple properties.
2. The business tier
Develop the business tier by using Enterprise Java Beans (EJB). The business tier will process the data persistence or retrieval requests from users and interact with the persistence tier for accomplishing the requests.
Note: to interact with the persistence tier, the EJBs need to use Java Persistence Query Language (JPQL) to query entities and return the processed results to the presentation tier.
3. The presentation tier
Develop the presentation tier by using JavaServer Faces (JSF). The presentation tier will provide a web-based user interface, which will allow users to enter property details, property manager details and allocation details and retrieve these persisted information later on. Presenting exception messages, e.g. a user doesn't enter data for a required textbox, is necessary and required for this tier.
Note: you need to review Backing Beans as the core component of presentation tier and its functions for JSF pages' navigation and do some personal research if necessary.
The submission includes:
1. Documentation
a. The diagram of architecture: it should include major components from all 3 tiers, which are depicted by using any formal method e.g. UML.
b. The typical workflow: you need to use an example workflow, e.g. allocating a property to a property manager, to describe the tier components interaction and JSF pages navigation.
c. The end user manual and test instruction: you are required to provide detailed instructions about how a user would compile and deploy the software application and use it to persist at least 2 sale properties and 2 rent properties, 2 property managers, where each property manager is allocated at least 2 properties, one for a sale property and the other for a rent property, for management.
2. Software
You will need to provide the complete implementation code of the 3 tiers, including Java source code and executable files, persistence files and JavaServer Faces xhtml pages. You need to provide your implementation by a NetBeans project, which must satisfy:
a. The project can be compiled directly without any further revision/re-development or debugging.
b. The generated .war application from the project can be executed on a separate GlassFish server (not the NetBeans embedded one) to interact with a separate Derby database (not the NetBeans embedded one).
Attachment:- Three-tier enterprise application.rar