Home > Store

Sun Certified Enterprise Architect for Java EE Study Guide, Rough Cuts, 2nd Edition

Rough Cuts

  • Available to Safari Subscribers
  • About Rough Cuts
  • Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.

Not for Sale

Description

  • Copyright 2009
  • Dimensions: 7 X 9-1/8
  • Pages: 216
  • Edition: 2nd
  • Rough Cuts
  • ISBN-10: 0-13-715849-1
  • ISBN-13: 978-0-13-715849-2

This is a working draft of a pre-release book. It is available before the published date as part of the Rough Cuts service.

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.

Sample Content

Table of Contents

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 Integration . . . 76

            Web Services . . . 76

            Java Connector Architecture (JCA) . . . 77

Essential Points . . . 78

Review Your Progress . . . 78

Chapter 6 Security . . . 83

Introduction . . . 83

Prerequisite Review . . . 84

JRE . . . 85

JAAS . . . 85

Credential . . . 85

Principal . . . 86

Authentication . . . 86

Authorization . . . 86

Discussion . . . 86

Client-Side Security . . . 87

Server-Side Security . . . 88

            EJB Container . . . 88

            Web Container . . . 88

            Putting the EJB Container and Web Container Together . . . 89

            Web Service Security . . . 90

How Security Behavior Is Defined . . . 91

            Declarative Security . . . 91

            Programmatic Security . . . 92

Commonly Encountered Security Threats . . . 93

Defining a Security Model . . . 94

Essential Points . . . 95

Review Your Progress . . . 95

Chapter 7 Applying Patterns . . . 99

Introduction . . . 99

Prerequisite Review . . . 100

Discussion . . . 101

Creational Patterns . . . 101

            Abstract Factory Pattern . . . 101

            Builder Pattern . . . 103

            Factory Method Pattern . . . 104

            Prototype Pattern . . . 105

            Singleton Pattern . . . 106

Structural Patterns . . . 107

            Adapter Pattern . . . 107

            Bridge Pattern . . . 108

            Composite Pattern . . . 109

            Decorator Pattern . . . 111

            Façade Pattern . . . 112

            Flyweight Pattern . . . 113

            Proxy Pattern . . . 114

Behavioral Patterns . . . 115

            Chain of Responsibility Pattern . . . 115

            Command Pattern . . . 116

            Interpreter Pattern . . . 117

            Iterator Pattern . . . 118

            Mediator Pattern . . . 119

            Memento Pattern . . . 120

            Observer Pattern . . . 121

            State Pattern . . . 122

            Strategy Pattern . . . 123

            Template Method Pattern . . . 124

            Visitor Pattern . . . 125

Core Java EE Patterns . . . 126

Presentation Tier . . . 126

            Intercepting Filter . . . 126

            Context Object . . . 127

            Front Controller . . . 128

            Application Controller . . . 129

            View Helper . . . 129

            Composite View . . . 130

            Dispatcher View . . . 131

            Service to Worker . . . 132

Business Tier . . . 132

            Business Delegate . . . 133

            Service Locator . . . 133

            Session Façade . . . 134

            Application Service . . . 135

            Business Object . . . 136

            Composite Entity . . . 136

            Transfer Object . . . 137

            Transfer Object Assembler . . . 138

            Value List Handler . . . 139

Integration Tier . . . 139

            Data Access Object . . . 140

            Service Activator . . . 140

            Domain Store . . . 141

            Web Service Broker . . . 142

Essential Points . . . 143

Review Your Progress . . . 146

Chapter 8 Documenting an Architecture . . . 149

Introduction . . . 149

Prerequisite Review . . . 149

Discussion . . . 150

Building Blocks of UML . . . 150

            Elements . . . 151

            Structural Elements . . . 151

            Behavioral Elements . . . 152

            Grouping Element . . . 153

            Annotational Elements . . . 153

            Relationships . . . 154

Common Mechanisms . . . 155

            Specifications . . . 155

            Adornments . . . 155

            Common Divisions . . . 156

            Extensibility Mechanisms . . . 156

UML Diagrams . . . 157

Structure Diagrams . . . 157

            Class Diagram . . . 157

            Component Diagram . . . 157

            Deployment Diagram . . . 159

            Package Diagram . . . 159

Behavior Diagrams . . . 160

            Activity Diagram . . . 160

            Statechart Diagram . . . 161

            Use-Case Diagram . . . 162

Interaction Diagrams . . . 163

Essential Points . . . 164

Review Your Progress . . . 164

Chapter 9 Tackling Parts II and III . . . 167

Introduction . . . 167

Prerequisite Review . . . 167

Discussion . . . 168

Scenario . . . 168

Worked Solution . . . 170

Class Diagram . . . 170

Component Diagram . . . 173

Deployment Diagram . . . 174

Sequence Diagrams . . . 176

Comments on Diagrams . . . 178

Identified Risks and Mitigations . . . 178

Part III–Defending Your Architecture . . . 179

Essential Points . . . 180

Index . . . 181

Updates

Submit Errata

More Information