Chapter 1: Understanding SCA Preface
What is Service Component Architecture (SCA)? What are the key SCA concepts? How will SCA impact technology choices my organization will need to make in the near-term? How should SCA fit into my enterprise architecture? How can I make the best use of SCA in my projects?
Answering these questions is fundamental to understanding SCA. The goal of this book is to help answer those questions by providing the background necessary to use SCA effectively.
Who Can Benefit From This Book
SCA is a technology for creating, assembling, and managing distributed applications. However, this book is not intended solely for developers. Our aim is to benefit "technologists"developers, but also architects, analysts, managers, and anyone who has a stake implementing information systemsby connecting SCA to broader technology trends.
In this book, we attempt to strike a balance between the "big picture" and the detailed coverage essential to developers. We also endeavor to achieve this balance in a way that is engaging, accurate, and complete.
Both of us have been involved with SCA since its inception, when it started as an informal working group composed of individuals from IBM and BEA (where both of us worked). We have been directly involved in shaping SCA as it went through various iterations and changes. Rather than simply provide a tutorial, we have sought to explain the history and reasoning behind important decisions made during the development of SCA.
Lest we be accused of operating in the "ivory tower" of technology standards, we have also attempted to be informed by practical experience. We have been key contributors to the open source Fabric3 SCA runtime. In addition, while at BEA and now in our current positions, we have had the opportunity to be involved in the development of several large-scale systems built with SCA. We have tried to reflect this experience and lessons learned throughout the book in the form of best practices and implementation advice.
Finally, while we strive for completeness and accuracy, there are inevitably things a book must leave out. SCA is a vast technology that spans multiple programming languages. We have chosen to concentrate on those aspects of SCA that pertain to creating and assembling applications using Java. Although we touch on BPEL, our focus remains on Java, as the latter is a cornerstone of modern enterprise development.
How to Read the Book
Reading a book is like listening to an album (or CD): Both are highly personal experiences. Some prefer to read thoroughly or listen from beginning to end. Others like to skip around, focusing on specific parts.
Understanding SCA is designed to be read in parts but also has a structure tying the various pieces together. The first chapter, "Introducing SCA," provides an overview of SCA and how it fits into today's technology landscape. The second chapter, "Assembling and Deploying a Composite," continues the overview theme by walking through how to build an application using SCA.
Chapters 3 and 4, "Service-Based Development Using Java" and "Conversational Interactions Using Java," respectively, turn to advanced SCA programming model topics. In these chapters, we detail how to design loosely-coupled services, asynchronous interactions, manage stateful services, and best practices for developing with SCA.
Having explored the SCA programming model in depth, Chapters 59 cover the main SCA concepts: composition, policy, wires, bindings, and the domain. In these chapters, we explain how to develop modular applications, use transactions, configure cross-application policies such as security and reliability, integrate with external systems, deploy applications, and structure corporate architectures using SCA.
Chapter 10, "Service-Based Development Using BPEL," demonstrates how to use BPEL with SCA to provide applications with long-running process capabilities.
The final two chapters round out application development with SCA by focusing on the data and presentation tiers. Chapter 11, "Persistence," details how to use Java Persistence API (JPA) with SCA to read and write data from a database. Chapter 12, "The Presentation Tier," demonstrates how to integrate web applications, in particular servlets and JSPs, with SCA services.
© Copyright Pearson Education. All rights reserved.