The application scenario Century Entertainment (CE) is a chained movie and electronic games rental store. To manage its growth CE has planned to implement a Renting Information Management System (RIMS). The system will be a 3-tier enterprise application that integrates a presentation tier, a business tier, and a persistence tier. The technology department of CE has decided to use Java EE and other open source technologies namely Glassfish application server and Derby database server to build and implement RIMS. CE has recruited you to deliver RIMS that meets their following tiers of their application specifications (Persistence, Business, and Presentation tiers).
To accomplish this task, you will need to design, implement, and document the 3-tiers of RIMS. The application (or assignment) specification
1. The Persistence tier a) CE rents movies and electronic games (that play on different platforms such as PC, PlayStation, and Xbox). A major assumption is that both products (movies and games) share some common properties such as ID, title, description, rating (such as PG, G, M, M+, R) and date of release.
b) In order to minimise code redundancy, you should use inheritance mapping. In your design, you should implement three (3) entity classes namely, Product, Movie and Game. You need to implement the Product class as the super class, wherein Movie and Game classes will inherit the Product super class.
c) You may consider the following attributes for Movie and Game entities: o Movie: Director’s name, Running length in minutes (e.g. 180), language o Game: Developer Studio’s name (e.g. EA Sports, Microsoft, Ubisoft), platform (e.g. PlayStation, Xbox, PC)
d) The products information must be persisted. You are required to use Java Persistence API (JPA 2.0) to persist them in Derby database. To design the entities, you must use either the Joined-Subclass Strategy (detailed on page 115 of the textbook) or the Mapped Superclass Strategy (detailed on page 120 to 121 of the textbook).
e) Besides their product information, CE also needs to store customer details and renting information. You are required to use entities to persist this information. You must implement the relationship between a Customer and the Rent as one-to-many unidirectional (detailed on page 100 to 103 of the textbook). This means, a customer can rent multiple products (movies, games, or a combination of both). Note: Customer and Rent entities may be comprised of attributes like: o Customer: First name, Last name, Street address … o Rent: Item rented, Number of days hired, Return due date …
f) In summary, you are required to design and use five (5) entities, namely Product, Movie, Game, Customer, and Rent.
2. The Business tier
a) You need to develop business tiers by using Enterprise Java Beans (EJB 3.1). These business tiers will process the data for persistence and/or retrieve the information requests coming from the presentation tier. The EJBs then interact with the persistence tier to persist products, Customer, and Rent information or to retrieve the persisted information later on.
b) 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.
Use the order calculator below and get started! Contact our live support team for any assistance or inquiry.[order_calculator]