Architecting J2EE Applications using Design Patterns -J2430 (Duration 5 days)

J2EE technology is rapidly gaining acceptance and many large and small projects are being implemented using this technology. Despite its maturity and relatively easy programming model (compared to CORBA, for instance), it is very easy to end up writing non-optimal applications. This is primarily due to the vastness of the technology and a lack of application development guidelines that help Architects, Designers and Developers leverage the technology.

This course aims to provide basic and advanced guidelines that are critical for successfully developing and deploying applications using the J2EE technology. It involves extensive hands-on labs that reinforce concepts discussed in lectures. The primary focus is on providing guidelines for JSP, Servlet and EJB (including MDB) patterns that enhance application evolution and performance. The course is modularized so that it may be tailored for a specific audience.

Who Can Benefit
  • Java developers who want to build distributed object-oriented multi-tier systems.
  • Java developers who want to use EJB.
  • The first session is suitable for Java developers or technical managers who want to gain a basic understanding of EJB.
  • Experienced programmers with strong Java background.
  • One year of Java programming experience (or equivalent).
  • Trans-World Resources, LLC courses: J24010 (JSPs, Servlets, JDBC and JNDI) & J24020 (EJBs, JMS, Security, CMP Relationships, JTA/JTS, etc.) or equivalent.
  • Basic knowledge of distributed computing, RMI and/or CORBA/Java, J2EE.
  • Multi-tier application and database experience helpful.
Skills Gained
  • Understand Tag Libraries and how to leverage in JSPs.
  • Understand Servlet design patterns including:
    • Command pattern based dispatcher
    • State pattern based controllers
    • URL Mapper Pattern
    • EJB Home Cacher Pattern
    • Shadow-Method Pattern
  • Understand Standard EJB design patterns including:
  • Value-Object pattern
  • Bulk getter/setter pattern
  • Sub-set Value Object Pattern
  • Common Interface Pattern
  • Updateable View Pattern
    • With Database trigger usage
  • Synchronous Fašade Pattern
  • Asynchronous Fašade Pattern
  • Program Logic Factoring in EJBs
  • Session EJBs and Iterator Patter

Course Content
Module 1: J2EE Architecture and MVC
  • Overview of J2EE
  • The MVC architecture in J2EE and the roles of JSPs, Servlets and EJBs in this architecture
Module 2: JSP Programming
  • Brief introduction to basic JSP programming
  • Tag Libraries - creating and using custom tags
  • Program Logic Factoring using Tags
Module 3: Patterns for HTTPServlets
  • Overview of Servlet Technology
  • State Pattern based Controller
  • URL Mapper Pattern
  • EJB Home Cacher Pattern
  • Shadow Method Pattern
  • Command Pattern Servlet Dispatcher
Module 4: Patterns for EJBs
  • Comparison of Session and Entity Beans
  • Patterns for Session Beans
    • Fašade Pattern
    • Asynchronous Fašade Pattern
  • Program Logic Factoring and EJBs
  • Stateful Session EJB and the Iterator Pattern
  • Stateless Session EJB and the Iterator Pattern
  • Common Interface Pattern
  • Bootstrap Session Layer Pattern
  • Patterns for Entity Beans
  • Value Object and Bulk Getter/Setter Pattern
  • Subset Value Object Pattern
  • Updateable View Pattern using Triggers
    • Pro's and Con's of using Triggers
    • Better Alternative - JDO based mapping to multiple tables
  • BMP Multi-table fašade
  • Creational and destructional dependency pattern
  • Home Method Pattern for grouped operations
  • Entity Beans best practices
    • CMP Relationship Exercise
Throughout the week:
  • Architectural Exercise to build an end-to-end application. Attendees will model, design and implement a proper J2EE application including legacy system integration



J2EE Part 1

J2EE Part 2