Enterprise JavaBeans (EJB) is a managed, server-side component architecture for modular construction of enterprise applications.Enterprise Java Beans (EJB) is a development architecture for building highly scalable and robust enterprise level applications to be deployed on J2EE compliant Application Server such as JBOSS, Web Logic etc.
All attendees should have a basic knowledge of HTML and CSS.
It is a 20 days program and extends up to 2hrs each.
The format is 40% theory, 60% Hands-on.
It is a 5 days program and extends up to 8hrs each.
The format is 40% theory, 60% Hands-on.
Private Classroom arranged on request and minimum attendies for batch is 4.
Introduction Enterprise JavaBeans
Introducing Enterprise JavaBeans
Position Java EE and Enterprise JavaBeans
Explain the need for Enterprise JavaBeans
Define purpose of Enterprise JavaBeans.
Understand the key features of the EJB Specification.
Explain the relation between EJB and CORBA
Explain how EJBs relate to "ordinary" JavaBeans.
Discuss different architectural roles for EJBs
Components of the EJB Architecture
List different types of EJBs
List different types of Session Beans (stateful, stateless and singleton)
List different client view types
List the primary components in an EJB server.
Understand local, remote and no-interface views
List services the container may provide to the bean.
Understand Message Driven Beans
Describe the relationship between Web Services and Enterprise Java Beans
Describe the purpose of the EJB jar file.
Understand lightweight EJBs in Web Tier (war file)
Writing Session Beans
Writing the business interface and implementation
Understand the life-cycle of a session bean
Describe the difference between a stateful, stateless and singleton session bean.
Understand the semantics of a Business Interface
Understand restrictions imposed on Remote Business Interfaces
Using asynchronous invocations
Understand how to implement Session Beans
List the different Life-cycle callback interceptor methods
Understand stateful session bean removal
Writing beans using no-interface views
Explain the differences between a system error and an application error.
Explain which exceptions should be thrown to indicate system errors.
Explain which exceptions should be thrown to indicate application errors.
Describe how the container handles exceptions thrown by a bean.
Explain the @ApplicationException annotation
Preview effect of exceptions onContainer Transaction
Configuration and Deployment
Understand the overall structure of an ejb-jar
Configure environment information to the deployment descriptor.
Configure resource factory references.
Configure references to resources and other EJBs
Understand dependency injection
Understand different ways of having a container inject values
Understand limitations of Java EE dependency injection
Understand alternatives to obtaining resources and beans
Successfully deploy a session bean to a server.
Discuss when to use an XML deployment descriptor and/or annotations
Explain how to develop an interceptor
Explain default interceptors
'Apply' interceptors to bean method(s)
Understand the concept of the Timer Service
Scheduling calendar-based, specific time or after an elapsed time
Understanding calendar-based expressions
Understand values, wild cards, lists, ranges and increments
Understand Timer persistence
Introduce the API
Introduction to Exposing a Session Bean as a Web service
Show an example of how to implement a web service as a Stateless Session Bean
Show how to write the web service endpoint
Show how to write the Session Bean implementation for a web service endpoint
Understand the restrictions placed upon the arguments and return types.
Understand which clients can access your bean
Fundamentals of EJB Transactions
Describe the need for transaction control.
Explain isolation levels.
List the isolation levels.
Explain which isolation levels should be used.
List the three styles of transaction management.
Explain relation between the Persistent Context EntityManager and transaction.
Understand Optimistic vs Pessimistic locking schemes
Implement Optimistic concurrency on Entities using versioning
Implement Pessimistic concurrency on Entities using Lock modes
List the six transaction attributes.
Name the annotations used to specify CMT.
Name the tag/value pair used in DD to specify CMT.
List which methods of session/entity beans (2.1) require transaction attributes to be specified in DD.
Explain how a bean would roll back a transaction.
Explain how transactions influence the container-managed transaction.
Explain the purpose of the SessionSynchronization interface.
Describe how each of the three methods in this interface provides transaction control to your bean.
Correctly indicate in the DD that the bean will be managing its own transactional state.
Use the appropriate API in the bean to create and terminate transactions.
Explain the issues of BMT with stateful/stateless session beans.
Explain the issues of BMT with and EJB 2.1 Entity Beans.
Enterprise Java Beans Security
Define users, principals and roles.
Describe what security information is placed in DD.
Explain how container may provide security implementation.
Introduction to JMS
Understand what JMS is
Understand what JMS can be used for
Understand the JMS API
Know the different message Domains
Understand the difference between Queues and Topics
See how to program a queue sender and receiver
Know the different messages
Understand message acknowledgment
Understand JMS Transactions
Understand the message header
Understand how to implement different messaging models
EJB3.0 Message-Driven Beans
Understand the life-cycle of a Message Driven Bean
Explain why message-driven beans do not have home or remote interfaces.
Understand how to write EJB 3.0 Message Driven Beans