Enterprise Java Development@TOPIC@

Chapter 21. eMarket Project 2 Description

N-Tier Application

21.1. Purpose
21.1.1. Goals
21.1.2. Objectives
21.2. Technical Overview

The project will continue along two parallel paths; eSales and eBidbot. However, this time we will add several new project types; EJB, EAR, WAR, and Test. We will add all new project types to eSales. We will add (or migrate to) the WAR type to eBidbot. These new sub-projects will become siblings to your existing eSales Impl -or- BO, DAO, and BLImpl sub-modules. For eBidbot, you have the option of making the WAR a sibling module, the only module, or migrating the existing Impl project to be a WAR project ( and remain with a single module for eBidbot). The new projects will depend on your legacy work. The remote interface of the EJB will also require specific design of what gets externalized to the client. The remote clients do not share the same address space we had in Project 1 and we cannot afford to serialize the entire contents of a database full of related information. Data Transfer Objects (DTOs) will be part of the EJB remote interface design.

You have finished a significant amount of eSales during Project 1; the O/R mapping and core business logic of a non-trivial business model. You will now host the data access tier and business logic within an EJB component. This EJB component will supply the EntityManager, control transaction boundaries, provide local interaction for the Web Tier, and a RMI interface for remote clients. Security will be addressed in the next project. To limit the scope of the project, the Web UI requirements will be constrained to a limited number of use cases. You are to deploy eSales using an EAR and eBidbot using only a WAR.

eBidbot will require additional work as well. With a remote interface for eSales in hand and the ability to either simulate or operate with a live instance, we can now complete the rest of the the business logic that will also be hosted within an EJB tier. We'll try to keep the Web-UI minimal.

You may develop your Web tier in an alternate environment, such as Jetty. However, it must be submitted as part of the application that runs within JBoss/Wildfly.