Enterprise Java Beans Workshop
Outline
|
Course 532 - 3 Days
|
Three days In this course the Java programmer will get
an understanding of the Enterprise JavaBeans (EJB) architecture,
and gain the skills necessary to develop EJBs effectively
for enterprise development efforts. EJB's position at the
heart of the Java Enterprise platform and the use of EJB
application servers as the backbone of large-scale distributed
systems are studied. We consider the advantages of the application
server architecture - transaction control, security, persistence,
scalability through pooling and clustering - and study the
development process for entity and session beans in depth.
The J2EE reference implementation is used for all demo and
lab work, and we emphasize portable EJB 1.1 code.
The focus for this course is on end-to-end connectivity. The
course follows a path roughly from the data layer to the presentation
layer, so we look at entity beans first, and work demos and
exercises in both Bean-Managed and Container-Managed Persistent
Beans. Then the EJB session layer is considered, and both
stateless and stateful session beans are developed. As part
of the lab work, these are hooked to provided JSPs to illustrate
the complete system and typical architecture.
Once the basics of designing, developing and deploying
EJBs are understood, we study declarative and programmatic
transaction control. The EJB security architecture is also
considered, and a simple role-based authorization design
applied to the course's main lab project. The course concludes
with a chapter on best-practice EJB development: optimizations,
design patterns and implementation techniques.
Objectives
- Understand the role of Enterprise JavaBeans in enterprise-level
systems development, and its relationship to other J2EE
technologies such as JSP, servlets, JMS, CORBA, and XML.
- Understand the EJB architecture: the role of the EJB
container in mediating contact between the client and
the bean, transaction control, authorization control,
and the importance of object pooling.
- Understand the development cycle for beans: Java source
code and compilation, XML deployment descriptors, EJB
compilation and deployment, and use by an application
server.
- Understand the role of entity beans, their lifecycle
and interactions with the container.
- Develop and test BMP and CMP entity beans and understand
the importance of each of the entity-bean methods in assisting
the container in pooling.
- Understand the role of session beans, their lifecycle
and interactions with the container.
- Develop and test stateless and stateful session beans
and effectively manage passivation/activation cycles.
- Use the bean context interfaces to assist with persistence
code and to correctly establish bean-to-bean communication.
- Understand the EJB transaction architecture and apply
transaction attributes to EJB systems.
- Understand the EJB security architecture and apply roles
and authorization attributes to EJB systems.
- Tune EJB application servers and EJB code for performance.
- Understand and apply design patterns that are important
to common distributed systems and EJB systems particular
Special Topic
This course touches on Java Server Page (JSP) technology.
With JSP you can separate the presentation from the business
logic. JSP is both very simple to use and also very powerful
in the way it can leverage other Java technologies, such
as JavaBeans and JDBC. We recommend that you also consider
taking OKI's Java Server Page course
Who Will Attend
Developers who already have a solid knowledge of Java Programming.
Prerequisites
OKI's Java Programming or a good background
in Java programming, including object-oriented use of the language,
GUI programming, and an understanding of streams and serialization.
Some experience with distributed systems development, especially object-based
systems such as Java RMI, CORBA, or COM is a plus. Some knowledge
of JDBC is needed to understand the EJB persistence model.
Exercises
Your learning experience will be reinforced
with the many labs, examples, and exercises. |