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.

Note: a separate document for the demonstration of the system functions is available on the unit web site. You will need to use that demonstration document as a part of the assignment specification. You will need to ensure that you fully understand the scenario and project specification before developing the project; you will also need to ensure the developed system fulfilling the function requirements as shown in the demonstration document.

The whole team will need to negotiate and divide the whole project into multiple tasks, which are allocated to the team members. The team members need to communicate frequently so that each member's software modules can be integrated into a complete system to fulfil the project specification.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.