LP520 Advanced J2EE Design Patterns

Document Sample
LP520 Advanced J2EE Design Patterns Powered By Docstoc
					                                                         are laced throughout the course, designed to
                                                         reinforce fundamental skills and concepts learned in
                                                         the lessons. Because these lessons, labs and
                                                         projects are presented in a building block fashion,
                                                         students will gain a solid understanding of not only
                                                         the core concepts, but also how all the pieces fit
LP520: Advanced J2EE Design                              together in a complete application.
Patterns                                                 At the end of each lesson, developers will be tested
                                                         with a set of review questions to ensure that he/she
                                                         has fully understands that topic.
Duration: 5 days

Overview                                                 Student Materials
J2EE technology is rapidly gaining acceptance and        Student Materials include a Student Guide complete
many large and small projects are being                  with a detailed written lab books, as well as our
implemented using this technology. Despite its           workshop-specific Student Developer Resource CD,
maturity and relatively easy programming model           complete with workshop labs and solutions;
(compared to CORBA, for instance), it is very easy to    workshop software, pertinent javadocs, technical
end up writing non-optimal applications. This is         education papers, specifications and freeware.
primarily due to the vastness of the technology and a
lack of application development guidelines that help
Architects, Designers and Developers leverage the        Skills Gained
technology.                                              •   Understand Tag Libraries and how to leverage them
                                                             in JSPs.
This course provides practical guidelines that are       •   Understand Servlet design patterns:
critical for successfully developing and deploying       •   Reduce View/Controller coupling using a Command
applications using the J2EE technology. The primary          pattern based dispatcher
focus is on providing guidelines for JSP, Servlet and    •   Create clean servlet systems using State pattern
EJB (including Message Driven Beans) patterns that           based controllers and the URL Mapper pattern
enhance application evolution and performance. The       •   Efficiently access EJBs from Servlets using the EJB
course is modularized so that it may be tailored for a       Home Cacher & Shadow-Method patterns
specific audience.                                       •   Understand EJB design patterns:
                                                         •   Choose the best kind of EJB for a particular job
Who Can Benefit                                          •   Use the Synchronous Façade pattern to
• Technical managers, architects and developers              encapsulate workflow logic and access to Entity
who want a thorough understanding of J2EE Patterns           Beans
Essentials                                               •   Use the Asynchronous Façade pattern to
• Java developers who want to build distributed              encapsulate access to EJB and JMS resources and
object-oriented multi-tier systems                           perform asynchronous method invocation on them
                                                         •   Use Program Logic Factoring in EJB
Prerequisites                                            •   Use Stateful Session Beans and the Iterator pattern
•   Experienced programmers with strong Java                 to cache and serve data iteratively
•   One year of Java programming experience              •   Improve Entity Bean performance and usability with
•   Basic knowledge of distributed computing, (RMI           the Value-Object, Bulk getter/setter and Sub-set
    and/or CORBA/Java, J2EE)                                 Value Object patterns
•   Working Knowledge of Servlets, JSP & EJB             •   Use the Updateable View pattern & triggers to
•   Multi-tier application and database experience           abstract multiple tables with Entity Beans
    helpful                                              •   Use the BMP multi-table façade to abstract multiple
Workshop Overview                                        •   Understand and use the Creational and
                                                             Destructional Dependency pattern
Throughout the five-day course, students will be led
through a series of progressively advanced topics,       •   Use the Home Method pattern for group operations
where each topic consists of lecture, group                  on EJB
discussion, comprehensive hands-on lab exercises,        •   Use the Common Interface pattern
and lab review.                                          •   Learn Entity Bean best practices
                                                         •   Understand and use CMP Relationships
Multiple detailed lab exercises and demonstrations
Hands-On Learning                                            in the lessons. Because these lessons, labs and
                                                             projects are presented in a building block fashion,
Throughout this in-depth workshop students will be           students will gain a solid understanding of not only
led through a series of progressively advanced               the core concepts, but also how all the pieces fit
topics, where each topic consists of lecture, group          together in a complete multi-tier internet business
discussion, comprehensive hands-on lab exercises,            application. At the end of each lesson, developers
and lab review. This training is about 50% hands-on          will be tested with a set of review questions to ensure
lab and 50% lecture. Over 15 complete lab                    that he/she has fully understands that topic.
projects are laced throughout the course, designed
to reinforce fundamental skills and concepts learned

                                             Detailed Course Outline

