02 May 2008

Sun Certified Enterprise Architect syllabus

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