are laced throughout the course, designed to

advertisement
LP520: Advanced J2EE Design
Patterns
Duration: 5 days
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
together in a complete application.
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.
Overview
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.
Student Materials
Student Materials include a Student Guide complete
with a detailed written lab books, as well as our
workshop-specific Student Developer Resource CD,
complete with workshop labs and solutions;
workshop software, pertinent javadocs, technical
education papers, specifications and freeware.
This course provides practical guidelines that are
critical for successfully developing and deploying
applications using the J2EE technology. The primary
focus is on providing guidelines for JSP, Servlet and
EJB (including Message Driven Beans) patterns that
enhance application evolution and performance. The
course is modularized so that it may be tailored for a
specific audience.
•
•
Who Can Benefit
• Technical managers, architects and developers
who want a thorough understanding of J2EE Patterns
Essentials
• Java developers who want to build distributed
object-oriented multi-tier systems
Prerequisites
•
•
•
•
•
Experienced programmers with strong Java
One year of Java programming experience
Basic knowledge of distributed computing, (RMI
and/or CORBA/Java, J2EE)
Working Knowledge of Servlets, JSP & EJB
Multi-tier application and database experience
helpful
Workshop Overview
Throughout the five-day course, students will be led
through a series of progressively advanced topics,
where each topic consists of lecture, group
discussion, comprehensive hands-on lab exercises,
and lab review.
Multiple detailed lab exercises and demonstrations
Skills Gained
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Understand Tag Libraries and how to leverage them
in JSPs.
Understand Servlet design patterns:
Reduce View/Controller coupling using a Command
pattern based dispatcher
Create clean servlet systems using State pattern
based controllers and the URL Mapper pattern
Efficiently access EJBs from Servlets using the EJB
Home Cacher & Shadow-Method patterns
Understand EJB design patterns:
Choose the best kind of EJB for a particular job
Use the Synchronous Façade pattern to
encapsulate workflow logic and access to Entity
Beans
Use the Asynchronous Façade pattern to
encapsulate access to EJB and JMS resources and
perform asynchronous method invocation on them
Use Program Logic Factoring in EJB
Use Stateful Session Beans and the Iterator pattern
to cache and serve data iteratively
Improve Entity Bean performance and usability with
the Value-Object, Bulk getter/setter and Sub-set
Value Object patterns
Use the Updateable View pattern & triggers to
abstract multiple tables with Entity Beans
Use the BMP multi-table façade to abstract multiple
tables
Understand and use the Creational and
Destructional Dependency pattern
Use the Home Method pattern for group operations
on EJB
Use the Common Interface pattern
Learn Entity Bean best practices
Understand and use CMP Relationships
_________________________________________________________________________________________________
www.pec.stedwards.edu
www.seupec.com
Hands-On Learning
Throughout this in-depth workshop students will be
led through a series of progressively advanced
topics, where each topic consists of lecture, group
discussion, comprehensive hands-on lab exercises,
and lab review. This training is about 50% hands-on
lab and 50% lecture. Over 15 complete lab
projects 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
together in a complete multi-tier internet business
application. 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.
Detailed Course Outline
Session 1: J2EE Architecture, terminologies and
MVC
• Overview of J2EE & the core J2EE APIs
• The MVC architecture in J2EE and the roles
of JSPs, Servlets and EJBs in this
architecture
Session 2: JSP Programming
• Brief introduction to basic JSP programming
• Tag Libraries - creating and using custom
tags
• Program Logic Factoring using Tags
• Demo or Lab: Extensive Tag Library Lab
Session 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
• Demo or Lab: Hands-on review or demo of a
variety of Core Patterns: State Pattern; URL
Mapper; Shadow Method; Command Pattern
Session 4: Patterns for EJBs
• Comparison of Session and Entity Beans
• Patterns for Session Beans
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Façade Pattern
Lab: Façade Pattern; Asynchronous Façade
Pattern
Asynchronous Façade Pattern
Program Logic Factoring and EJBs
Lab: PLF in EJBs
Stateful Session EJB and the Iterator Pattern
Lab: Iterator Pattern lab
Stateless Session EJB and the Iterator
Pattern
Lab: Stateless Iterator using Singleton Lab
Common Interface Pattern
Lab Common Interface Lab
Bootstrap Session Layer Pattern
Lab: Bootstrap Session Layer Pattern
Patterns for Entity Beans
Value Object and Bulk Getter/Setter Pattern
Lab: Lab for illustrating Value object and
get/set pattern
Subset Value Object Pattern
Lab: Subset Value Object Lab
Updateable View Pattern
Lab: Updateable View without Trigger Lab
Updateable View Pattern using Triggers
Lab: Trigger based Updateable View pattern
lab
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
study.
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
_________________________________________________________________________________________________
www.pec.stedwards.edu
www.seupec.com
•
•
•
•
•
review.
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.
________________________________________________________________________________________
www.pec.stedwards.edu
www.seupec.com
Download