Section 1: Application Design Concepts and Principles
Document a given system architecture by creating UML diagrams for it
Explain the main advantages of an object-oriented approach to system design. including the effect of encapsulation, inheritance, and use of interfaces on architectural characteristics.
Describe how the principle of “separation of concerns” has been applied to the main system tiers of a Java Platform, Enterprise Edition (Java EE) application. Tiers include client (both GUI and web), web (web container), business (EJB container), integration, and resource tiers.
Describe how the principle of “separation of concerns” has been applied to the layers of a Java EE application. Layers include application, virtual platform (component APIs), application infrastructure (containers), enterprise services (operating system and virtualization), compute and storage, and the networking infrastructure layers.
Section 2: Common Architectures
Explain the advantages and disadvantages of two-tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security.
Explain the advantages and disadvantages of three-tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security
Explain the advantages and disadvantages of multi-tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security.
Explain the benefits and drawbacks of rich clients and browser-based clients as deployed in a typical Java EE application.
Create a logical and physical model of a system infrastructure architecture.
Section 3: Integration and Messaging
Explain possible approaches for communicating with an external system from a Java EE technology-based system given an outline description of those systems and describe the benefits and drawbacks of each approach.
Explain typical uses of web services and XML over HTTP as mechanisms to integrate distinct software components.
Explain how JCA and JMS are used to integrate distinct software components as part of an overall Java EE application.
Given a scenario, explain the appropriate messaging strategy to satisfy the requirements
Section 4: Business Tier Technologies
Explain and contrast uses for entity beans, entity classes, stateful and stateless session beans, and message-driven beans and understand the advantages and disadvantages of each type.
Explain and contrast the following persistence strategies: container-managed persistence (CMP), BMP, JDO, JPA, and ORM, and using DAOs (Data Access Objects) and direct JDBC technology-based persistence under the following headings: ease of development, performance, scalability, extensibility and security.
Section 5: Web Tier Technologies
Given a system requirements definition, explain and justify your rationale for choosing a web-centric or EJB-centric implementation to solve the requirements. Web-centric means that you are providing a solution that does not use EJBs. An EJB component-centric solution will require an application server that supports EJB components.
Section 6: Applicability of Java EE Technology
Given a specified business problem, design a modular solution that solves the business problem using Java EE technology.
Given a speci