Part-I Developing Applications for the Java EE Platform
Module 1 - Placing the Java EE Model in Context
- Describe the needs of enterprise applications and describe how Java EE 5 technology addresses these needs
- Describe the Java EE 5 platform application programming interfaces (APIs) and supporting services
- Describe the Java EE platform tiers and architectures
- Describe how to simplify Java EE application development using architecture patterns
Module 2 - Java EE Component Model and Development Step
- Describe the principles of a component-based development model
- Describe the asynchronous communication model
- Describe the process used and roles involved when developing and executing a Java EE application
- Compare the different methods and tools available for developing a Java EE application and related components
- Describe how to configure and package Java EE applications
Module 3 - Web Component Model
- Describe the role of web components in a Java EE application
- Define the HTTP request-response model
- Compare Java servlets and components and JSP components
- Describe the basic session management strategies
- Manage thread safety issues in web components
- Describe the purpose of web-tier design patterns
Module 4 - Developing Servlets
- Describe the servlet API
- Use the request and response APIs
- Forward control and pass data
- Use the session management API
Module 5 - Developing With JavaServer Pages Technology
- Evaluate the role of JSP technology as a presentation mechanism
- Author JSP pages
- Process data received from servlets in a JSP page
- Describe the use of tag libraries
Module 6 - EJB Component Model
- Describe the role of EJB components in a Java EE application
- Describe the EJB component model
- Identify the proper terminology to use when discussing EJB components and their elements
Module 7 - Implementing EJB 3.0 Session Beans
- Compare stateless and stateful behavior
- Describe the operational characteristics of a stateless session bean
- Describe the operational characteristics of a stateful session bean
- Create session beans
- Package and deploy session beans
- Create a session bean client
Module 8 - The Java Persistence API
- Describe the role of the Java Persistence API (JPA) in a Java EE application
- Describe the basics of Object Relational Mapping
- Describe the elements and environment of an Entity component
- Describe the life cycle and operational characteristics of Entity components
Module 9 - Implementing a Transaction Policy
- Describe transaction semantics
- Compare programmatic and declarative transaction scoping
- Use the Java Transaction API (JTA) to scope transactions programmatically
- Implement a container-managed transaction policy
- Support optimistic locking with the versioning of entity components
- Predict the effect of transaction scope on application performance
- Describe the effect of exceptions on transaction state
Module 10 - Developing Java EE Applications Using Messaging
- Describe JMS technology
- Create a queue message producer
- Create a synchronous message consumer
- Create an asynchronous message consumer
- List the capabilities and limitations of EJB components as messaging clients
Module 11 - Developing Message-Driven Beans
- Describe the properties and life cycle of message-driven beans
- Create a JMS message-driven bean
- Create lifecycle event handlers for a JMS message-driven bean
Module 12 - Web Service Model
- Describe the role of web services
- List the specifications used to make web services platform independent
- Describe the Java APIs used for XML processing and web services
Module 13 - Implementing Java EE Web Services with JAX-WS
- Describe endpoints supported by the Java EE 5 platform
- Describe the requirements of JAX-WS Servlet Endpoints
- Describe the requirements of JAX-WS EJB Endpoints
- Develop Web Service Clients
Module 14 - Implementing a Security Policy
- Exploit container-managed security
- Define user roles and responsibilities
- Create a role-based security policy
- Use the security API
- Configure authentication in the web tier
Part II Architecting and Designing J2EE Applications
Module 1 - Introducing Fundamental Architectural Concepts
- Justify the need for architecture
- Describe the architectural function
- Describe five primary concerns of architecture
Module 2 - Examining System Architecture Development Heuristics and Guidelines
- Identify key risk factors in distributed enterprise systems
- Describe essentials of object-oriented design
- Describe guidelines for effective network communication
- Justify the use of transactions to control shared resources
- Describe controlling costs through concept reuse
- Explain the basic characteristics of Sun Open Net Environment (Sun ONE) architecture
Module 3 - Describing the Software Development Process
- Define the purpose of a development methodology
- Describe best practices of development methodologies
- Describe workflows and the four key phases of an iterative and incremental development process
- Define iterative process outputs
- Describe how to increase the probability of project success
Module 4 - Differentiating Local Object-Oriented Computing and Distributed Object Computing
- Examine the characteristics of data transfer in object-oriented computing
- Examine the characteristics of data transfer in distributed computing
- Compare and contrast distributed, object-based computing and object-oriented computing
- Analyze the impact of transactions in a distributed computing environment
- Analyze the impact of security implementation in a distributed computing environment
Module 5 - Optimizing Inside the Tier
- Plan system capacity to support required load
- Plan scalability to support anticipated growth
- Specify service providers to support maintenance goals
Module 6 - Optimizing Tier-to-Tier Communication
- Create a network model for an application
- Construct a data and call model to efficiently submit service requests and receive responses
- Create a transaction model for the application
- Create a security model for the application
Module 7 - Analyzing Quality-of-Service Requirements
- Evaluate the effects of dimensions on systemic qualities
- Prioritize quality-of-service requirements
- Inspect quality-of-service requirements for trade-off opportunities
Module 8 - Building a Prototype
- Create system prototypes that can potentially fulfill required architectural goals
- Assess the prototypes for fulfillment of required architectural goals
Module 9 - Describing J2EE Technology Servers
- Describe various server types
- Review enterprise information systems
- Explain the issues relating to the selection of application servers
- Describe deployment best practices, guidelines, and patterns
Module 10 - Describing J2EE Technologies
- Describe the J2EE technology web-tier components
- Describe the J2EE technology business-tier components
- Describe J2EE technology connectors
Module 11 - Evaluating the J2EE Technology Choice
- Design for long-term application state
- Manage client session state
- Enable business process and workflow control
- Enable presentation process and workflow control
- Manage presentation layout
- Design for asynchronous communication
Module 12 - Analyzing the Software Requirements
- Describe the software development process in terms of model transformations
- Gather requirements to define the business problem
- Create the domain model
Module 13 - Creating the Software Design
- Explain the purpose and elements of a robustness analysis and the design model
- Use robustness analysis to create a design model for a use case
- Generate a sequence diagram view of the design model
Module 14 - Creating the Software Architecture
- Describe the architecture model
- Decompose the system into components
- Arrange components into effective topologies
- Create deployment diagrams to document the architecture model
- Evaluate the architecture model
Module 15 - Choosing J2EE Technology Patterns
- Review relevant pattern fundamentals
- Recognize circumstances that suggest the use of J2EE technology patterns to assist in communications
- Recognize circumstances that suggest the use of J2EE technology patterns to assist in flexibility