根据考过的SCEA来看,重点集中在以下几点:
概念——UML图表及面向对象设计原理
通用体系——多种程序体系的不同的推论结果
与继承系统相关联——选择一种合适的技术
企业JavaBeans (EJB) ——利用EJB设计和选择合适的EJB技术
企业JavaBeans容器——一个EJB容器的功能
协议——在给定的假设选择合适的协议
J2EE——在给定的程序里识别正确的J2EE技术
设计模式——选择正确的设计模式并正确使用以上提及书籍中的模式和术语
消息——在给定的程序中识别正确的消息
国际化——广泛地识别J2EE特性
安全性——正确识别J2EE的使用特性
其中,EJB和设计模式是第二部分的考试重点,重在强调架构设计而非语言级别的API.
需要综合考虑系统需求,决定客户端和服务端的技术选型,设计接口函数.主要是运用UML进行设计.
第3部分主要是结合设计实例,考察关于设计方面的一些基础知识和理论。
下面是SUN网站上关于SCEA的考试要求,强烈建议各位学习英文资源,因为毕竟设计和论文都是英文的。
Section 1: Application Design Concepts and Principles
----------------------------------------------------------------------
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 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.
Explain appropriate and inappropriate uses for web services in the Java EE platform
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 outline 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.
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, 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.
Explain how Java EE supports the deployment of server-side components implemented as web services and the advantages and disadvantages of adopting such an approach.
Explain the benefits of the EJB 3 development model over previous EJB generations for ease of development including how the EJB container simplifies EJB development.
Section 5: Web Tier Technologies
----------------------------------------------------------------------
State the benefits and drawbacks of adopting a web framework in designing a Java EE application
Explain standard uses for JSP pages and servlets in a typical Java EE application.
Explain standard uses for JavaServer Faces components in a typical Java EE application.
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 EJB components. EJB-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 problem using Java EE.
Explain how the Java EE platform enables service oriented architecture (SOA) -based applications.
Explain how you would design a Java EE application to repeatedly measure critical non-functional requirements and outline a standard process with specific strategies to refactor that application to improve on the results of the measurements.
Section 7: Patterns
----------------------------------------------------------------------
From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book - Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition and named using the names given in that book.
From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book - Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software and are named using the names given in that book.
From a list, select the benefits and drawbacks of a pattern drawn from the book - Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software.
From a list, select the benefits and drawbacks of a specified Core J2EE pattern drawn from the book – Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition.
Section 8: Security
----------------------------------------------------------------------
Explain the client-side security model for the Java SE environment, including the Web Start and applet deployment modes.
Given an architectural system specification, select appropriate locations for implementation of specified security features, and select suitable technologies for implementation of those features
Identify and classify potential threats to a system and describe how a given architecture will address the threats.
Describe the commonly used declarative and programmatic methods used to secure applications built on the Java EE platform, for example use of deployment descriptors and JAAS.