Who Can Benefit
Students who can benefit from this course are Sun Certified Java technology programmers who want to develop enterprise applications that conform to the Java EE platform standards.Students who can benefit from this course are those who are responsible for the overall software architecture and design of Java EE technology-based enterprise software systems. These students would also require insight into the role of the enterprise architect and want to use Java EE technologies in n-tier enterprise systems. Existing architects can also benefit from an understanding of how to use Java EE technologies to improve quality of service in their enterprise systems.Archtiects
Prerequisites
- Experienced with the Java programming language
- Familiar with distributed programming (multi-tier architecture)
- Familiar with relational database theory and the basics of structured query language (SQL)
- Familiar with component technology
- Describe, in outline form, all Java EE technologies, including Enterprise JavaBeans, servlets, JavaServer Pages, and JavaServer Faces.
- Describe distributed computing and communication concepts
- Perform analysis and design of object-oriented software systems
- Use UML notation for modeling object-oriented systems
n/a
Skills Gained
- Describe the application model for the Java EE platform and the context for the model
- Develop and run an EJB technology application
- Develop a web-based user interface to an EJB technology application
- Develop simple web services for the Java EE platform
- Configure the Java EE platform services layer
- Make good use of Java EE component technologies to solve typical problems in system architecture
- Derive software systems using techniques outlined in the Java EE Blueprint and solutions defined in the Java EE Patterns catalog
- Address quality-of-service requirements in a cost-effective manner using engineering trade-off techniques
- Describe the role of the architect and the products an architect delivers
- List and describe typical problems associated with large-scale enterprise systems
n/a
Course Content
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 Steps
- 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
Module 1 - Introducing Fundamental Architectural Concepts
- Understand the challenges of enterprise applications
- Define software architecture
- Understand the need for software architecture
- Understand an architect6's roles, responsibilities, and deliverables
- Understand architecture modeling using the Unified Modeling Language (UML)
- Understand the differences and similarities between architecture and design
- Describe the SunTone(SM) Architecture Methodology
Module 2 - Understanding Systemic Qualities
- Describe the systemic qualities of an enterprise application
- Describe common practices for improving systemic qualities
- Prioritize quality-of-service (QoS) requirements
- Inspect for trade-off opportunities
Module 3 - Examining System Architecture Development Heuristics and Guidelines
- Identify key risk factors in distributed enterprise systems
- Design a flexible object model
- Understand the guidelines of creating a network model
- Justify the use of transactions
- Plan system capacity
Module 4 - Developing an Architecture for the Client Tier
- Describe the roles involved in client-tier development
- Understand Information Architecture client-tier concerns
- Understandhow to select a user interface device that will fit your application requirements
- Describe how reuse can apply to the client tier
- Understandstrategies for deploying Java desktop-based applications
- Be familiar with the security concerns of the client tier
Module 5 - Developing an Architecture for the Web Tier
- Describe the roles involved with the development of the web tier
- Understand the Separation of Concerns
- Describe the strategies for implementing the presentation concerns of the web tier
- Describe the strategies for implementing the data concerns of the web tier
- Describe the strategies for managing the presentation, data, and logic-related concerns of the web tier
- Understand the advantages and disadvantages of request- and component-oriented web-tier frameworks
- Describe strategies for implementing authentication and authorization in the web tier
- Address the concerns of scaling web applications
Module 6 - Developing an Architecture for the Business Tier
- Understand the value in using enterprise application container services
- Describe the architectural options for implementing domain model services
- Describe the architectural options for implementing domain model entities
- Distribute domain model components
- Understand the best practices for exception handling and logging
Module 7 - Developing an Architecture for the Integration and Resource Tiers
- Describe the challenges in Enterprise Information System (EIS) integration
- Describe the roles of the integration tier
- Describe the EIS resource tier
- Review Java integration technologies and best practices
- Apply integration-tier patterns
- Understand how Service-Oriented Architecture (SOA) facilitates system integration
- Describe SOA best practices
Module 8 - Developing a Security Architecture
- Analyze the impact of security in distributed computing
- Understand the security services in Java EE technology
- Understand security requirements for web services
Module 9 - Evaluating the Software Architecture
- Describe architecture evaluation guidelines
- Evaluate Java EE technologies and their applicability
- Create system prototypes
- Understand application server selection criteria
Module 1 - ePractice for the Sun Certified Enterprise Architect for the Java Platform, Enterprise Edition 5




