|
|
|
|
|
|
|
|
|
Enterprise JavaBeans (EJB 2.0) |
Duration: 5 days |
|
|
- Enterprise Java Developers
- System Designers and Architects
|
|
Knowledge
of EJB is required. We recommend our Java course,
|
|
|
Description |
This course has been specially designed for professionals looking to build large-scale, scalable, robust, secure, component-based, high-performance, distributed and transactional systems using the EJB 2.0 specification and deploying it as a J2EE compliant application. You will learn about EJB design patterns and best practices. You will learn the concepts and architecture of Entity Bean, Session Beans, and Message-Driven beans. You will also learn about modelling the entity-relationships from the enterprise database schema and enforcing those relationships in the EJB compoment framework using Container-Managed relationships. These concepts are further reinforced through the use of well-crafted exercises at appropriate points throughout the course. For this course, we support the following application servers
- WebSphere Application Server
- WebLogic
- Oracle
- JBoss
And the following IDEs are also supported
- WebSphere Studio Application Developer (WSAD)
- JBuilder
- VisualCafe (WebGain)
|
|
Objectives |
This course aims to teach a set of advanced skills necessary to implement robust, scalable, reusable enterprise applications using the EJB 2.0 specification. This course also provides a comprehensive coverage of issues in the EJB architecture and its supporting APIs. On completion, attendees:
- Will be able to develop robust and industrial-strength applications using EJB 2.0
- Package the application to deploy it on a J2EE-compliant server
- Would have mastered the EJB architecture
- Would have mastered the EJB APIs
- Be able to build Session beans (stateless and stateful)
- Be able to build Entity beans (container-managed persistense (CMP) and bean-managed persistense(BMP))
- Be able to build Message-Driven beans
- Use container-managed relationships (CMR) to model relationships between entity beans
- Use the EJBQL query language to implement custom finders and EjbSelect methods
- Master the EJB transactional model
- Master the EJB security model
|
|
Course Outline |
OOA/D for Enterprise Development
- System Development Process
- Domain Modeling: Informal Sketch
- Instance Diagram
- Structure: Type Diagram
- System Analysis: Context Model
- Design: Architecture
- Sequence Diagram
- Design Class Diagram
- Type Model
Enterprise JavaBeans
- EJB Architecture
- EJB Container services
- Entity Beans
- Session Beans
- Message-Driven Beans
- Local versus Remote EJBs
Entity Beans
- Properties of entity beans
- Container-managed persistence (CMP) entity beans
- Bean-Managed Persistense (BMP) entity beans
- EJB 2.0 container-managed relationships
- Deployment descriptors for entity beans
- Container-Managed Persistense
- Abstract Persistent Schema
- Persistense Synchronization
- Caching of Entity Beans
- Mapping system model types
Advanced Topics in Developing CMP Beans
- CMP relationships and assignment semantics
- EJB Query language
- EJB QL queries - Select Clause
- EJB QL queries - From Clause
- EJB QL queries - Where Clause
- Writing complex EJB QL queries
- ejbSelect methods
- ejbHome methods
Developing BMP Entity Beans
- Why BMP Beans
- Life-cycle of BMP entity bean
- Activation and persistence of BMP beans
- Data source and BMP beans
- Using Data Access Objects to implement BMP beans
Session Beans
- Designing and implementing session beans
- Invoking entity beans from session beans
- Stateless
- Stateful
- Activation and Passivation
- Service locator pattern
- Session facade pattern
- Mapping actors and use-cases
|
|
Local Objects
- Issues in parameter passing in RMI
- Overview of Local Interface
- The EJBLocalObject interface
- The EJBLocalHome interface
- Local and Remote Interface
- Developing EJBs with Local Interface
EJB Query Language
- EJB QL Queries
- Select Clause
- From Clause
- Where Clause
EJB Transactions
- Overview of transaction concepts
- Container managed transaction attributes
- Bean managed transactions
- UserTransaction interface
- SessionSynchronization interface
- Exception handlings and transactions
Introduction to JMS
- Overview of Java Messaging Service
- JMS Messaging Styles
- Point-to-Point
- Publish-and-subscribe
- Administered Objects
- JMS Interfaces
- Steps to Develop JMS Applications
Message-Driven Beans (MDB)
- Overview of Message-Driven Beans
- Asynchronous vs synchronous components
- Association of MDB with JMS Destination
- Client View of an MDB
- Message-driven Bean Class
- onMessage() Method
- Message-driven Bean Lifecycle
EJB Security Architecture
- Overview of security issues in enterprise applications
- Security Roles and Principals
- EJB Security
- Issues in Authentication (declarative vs imperative)
- Class and instance security
- Security context propagation
Java Authentication and Authorization Services (JAAS)
- Overview of the JAAS Framework
- Authentication using LoginContext and LoginModule
- Using the JAAS configuration file to dynamically plug in modules
- Specifying permissions using JAAS policy files
EJB Design Patterns
- Data Transfer Object
- Facade
- Data Access Patterns
- Value-List Handler
- Value-List Assembler
- Business Delegate
- Aggregate Entity
- Object-Relational mapping
| |
|
|