Application Design Concepts and principles
- Identify the effects of an object-oriented approach to system design including the effect of encapsulation, inheritance, a nd use of interfaces.
- Identify how the separation of concerns principle applies to the component model of a Java EE application; including client, the Web and business component containers, and the integration and resource layers.
- Identify the correct interpretation of separation of concerns as it applies to the Java EE service layers, including compo nent APIs, run-time containers, the operating system, and hardware resources.
- Identify non-functional and Quality-of-service requirements that influence application design, including trade-offs in per Formance, availability, and serviceability.
Common architectures
- Identify the appropriate strategy for deploying client applications to desktop and mobile platforms, the principles for de Signing a user interface and the benefits of applying client-tier patterns.
- Identify best Practices for exception handling, logging, and business tier patterns.
- Identify design patterns that address specific challenges in the Web tier, including authentication, authorization, and SC Aling and clustering to meet demand.
- Identify Java EE Technologies, including JMS, JCA and Web Services, and design patterns that address specific challenges I n Enterprise Integration.
- Identify the challenges in integrating enterprise resources, the Java EE technologies that address them (including JPA and JDBC), and the communication protocols that support Tier-to-tier communication (including RMI, IIOP, and CORBA).
Integration and Messaging
- Identify the APIs available for a Java EE technology-based system to communicating with external resources, including JPA, JDBC, RMI, Web Services, JMS, and JCA. Outline the benefits and drawbacks of each approach.
- Describe the technologies used to integrate business components with Web Services, including XML over HTTP, JSON, SOAP and REST.
- Identify and detail the technologies used to integrate business components with external resources, including JMS and JCA.
- Identify how a Service oriented Architecture (SOA) facilitates system integration and best practices.
Business Tier Technologies
- Identify the correct EJB technology to apply for a given scenario, including entity classes, session beans, Message-driven Beans, timers, interceptors, and POJOs.
- Identify benefits and drawbacks of different persistence technologies such as BMP, CMP, and JPA, including ease of develop ment, performance, scalability, extensibility, and security.
- Identify the benefits and drawbacks of implementing Web Services in the EJB component container.
- Select the appropriate use of JPA and JPQL in a given scenario.
Web Tier Technologies
- Identify the benefits and drawbacks of using URL rewriting and cookies to manage HTTP session state.
- Identify appropriate uses for JSP and Servlets technology, and JavaServer Faces in a given Java EE application.
- Identify the benefits of using a EJB container with a web container instead of a web container alone.
- Identify the differences between client pull and server push architectures.
- Identify the benefits and drawbacks of using a browser to access asynchronous, lightweight processes on the server.
Design Patterns
- Demonstrate knowledge of Java EE design Patterns Including:service Starter, Singleton, Bean Locator, Resource Binder, Dep Endency injection, Payload Extractor, Context Holder, and Thread Tracker.
- Select an appropriate pattern for a given application challenge from the Following:facade, strategy, Observer, Composite, and Abstract Factory.
- Identify a design pattern, using a description of its features, from the Following:facade, strategy, Observer, Composite , and Abstract Factory.
- Identify The leaky abstractions or a specific anti-pattern in a given scenario.
Security
- Identify elements of the security model in the Java SE environment for remote clients, including Web Start, applets and th e Role of the SecurityManager class.
- Select appropriate locations to implement Java EE security technologies or features in a UML component and deployment Diag Ram.
- Classify security threats to an enterprise application Select measures a architect can propose to mitigate them.
- Identify techniques associated with declarative and programmatic security, including the use of annotations, deployment de Scriptors, and JAAS technology.
- Identify the security technologies that apply to an application ' s code, messaging and transport layers
Java EE (7)--Java EE 6 Enterprise Architect certified Master