Definitive, Comprehensive SCEA Exam Prep-Straight from Sun's Exam Developers!
This book delivers complete, focused review for Sun's new Sun Certified Enterprise Architect (SCEA) for Java EE certification exam-straight from two of the exam's creators! SCEA lead developer/assessor Mark Cade and SCEA lead developer/assessor Humphrey Sheil offer powerful insights, real-world architectural case studies, and challenging sample questions that systematically prepare you for the actual exam. For every question, the authors show why the right answers are right-and why the other answers are wrong. Cade and Sheil cover every SCEA exam topic, skill, and technique, including:
- Understanding system architecture and its goals
- Decomposing larger systems into components organized by tiers or layers
- Addressing requirements for scalability, maintainability, reliability, availability, extensibility, performance, and security
- Building effective web (presentation) tiers, and analyzing tradeoffs associated with using web frameworks
- Leveraging EJB 3's enhancements for business tier development
- Covering new enhancements in the JEE 5 platform
- Choosing and architecting the best integration and messaging components for your system
- Using the Java security model to enforce confidentiality, integrity, authorization, authentication, and non-repudiation
- Using the most powerful and useful Java EE architecture patterns
- Documenting Java EE architectures through visual models and narratives
The authors also present detailed guidance for handling every element of the SCEA exam-including your development and defense of a complete real-world architectural solution.
Autorentext
Mark Cade is a lead developer and assessor of the SCEA exam covered in this book. He worked at the Sun Microsystems Java Center as a Senior Java Architect, where he has extensive experience creating architectures for Java EE solutions for Fortune 500 companies. He has more than 20 years of experience as a software engineer.
Humphrey Sheil is a lead developer and assessor for the SCEA exam covered in this book. With a background specializing in enterprise architecture and integration in the United States and Europe, he holds a M.Sc. and B.Sc. in Computer Science from University College Dublin. He is currently the CTO at Comtec Group.
Inhalt
Acknowledgments . . . xv
About the Authors . . . xvii
Chapter 1 What Is Architecture? . . . 1
Introduction . . . 1
Prerequisite Review . . . 1
Discussion . . . 2
Understanding Architecture . . . 2
Role of the Architect . . . 5
More Detail on the Exam Itself . . . 6
Part I: Multiple Choice . . . 7
Part II: Solving the Business Problem . . . 8
Part III: Defending Your Solution . . . 9
Preparing for the Exam . . . 10
Preparing for Part I . . . 10
Preparing for Part II . . . 11
Preparing for Part III . . . 11
Essential Points . . . 11
Review Your Progress . . . 11
Chapter 2 Architecture Decomposition . . . 13
Introduction . . . 13
Prerequisite Review . . . 14
Discussion . . . 14
Decomposition Strategies . . . 14
Layering . . . 15
Distribution . . . 15
Exposure . . . 16
Functionality . . . 16
Generality . . . 16
Coupling and Cohesion . . . 16
Volatility . . . 16
Configuration . . . 16
Planning and Tracking . . . 17
Work Assignment . . . 17
Tiers . . . 17
Client . . . 17
Web . . . 18
Business . . . 18
Integration . . . 18
Resource . . . 18
Layers . . .18
Application . . . 19
Virtual Platform (Component APIs) . . . 19
Application Infrastructure (Containers) . . . 19
Enterprise Services (OS and Virtualization) . . . 19
Compute and Storage . . . 19
Networking Infrastructure . . . 20
Service-Level Requirements . . . 20
Performance . . . 20
Scalability . . . 20
Reliability . . . 21
Availability . . . 21
Extensibility . . . 22
Maintainability . . . 22
Manageability . . . 22
Security . . . 22
Impact of Dimensions on Service-Level Requirements . . . 23
Capacity . . . 23
Redundancy . . . 23
Modularity . . . 23
Tolerance . . . 24
Workload . . . 24
Heterogeneity . . . 24
Common Practices for Improving Service-Level Requirements . . . 24
Introducing Redundancy to the System Architecture . . . 24
Improving Performance . . . 27
Improving Availability . . . 28
Improving Extensibility . . . 29
Improving Scalability . . . 30
Tiers in Architecture . . . 30
Two-Tier Systems . . . 31
Advantages . . . 31
Disadvantages . . . 31
Three- and Multi-Tier Systems . . . 31
Advantages . . . 32
Disadvantages . . . 32
Essential Points . . . 32
Review Your Progress . . . 33
Chapter 3 Web Tier Technologies . . . 35
Introduction . . . 35
Prerequisite Review . . . 36
Model View Controller (MVC) . . . 36
Web Container . . . 36
Servlets . . . 37
Filters . . . 38
Listeners . . . 39
JavaServer Pages (JSP) . . . 39
Java Standard Tag Library (JSTL) . . . 40
Unified Expression Language (EL) . . . 40
Managing Sessions . . . 40
JavaServer Faces (JSF) . . . 41
Templating Frameworks . . . 41
Web Frameworks . . . 42
Discussion . . . 42
JSPs and Servlets-Standard Uses . . . 42
JSF-Standard Uses . . . 43
Web-Centric Implementations . . . 43
EJB-Centric Implementations . . . 44
Rationale for Choosing Between EJB-Centric and Web-Centric Implementations . . . 45
The Future of Client-Server Communication . . . 46
Essential Points . . . 46
Review Your Progress . . . 47
Chapter 4 Business Tier Technologies . . . 51
Introduction . . . 51
Prerequisite Review . . . 52
Enterprise Java Bean . . . 53
Session Bean . . . 54
Stateless Session Bean . . . 54
Stateful Session Bean . . . 55
Entity Beans . . . 56
CMP Entity Bean . . . 56
BMP Entity Bean . . . 57
Entity Class . . . 57
Persistence Strategies . . . 58
Message-Driven Bean . . . 58
Discussion . . . 59
EJB Advantages and Disadvantages . . . 59
Scalability . . . 59
Security . . . 60
Contrasting Persistence Strategies . . . 60
Ease of Development . . . 60
Performance . . . 60
Extensibility . . . 61
EJB and Web Services . . . 61
EJBs as Web Service End Points . . . 61
EJBs Consuming Web Services . . . 61
Advantages and Disadvantages . . . 62
EJB 3 . . . 62
Ease of Development . . . 63
Container in EJB 3 . . . 63
JPA in EJB 3 . . . 63
Essential Points . . . 64
Review Your Progress . . . 65
Chapter 5 Integration and Messaging . . . 69
Introduction . . . 69
Prerequisite Review . . . 70
Web Services . . . 71
SOAP . . . 71
WSDL . . . 72
JAX-RPC . . . 72
JAX-WS . . . 72
JAXB . . . 72
JAXR . . . 73
JMS . . . 73
JCA . . . 74
Discussion . . . 75
Java to Java Integration . . . 75
Java Messaging Service (JMS) . . . 76
Java to Non-Java I…