Session 1: J2EE Architecture, terminologies and                  •   Façade Pattern
MVC                                                              •   Lab: Façade Pattern; Asynchronous Façade
   • Overview of J2EE & the core J2EE APIs                           Pattern
   • The MVC architecture in J2EE and the roles                  •   Asynchronous Façade Pattern
       of JSPs, Servlets and EJBs in this                        •   Program Logic Factoring and EJBs
       architecture                                              •   Lab: PLF in EJBs
                                                                 •   Stateful Session EJB and the Iterator Pattern
Session 2: JSP Programming                                       •   Lab: Iterator Pattern lab
   • Brief introduction to basic JSP programming                 •   Stateless Session EJB and the Iterator
   • Tag Libraries - creating and using custom                       Pattern
       tags                                                      •   Lab: Stateless Iterator using Singleton Lab
   • Program Logic Factoring using Tags                          •   Common Interface Pattern
   • Demo or Lab: Extensive Tag Library Lab                      •   Lab Common Interface Lab
                                                                 •   Bootstrap Session Layer Pattern
Session 3: Patterns for HTTPServlets                             •   Lab: Bootstrap Session Layer Pattern
   • Overview of Servlet Technology                              •   Patterns for Entity Beans
   • State Pattern based Controller                              •   Value Object and Bulk Getter/Setter Pattern
   • URL Mapper Pattern                                          •   Lab: Lab for illustrating Value object and
   • EJB Home Cacher Pattern                                         get/set pattern
   • Shadow Method Pattern                                       •   Subset Value Object Pattern
   • Command Pattern Servlet Dispatcher                          •   Lab: Subset Value Object Lab
   • Demo or Lab: Hands-on review or demo of a                   •   Updateable View Pattern
       variety of Core Patterns: State Pattern; URL              •   Lab: Updateable View without Trigger Lab
       Mapper; Shadow Method; Command Pattern
                                                                 •   Updateable View Pattern using Triggers
                                                                 •   Lab: Trigger based Updateable View pattern
Session 4: Patterns for EJBs
   • Comparison of Session and Entity Beans
   • Patterns for Session Beans

Why Choose This Course?
•   Students will learn how to code, use (and reuse!) essential advanced J2EE skills and concepts properly, using
    best coding practices, grounding them for advanced J2EE curriculum, and will be prepared for independent
•   Each lesson has performance driven objectives that ensure students will learn technologies and hands-on
    skills core to essential web services development – nothing more, nothing less. Progressive labs are designed
    in such a way that students get a firm grasp on fundamental skills while they work toward building a complete
    web services application. All lessons have clear objectives, are fundamental to learning core EJB
    programming practices, and are reinforced by hands-on code labs and solid practical examples.
•   A detailed Work Book accompanies this course to guide students through hands-on exercises and projects.
    Formal written exercises, tutorials and code solutions ensure hands-on work is clear, concise and useful, both
    during class and afterwards. Solution code is presented in an easy to use self-study format for future use and
•     Trivera’s instructors and course authors are also skilled mentors, J2EE/EJB & web services developers and
      architects. We believe that learning, using and maintaining solid software execution and delivery methods are
      as important as gaining sharp coding skills. Best Practices for software development and execution, beyond
      technical coding skills, are enforced throughout all of our courses.
•     We have a long-standing relationship with IBM. In 1999 and 2000, our team trained over 500 IBM Visual Age
      for Java developers in EJB technologies to prepare them to write the WebSphere Application Server product
      line. We also authored several Enterprise Java seminars on their behalf, delivering them globally to IBM
      clients, partners, and technology team members.
•     We have written custom EJB and J2EE development courses for: Sun Microsystems (SL-351); Perot Systems,
      SilverStream, IBM, Unify, BEA and others.
•     Our team was selected to write the online J2EE, EJB, EJB CMP-CMR and Web Services Tutorial Series for
      IBM developerWorks® (www.ibm.com) These are the same instructors who train our classes and author the
      courseware. Most of our trainers/consultants have also authored additional articles on web services, EJB<
      Struts, J2EE and advanced Java topics, and are recognized speakers and presenters on the industry technical
      seminar circuit.
•     Our team is comprised on several successful published authors. Members of our team have written or
      contributed to: Mastering Eclipse (6/04); Professional Jakarta Struts (Wiley, 2003),; Using Java Tools for
      Extreme Programming; Mastering Resin; Mastering TomCat and others.

For Additional Information
All courses can be brought onsite for a private presentation, customized to suit your unique requirements or goals.
Our team of development experts, architects and mentors are also available to help your team design and deliver
your critical development project, while transferring critical skills to your team through our unique Collaborative
Mentoring Programs and educational services.


Shared By: