Enterprise Java Development@TOPIC@

Chapter 3. Course Projects

3.1. Project 0: Sanity Check
3.2. Project 1: Data Access Tier and Business Logic
3.3. Project 2: N-Tier Application
3.4. Project 3: Secure and Asynchronous Application
3.5. General Requirements
3.6. Submission Guidelines

Project 0 will require construction of your development tree and early implemementation of technical requirements for class projects. The intent of this short/skeletal project is to get the student to a concrete starting point for course topics, eliminate wrong assumptions, and to generate early discussions about the development and development options/trade-offs. Grading will be primarily a done/not-done grade with unsatisfactory starts given feedback and a request to re-submit.

Specific Goals:

Project 1 will require the development of the business objects, O/R mapping of the business objects to a relational database, and business logic to integrate the end-to-end application. The artifacts from project 1 will also be used as a foundation for all follow-on projects as well. There is no application server used in project 1. All code is executes within a single JVM and database.

Specific Goals:

Project 2 deploys the business logic and data tier to the server-side. to be hosted in an EJB tier; providing resource management (e.g., threads), transactions, security (added in project 3), and remote access. The user interface will be supplied through the use of Servlets and JSPs integrated with the EJBs. A remote client will also be developed for the unit tests.

Specific Goals:

Project 3 enacts security for Project 2 and adds publish/subscribe topics and timers. An application server is used to host the application logic and JMS components. A stand-alone client is also developed to interface with the appication through JMS messages.

Specific Goals:

  • Projects must build using Maven 3. Ant will be used late in the semester to wrap any interactive commands (e.g., launch JavaSE JMS subscriber)

  • All projects must be portable to build and deploy within grader and intructor environments. You may submit partial projects early to get portability feedback (not early content grading feedback).

  • Test Cases must be written using JUnit or another unit test frameworks that will run within a Maven surefire and failsafe environment.

  • Projects must be supplied with a README that points out how project meets requirements.

You should test your application prior to submission by

You will e-mail the projects to the grader and me with the following subject line

Your submission will include source zip and README (could be in source zip). You may also include pre-built artifacts if it does not add a huge size burden. The easiest way to do this is to zip up the project from the root after completing a build.

If you need to make a correction, the correction should have the following e-mail subject. The body should describe what you wish to revise.

Submission e-mails (mail to all):

  • Jim - jim.stafford@jhu.edu