- Architects
- Designers
- Consultants
- Developers
- Technical managers
Java Enterprise Edition JEE 5 Training Course
Duration: 5 Days
Course code: SS-JEE-002
Audience
Prerequisites
Description
Objectives
- Develop robust and industrial-strength enterprise applications using Java EE 5
- Develop business objects using Enterprise JavaBeans (EJB) 3.0
- Master the Java EE 5 architecture
- Master design principles, best practices and patterns
- Master major Java EE 5 APIs
- Learn EJB 3.0
- Model persistent data components using Entities and the Java Persistence API (JPA)
- Implement queries using JPQL
- Model business Use Cases using Session Beans
- Model asynchronous business processes using Message-driven beans (MDB)
- Schedule jobs using the EJB Timer Service
- Use EJB 3.0 Interceptors
- Use annotations for code injection
- Build Servlets, JSP for the presentation tier
- Use the scripting features of JSP Expression Language (JSP EL)
- Use the JSP custom standard tag library, JSTL
- Create Custom Tags
- Use JAXP and JAXB to process XML content
- Use JAX-WS to build Web Services
- Use JMS to produce and consume asynchronous messages
Outline for Java Enterprise Edition JEE 5 Training Course
Java EE 5 Architecture
- Overview of the Java EE 5 Architecture
- Design issues in implementing e-business and enterprise applications
- Design patterns for implementing e-business and enterprise applications
- Java EE 5 Components, Containers and Connectors
- Overview of Java EE 5 APIs
- Major roles in designing, developing, and deploying Java EE 5 applications
- Application packaging and deployment using WAR, JAR and EAR files
Enterprise JavaBeans (EJB) Architecture
- EJB Architecture
- Designing and implementing Enterprise JavaBeans
- Local vs. remote EJB
- Entities
- Session beans
- Message-driven beans
- Interceptors
- Annotations and code injection
Developing Entities
- Java Persistence API (JPA)
- Entity manager
- Entity context
- Modeling entity relationships
- Modeling entity inheritance
- Mapping persistent objects
- Annotations
- Transaction propagation
Java Persistence Query Language (JPQL)
- Overview of JPQL
- Writing portable queries based on Entities
- Building native queries for performance
- Building custom finders
- Polymorphism
- Automatic storage of query results in plain old Java objects (POJO)
- Lazy loading for performance
Developing Session Beans
- Session context
- Designing and implementing session beans
- The life cycle of a stateless session bean
- The life cycle of a stateful session bean
- Service locator pattern
- Session facade pattern
Java Message Service (JMS)
- Introduction to messaging systems
- Point-to-point model
- Publish-and-subscribe model
Developing Message-Driven Beans (MDB)
- Message-Driven Beans and JMS destination
- Client view of MDB
- MDB lifecycle
- MDB with JCA resource adapter
EJB Timer Service
- Overview of Timer Service
- Timer Service APIs
- Programming with Timer Service
EJB Interceptors
- Aspect Oriented Programming (AOP) in JEE
- Intercepting methods
- Building Interceptor Classes
EJB Transactions
- Container vs. Bean managed transactions
- Container-managed transaction attributes
- Transaction propagation
- Accessing the UserTransaction service using injectors
- Invoking the UserTransaction service using JTA
- Transaction Isolation attributes
- SessionSynchronized Stateful Session Beans
- Transactions and exceptions
- Using annotation to specify transaction attributes
JEE Security
- Security annotations
- Roles, Groups and Permissions
- Declarative vs. Programmatic security
- Accessing the Security services using the EJB and the Servlet context
- Switching the security context
Migrating Pre-JEE 5 Applications
- Interoperability of EJB 3.0 with earlier components
- Adapting EJB 3.0 session beans to earlier clients
- From entity beans (EJB 2.x) to JPA entities
- From deployment descriptors (XML) to annotations
- Coexistence of EJB 3.0 and EJB 2.1 APIs in bean classes
Java Servlets
- Overview of Java Servlets (2.5)
- Using Servlets to generate dynamic web pages
- HTTP Servlets
- Session Management
- Filters
- Multi-threading issues in Servlet design
Java Server Pages
- Overview of Java Server Pages (JSP 2.1)
- JSP scripting
- The EL Expression Language
- Using the JSP Standard Custom Tag Library (JSTL)
- Actions and implicit objects
- Session management
- Accessing JavaBeans in JSP pages
- Model-2 web tier framework
- Business delegate pattern
Java Server Faces (JSF)
- The JSF component model
- The JSF request-response life cycle
- Building Web applications using JSF
- Configuring managed beans
- Navigation rules and workflow
- Best practices
XML Processing
- Introduction to XML
- SAX and DOM parsers
- XML processing with JAXP
- XML and Java interoperability with JAXB
Introduction to Web Services
- What is a Web Service?
- Components of a Web Service
- Building Web services using JAX-WS
- Exposing session beans as web service end points
Java Mail
- Introduction to the JavaMail API