Enterprising computing

      Implement a 3-tier enterprise application based on the following scenario.   The application scenario An online device sale company needs to implement an e-business system. The system is a typical 3- tier enterprise application that integrates a presentation tier, a business tier and a persistence tier. After user requirement and budget analysis, the executive of IT Department of the company has decided to use Java EE open source technology and related platforms and tools for the implementation of the system. As an officer of the IT Department of the company, you are delegated as the developer of the system core. To accomplish this task, you will need to design, implement, test and document the e-business system. The assignment specification 1. The persistence tier a. The company sells only 2 products, laptops and smart phones, and may extend to more products in the future through this general framework. A major assumption is that the 2 products share some common properties. For example, both laptops and smart phones have the properties of Brand, Model, Size of Display, Weight, OS, Camera and Wi-Fi etc. However, a laptop has speciality properties such as a Network Interface (e.g. 1000G Ethernet LAN), Hard Drive and Optical Drive etc.; a smart phone has speciality properties such as Cellular Connectivity (e.g. 4G 700/750/800/900/1800/2100), Location (e.g. GPS) and SIM Card (e.g. Nano or Micro). b. The product information must be persisted into a Derby database. You are required to use Java Persistence API (JPA) to persist the product information into a Derby database. In order to reduce code redundancy, you should use inheritance mapping. That is, in your design and implementation, the Java entity classes should be at least 3 with 1 class as the super class to abstract the common properties and operations for the 2 products and the other 2 classes as the sub-class for the specialty of each product. You are required to use the JoinedSubclass Strategy (detailed from page 170 of the textbook) in your design and implementation. c. The company needs to store customer details and customer orders. You are required to use entities to persist customer details and customer orders. The relationship between a customer and his/her orders must be one-to-many (detailed from page 156 of the textbook), i.e. a customer can have multiple orders, and each order is just for one product item only. 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.   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 product details, customer details and order details and retrieve these saved information later on. Presenting exception messages, e.g. a user doesn’t enter data for a required text field, is necessary and required for this tier