0% found this document useful (0 votes)
60 views

Chapter 1. Introduction: 1.1. Why This Book Is Important

This document provides an introduction and overview of a book about service-oriented architecture (SOA). It discusses that SOA has become a focal point in IT but is often misunderstood. The book aims to help readers understand SOA, service-orientation, and web services, and learn how to build SOA using web services. It outlines the objectives of explaining key aspects of the SOA platform and providing step-by-step instructions on tasks like performing a service-oriented analysis and designing different types of services. The book is intended for IT professionals interested in topics related to SOA, web services, and building SOA solutions.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

Chapter 1. Introduction: 1.1. Why This Book Is Important

This document provides an introduction and overview of a book about service-oriented architecture (SOA). It discusses that SOA has become a focal point in IT but is often misunderstood. The book aims to help readers understand SOA, service-orientation, and web services, and learn how to build SOA using web services. It outlines the objectives of explaining key aspects of the SOA platform and providing step-by-step instructions on tasks like performing a service-oriented analysis and designing different types of services. The book is intended for IT professionals interested in topics related to SOA, web services, and building SOA solutions.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Chapter 1.

Introduction
1.1 Why this book is important

1.2 Objectives of this book

1.3 Who this book is for

1.4 What this book does not cover

1.5 How this book is organized

1.6 Additional information


1.1. WHY THIS BOOK IS IMPORTANT
One of my favorite quotes came from an exchange I overheard while preparing to
speak at a conference. Two IT professionals were discussing their respective
environments, when one asked the other if his team was building a service-oriented
architecture. The individual responded by saying “My architect thinks it’s service-
oriented, my developers insist it’s object-oriented, and my analysts wish it would
be more business-oriented. All I can tell you is that it isn’t what it was before we
started building Web services.”

This candid statement is a sign of the times. Service-oriented architecture (SOA)


has become the focal point of the IT industry, yet few fully understand it. This
book aims to fill this knowledge gap by helping you accomplish the following
goals:
• understand SOA, service-orientation, and Web services
• learn how to build SOA with Web services

Let’s begin by identifying the most common obstacle to adopting SOA.


1.1.1. The false SOA

I cannot recall any one term causing as much confusion as “service-oriented.” Its
apparent ambiguity has led vendors, IT professionals, and the media to claim their
own interpretations. This, of course, makes grasping the meaning of a technical
architecture labeled as “service-oriented” all the more difficult.
SOA, as an abstract paradigm, has traditionally represented a baseline distributed
architecture with no reference to implementation. While relevant to us, this model
represents only a subset of SOA in its most common and contemporary form.

Coupled with the Web services platform and a set of commonly accepted service-
orientation principles, SOA has emerged as an architectural platform explicitly
distinct from its predecessors. It introduces new concepts supported by select
technologies that significantly augment characteristics of traditional distributed
computing platforms—so much so that service-oriented environments often end up
redefining IT infrastructure.

This contemporary variety of SOA has received its share of attention. It has been
promoted as a platform capable of revolutionizing enterprise environments by
leveraging advancements in Web services technology and injecting organizations
with hopes of federation, agility, and cross-platform harmony.

Many have been led to the notion that a technical architecture deemed service-
oriented is simply one comprised of Web services. This is a common but
dangerous assumption that leads to the number one mistake made by organizations
intending to adopt SOA—the perception that the benefits promised by current
mainstream SOA are attainable solely through a deeper investment in the Web
services platform.

The reason this is happening is understandable. It is difficult for an organization to


measure the extent of service-orientation possessed by its automation solutions
when it is not clear what it actually means for automation logic to be truly service-
oriented. What is needed is an ideal organizations can use as a target model.
1.1.2. The ideal SOA

We all have ideals that we aspire to attain. Ideals represent a state of excellence
that motivate us to accomplish things beyond what we may have been able to
without the ideal to look up to.

Service-orientation presents an ideal vision of a world in which resources are


cleanly partitioned and consistently represented. When applied to IT architecture,
service-orientation establishes a universal model in which automation logic and
even business logic conform to this vision. This model applies equally to a task, a
solution, an enterprise, a community, and beyond.
By adhering to this vision, past technical and philosophical disparities are
blanketed by layers of abstraction that introduce a globally accepted standard for
representing logic and information. This level of standardization offers an
enormous benefit potential for organizations, as many of the traditional challenges
faced by ever-changing IT environments can be directly addressed through the
application of these standardized layers.

The service-orientation ideal has sparked a movement that has positioned SOA as
the next phase in the evolution of business automation. In the same manner in
which mainframe systems were succeeded by client-server applications, and client-
server environments then evolved into distributed solutions based on Web
technologies, the contemporary, Web services-driven SOA is succeeding
traditional distributed architecture on a global scale.

All major software manufacturers and vendors are promoting support for SOA—
some even through direct involvement in the development of open standards. As a
result, every major development platform now officially supports the creation of
service-oriented solutions. It would appear as though the realization of the SOA
ideal is well underway. Why, then, is the false SOA so common?
1.1.3. The real SOA

The reality is that the rise of the false SOA has distorted the vision of the ideal
SOA. Not only is the false SOA divergent from the “true path of service-
orientation,” it reinforces SOA anti-patterns by extending and further entrenching
the traditional distributed computing model to which SOA offers an alternative.
The eventual realization that initial expectations will not be fulfilled can be further
compounded once the costs, effort, and overall ugliness of a retro-fitting effort are
calculated.

All of this can be avoided. What is required is an understanding of service-


orientation, how it shapes technical architecture into SOA, and concrete, step-by-
step processes for realizing SOA in a contemporary form.

Be forewarned, though, that SOA makes some impositions. A change in mindset is


required, as business logic now needs to be viewed within a service-oriented
context. Applying this context also requires a change in automation logic, as
solutions now need to be built in support of service-orientation. Finally, a technical
architecture capable of hosting service-oriented automation logic further introduces
new technology and infrastructure requirements.
Real SOAs demand that an organization undergo this form of top-down
transformation. However, the ideal an organization works toward during this
process is not necessarily part of a universal vision of global service-orientation. It
is an ideal based on how the concept of service-orientation, the architectural model
provided by contemporary SOA, and the feature set offered by supporting
technologies can benefit the vision and goals of your organization.

A real SOA requires real change, real foresight, and real commitment. Most of all,
though, it requires guidance. This last requirement is what this book intends to
assist you with.
1.2. OBJECTIVES OF THIS BOOK
Let’s revisit the two primary goals we established earlier and elaborate on each.
1.2.1. Understanding SOA, service-orientation, and Web services

This book is not solely focused on architecture. Service-oriented architecture is a


core part of the service-oriented computing platform that brings with it new
concepts, technologies, and challenges. This book explores key parts of this
platform to provide well-rounded coverage of the multi-faceted world of building
service-oriented automation solutions.

Specifically, the following aspects of the SOA platform are explained:


• Primitive and contemporary variations of SOA are described and defined,
establishing a set of nearly 20 common characteristics that can be fulfilled by
current Web services technologies and design techniques explained in the step-by-
step “how to” processes.
• Fundamental Web services theory is covered, along with a study of how the
emergence of XML and Web services, coupled with the dynamics between
standards organizations and software vendors, have all influenced and contributed
to the evolution of SOA.
• The principles of service-orientation are described in detail. Their influence on
Web service design is explained, and they are further incorporated into the step-by-
step design processes.
• Over 10 WS-* specifications are described in detail. Separate parts of this book
are dedicated to explaining concepts in plain English and then covering the
technical details with code samples.
• Advanced SOA concepts and design issues are discussed, including the creation
of specialized service layers. These allow for the abstraction of business and
technology domains within the enterprise and form the basis for business and
application-centric service designs.
1.2.2. Learning how to build SOA with Web services

A large portion of this book is dedicated to providing step-by-step instructions on


how to accomplish the following tasks:
• perform a service-oriented analysis
• model service candidates derived from existing business documentation
• design the composition of an SOA
• design application services for technology abstraction
• design business services for business logic abstraction
• design service-oriented business processes
• assess SOA support provided by J2EE and .NET platforms
1.3. WHO THIS BOOK IS FOR
SOA is a broad subject matter. It represents a new generation architectural
platform that encompasses a series of contemporary technologies (both proprietary
and vendor-neutral).

This book will therefore be useful to various IT professionals who are interested in
learning more about the following:
• how to build SOA
• service-orientation principles
• designing different types of services for SOA
• service-oriented business modeling
• features provided by key WS-* specifications
• orchestration with WS-BPEL
• SOA support in J2EE and .NET platforms
• modeling business-centric services
• creating design standards for SOA-based solutions
• Web services technology within the context of SOA
1.4. WHAT THIS BOOK DOES NOT COVER
While issues relating to integration and interoperability are referenced and
discussed throughout this book, service-oriented integration as a specific topic is
not covered. This is to prevent overlap with Service-Oriented Architecture: A Field
Guide to Integrating XML and Web Services, this book’s companion guide.
The Field Guide is dedicated to matters of integration and explores numerous
service-oriented integration architectures, strategies, and best practices.

Also though this book will be useful to developers who want to understand how to
build services for SOA and how different technology platforms support the SOA
model, this is not a book that explains how to program Web services using any
particular programming language. The step-by-step instructions provided focus on
building and orchestrating service endpoints—not the underlying component logic.
We therefore supply tutorials and/or code examples for the following open Web
services languages: WSDL, SOAP, XML Schema, WS-BPEL, WS-Coordination,
WS-Policy, WS-MetadataExchange, WS-Security, WS-Addressing, and WS-
ReliableMessaging.

Note

A knowledge of XML is recommended prior to reading this book. Suggested reading

materials are listed at www.serviceoriented.ws, and a collection of introductory

papers can be found at www.xmltechnologyexpert.com.

1.5. HOW THIS BOOK IS ORGANIZED


The next 17 chapters contain a mountain of information. Some serious thought was
given to organization so that this book would be easy to read, while maintaining a
logical structure.

Content was finally divided into the following primary parts:


• Part I: SOA and Web Services Fundamentals
• Part II: SOA and WS-* Extensions
• Part III: SOA and Service-Orientation
• Part IV: Building SOA (Planning and Analysis)
• Part V: Building SOA (Technology and Design)
Essentially, Parts I, II, and III cover basic and advanced SOA concepts and theory
that prepare you for Parts IV and V, which supply a series of step-by-step “how to”
instructions for building SOA. Part Vfurther contains coverage of WS-*
technologies and SOA platform support provided by J2EE and .NET.

A common thread across all parts of the book is the consistent use of case studies.
Over 125 individual case study examples are interspersed throughout the chapters
to provide constant real-life reference points that further demonstrate key topics.
Case studies are introduced in Chapter 2, which establishes background
information for two fictional organizations.

Let’s now take a closer look at what’s covered in the remaining chapters.

1.5.1. Part I: SOA and Web Services Fundamentals

Key SOA concepts are explained, a look at how SOA has evolved from past
platforms follows, and then a description of the Web services framework wraps up
this first part of the book.
Introducing SOA (Chapter 3)

We start off with a chapter dedicated to nailing down a clear definition of what
SOA actually is and is not. We accomplish this by first studying the core
characteristics of what constitutes a fundamental or “primitive SOA.” We
supplement this by introducing the principles of service-orientation, and then look
at the many influences that are elevating the primitive service-oriented architecture
into a broader, enterprise-level platform.

As part of this exercise, we identify and explain 20 key characteristics associated


with what we term as “contemporary SOA.” After we progress through individual
descriptions of these characteristics, we provide detailed and generic definitions of
what constitutes an SOA.

To further clarify what SOA is not, we proceed to address a series of common


myths and misperceptions. These sections help cut through some of the confusion
surrounding SOA and set the groundwork for the many SOA-related topics we
discuss in subsequent chapters.

We then move on to identifying and explaining the key benefits behind adopting
SOA. Although these benefits are discussed throughout this book, it is important to
separate them ahead of time so that we can form a clear vision of what it is we are
accomplishing by transitioning to this architectural model.

Finally, we conclude this chapter with a look at the most common pitfalls facing
any organization on the path toward SOA. Understanding these “worst practices”
is important not only to avoiding a whole lot of problems, but also to better
appreciate the reasoning behind some of the analysis and design processes
provided in later chapters.
The Evolution of SOA (Chapter 4)

This chapter continues with an exploration of how SOA came to be. Specifically,
we follow a timeline that looks at the following:
• Past architectural platforms from which SOA has evolved and inherited traits and
qualities.
• Current influences (as fueled by XML and Web services technology platforms)
that have shaped SOA into what it is now.
• The ongoing activity of standards organizations and contributing vendors that are
further extending the breadth of the SOA platform.

We begin with a brief historical account of XML and Web services and discuss
how these now established technologies have shaped SOA and are, to a large
extent, responsible for its success. Subsequently, we turn the tables and discuss
how the resulting popularity of SOA has changed the manner in which some XML
and Web services technologies have been traditionally positioned and utilized.

We then dive into the current world of SOA as we discuss who and what is making
SOA happen. Organizations and software vendors involved with developing
contemporary SOA specifications and products are discussed. Most notably, the
roles played by the following organizations are explained:
• World Wide Web Consortium (W3C)
• Web Services Interoperability Organization (WS-I)
• Organization for the Advancement of Structured Information Standards (OASIS)

The unique dynamics between standards organizations and software manufacturers


are explored, with an emphasis on how vendors have influenced and contributed to
the development of Web services specifications.
Next, we provide definitions for the terms “application architecture” and
“enterprise architecture” and then define the architectural scope of SOA as it
relates to these types of architectures. We subsequently dig up the roots of service-
orientation by describing each of the following traditional platforms for the
purpose of contrasting them with SOA:
• client-service architecture
• distributed Internet architecture
• distributed architectures that use Web services peripherally

For each of these architectural models, we explore the following aspects:


application logic, application processing, technology, security, and administration.
This part of the chapter is rounded out by a preliminary comparison of service-
orientation and object-orientation.
Web Services and Primitive SOA (Chapter 5)

In Chapter 3 we formally defined the characteristics of primitive SOA. This


chapter now explains how these characteristics are fulfilled by first-generation
Web services technologies.

Note that this chapter introduces a new feature of the book called In Plain English.
Even though all sections in this chapter are supplemented with examples that are
part of our continuing case studies, they are further outfitted with these
intentionally simplistic, non-technical analogies.

We begin with a review of the fundamental mechanics behind the Web services
communications framework.

Topics covered include the following:


• basic Web services messaging
• service providers and service requestors
• service descriptions, service contracts, and metadata
• active and passive intermediaries
• message paths and service compositions
• common service models

Next, we move on to primitive SOA specifics, as we describe how service


descriptions accomplish the core quality of loose coupling that contractually binds
services within an SOA. Concepts specific to abstract and concrete WSDL
definitions are explained and then supplemented with an introduction to UDDI and
service registries.

We follow this section with an explanation of how SOAP is being used to address
the messaging needs of SOA. The standardized messaging format provided by
SOAP is discussed, along with a look at the SOAP message structure and the
runtime roles played by SOAP processing nodes.

1.5.2. Part II: SOA and WS-* Extensions

The next set of chapters tackle advanced issues related to a multitude of


contemporary SOA extensions.
Web Services and Contemporary SOA—Part I: Activity Management and Composition (Chapter
6)

This chapter picks up the tempo by venturing into the WS-* landscape. This is the
first of two chapters dedicated to exploring how SOA can be extended using
features provided by WS-* specifications.

The following parts of contemporary SOA are explored:


• Message exchange patterns
• Activities
• Coordination
• Atomic transactions
• Business activities
• Orchestration
• Choreography

The sequence of these topics is intentional, as each establishes a layer of


functionality upon which the next builds.

Concepts relating to the latter five items in the above list are derived from the
following WS-* specifications:
• WS-Coordination
• WS-AtomicTransaction
• WS-BusinessActivity
• WS-BPEL (formerly known as BPEL4WS)
• WS-CDL (formerly known as WS-Choreography)

Because this book intentionally separates concepts from technology, the actual
language and syntax-level details for these WS-* extensions are covered in Part V:
Building SOA (Technology and Design).

Further, this chapter explains how these specifications and their associated
concepts inter-relate, as well as how they individually tie into and fulfill the
predefined characteristics of contemporary SOA. Finally, it is also worth
mentioning that this chapter continues providing In Plain English sections to help
clarify concepts using non-technical analogies.
Web Services and Contemporary SOA—Part II: Advanced Messaging, Metadata, and Security
(Chapter 7)

This chapter dives even more deeply into the world of SOA extensions, as we
study and explain another series of concepts related to additional WS-*
specifications.

The following topics are covered:


• Addressing
• Reliable Messaging
• Correlation
• Policies
• Metadata Exchange
• Security
• Notification and Eventing

The concepts behind each of these topics are derived from the following WS-*
specifications:
• WS-Addressing
• WS-ReliableMessaging
• WS-Policy Framework (including WS-PolicyAttachments and WS-
PolicyAssertions)
• WS-MetadataExchange
• WS-Security (including XML-Encryption and XML-Signature)
• WS-Notification Framework (including WS-BaseNotification, WS-Topics, and
WS-BrokeredNotification)
• WS-Eventing

As with Chapter 6, only concepts are discussed at this stage. The respective
languages of the first five specifications in the above list are explained later
in Chapter 17.

Also as with the previous chapter, how the individual extensions inter-relate and
address specific characteristics of contemporary SOA is explained and
supplemented with additional In Plain Englishsections.
1.5.3. Part III: SOA and Service-Orientation

Service-orientation, as a design paradigm, is explored in this part of the book.


These chapters establish crucial concepts that form the basis for service and
architecture-level design approaches described in later chapters.
Principles of Service-Orientation (Chapter 8)

We now turn our attention to the fundamental principles of service-orientation. It is


these principles that form the basis for SOA and shape and standardize the
individual services from which SOA is comprised.

This chapter introduces a view of the enterprise referenced throughout subsequent


parts of this book, establishing a model that separates an enterprise into business
and application logic domains. We then go on to discuss how SOA promotes
service-orientation throughout both of these domains.

Next, we dissect a logical SOA and study its most fundamental parts. We begin
this process with an examination of the core components of the Web services
framework and then illustrate how these are positioned and augmented within
SOA. We continue this exercise by examining how the components of an SOA
inter-relate.

We then move on to a detailed review of the eight most common principles of


service-orientation. Each is explained individually and each is accompanied by a
case study example. These principles are then revisited as we explore how they
inter-relate. In these sections we discover how some principles support or rely on
others.

The subsequent section provides a mini-study of how common object-orientation


(OO) principles relate to or influence the service-orientation principles we just
discussed. This is an interesting analysis for those familiar with object-orientation.

The chapter concludes with an important revelation. After explaining the principles
of service-orientation, we compare them with the feature set supplied by the first-
generation Web services platform. This then tells us which of the service-
orientation principles are provided automatically by the mere use of Web services
and which require explicit effort to realize. This is an important piece of
knowledge, as it gives us a checklist of design issues that we later incorporate in
the step-by-step design processes.
Service Layers (Chapter 9)

Advanced service-orientation issues are addressed in this chapter, as we set our


sights on realizing further characteristics of contemporary SOA. We first examine
the primary influences that are shaping and broadening the reach of SOA. We then
study which of these influences are responsible for realizing certain characteristics.
Through deduction we end up with a list of contemporary SOA characteristics that
require explicit design effort. Key among these are service-oriented business
modeling and organizational agility.

We then move on to defining an approach to designing SOA in support of these


characteristics wherein a series of specialized service layers abstract key parts of
generic and application-specific logic. This fosters SOA throughout the enterprise
and facilitates the realization of many important benefits.

The following three service layers are defined at this stage:


• Application service layer
• Business service layer
• Orchestration service layer

These layers establish the basis for a series of standardized services that are
discussed and further explained in subsequent chapters. Next, we raise some issues
in relation to the creation of solution-agnostic services and then conclude this
chapter with an exploration of eight different service layer configuration scenarios
that illustrate a range of possible SOA designs.
1.5.4. Part IV: Building SOA (Planning and Analysis)

All of the previous chapters provide a knowledge of concepts and theory that can
now be applied to the real world. These next two chapters structure an SOA
delivery project around the creation of a contemporary SOA and then supply
detailed guidance as to how business and application logic can be defined and
modeled into service candidates.
SOA Delivery Strategies (Chapter 10)

SOA is now viewed from a project delivery perspective by identifying and


describing the typical phases that comprise an SOA delivery lifecycle. These
phases are then assembled into the following three SOA delivery strategies:
• Top-down strategy
• Bottom-up strategy
• Agile strategy

The pros and cons of each are contrasted, and an emphasis is placed on the agile
strategy, which attempts to blend the benefits and requirements of the top-down
and bottom-up approaches.
Service-Oriented Analysis—Part I: Introduction (Chapter 11)

At this point we have covered fundamental and advanced concepts relating to


SOA, service-orientation, and the many facets of the supporting Web services
framework. This chapter now takes the first step of applying this knowledge by
establishing the service-oriented analysis phase.

The overall objectives of service-oriented analysis are defined, followed by a list of


steps required to complete this stage. The last of these steps is a service modeling
process that is described in Chapter 12.

This chapter then examines what constitutes a business-centric SOA. It explains


the key benefits of investing in the creation of business service layers and
highlights the various ways business services can be derived from existing business
models.

For the most part, the sections in this chapter assist you in preparing for the step-
by-step service modeling process described in the following chapter.
Service-Oriented Analysis—Part II: Service Modeling (Chapter 12)
We now embark on a twelve-step analysis process wherein we apply service-
orientation to an existing business workflow and derive business and application
service candidates.

This important part of building SOA allows us to create service candidates that
become a primary input for the ultimate SOA design we finalize as part of the
service-oriented design processes described in upcoming chapters. Our service
modeling process is supplemented with detailed case study examples that
demonstrate the execution of individual process steps.

Following the process description are a dozen service modeling guidelines,


providing advice, recommended analysis standards, and further insights into how
best to approach and complete an SOA analysis.

Next, we provide an optional classification system that can be applied to further


enhance the analysis process. This approach breaks down and labels units of logic,
which can improve the clarity of documentation and the identification of potential
reuse opportunities.

Finally, we complete this chapter with another detailed case study example
wherein the second of our two fictional companies takes us through the service
modeling process again, this time applying the aforementioned classification
system. Additionally, this example results in the creation of three different service
candidate combinations for the purpose of contrasting approaches.
1.5.5. Part V: Building SOA (Technology and Design)

This, the largest part in the book, provides step-by-step processes for designing
specialized SOA services and creating a service-oriented business process.
Numerous technology tutorials are supplied to help understand the code examples
used throughout these chapters. This part concludes with an overview of what
constitutes an SOA technology platform, including a review of current SOA
support provided by the .NET framework and the J2EE platform.
Service-Oriented Design—Part I: Introduction (Chapter 13)

This chapter continues where we left off when we completed the service-oriented
analysis phase. We now prepare to move our service candidates into service-
oriented design.
The first step is an SOA composition exercise that helps identify the architectural
boundary of our planned solution (this step is detailed in Chapter 14). The
remaining steps consist of the following individual design processes:
• Entity-centric business service design
• Application service design
• Task-centric business service design
• Service-oriented business process design

Step-by-step descriptions for each of these design processes are provided


in Chapters 15 and 16.

These exercises will result in the creation of WSDL definitions that implement
service candidates (which originated from the service-oriented analysis process).
Therefore, this chapter helps us further prepare by providing short tutorials for the
following key language elements:
• WSDL
• WSDL-related XML Schema elements
• SOAP message structure elements

Note that the language elements described are limited to those used in the case
study code samples.

This chapter ends with a discussion of service interface modeling approaches,


during which modeling tools are contrasted with hand coding techniques.
Service-Oriented Design—Part II: SOA Composition Guidelines (Chapter 14)

Chapter 14 kicks off the service-oriented design process by providing guidance for
composing a service-oriented architecture based on known functional requirements
and technical limitations. As part of this procedure, we provide guidelines for
choosing service layers and positioning identified standards and SOA extensions.

Specifically, we raise design issues related to incorporating XML, WSDL, XML


Schema, SOAP, UDDI, and the WS-I Basic Profile into SOA. We then conclude
this chapter with a set of considerations and guidelines for choosing WS-*
specifications, with an emphasis on the use of WS-BPEL.
Service-Oriented Design—Part III: Service Design (Chapter 15)
This chapter, the longest in this book, contains three detailed, step-by-step process
descriptions for designing services that correspond to two of the three service
layers we established in Chapter 9.

The following design processes are described:


• Entity-centric business service design
• Application service design
• Task-centric business service design

Each process description is supplemented with extensive case study examples that
demonstrate the application of individual process steps in real-world scenarios.
This important chapter is then concluded with a set of service design guidelines
applicable to the previously described processes.
Service-Oriented Design—Part IV: Business Process Design (Chapter 16)

Step-by-step instructions for building a service-oriented business process are


provided in this chapter. A WS-BPEL process definition is created as part of the
case study examples to orchestrate services that were modeled and designed in
previous chapters.

Before we get into the service-oriented business process design, we provide a


tutorial describing key WS-BPEL language elements used in the detailed examples
that supplement the process description steps. (A brief look at the contents of WS-
Coordination SOAP headers is also included.)
Fundamental WS-* Extensions (Chapter 17)

Our SOA so far consists of a set of services that establish up to three levels of
abstraction, along with a service-oriented business process responsible for
orchestrating them. This next chapter provides technical insight into how the
feature set of SOA can be extended with the WS-* specifications we introduced
in Chapter 7.

Key elements and constructs for the following specifications are covered:
• WS-Addressing
• WS-ReliableMessaging
• WS-Policy
• WS-MetadataExchange
• WS-Security

Each language description is supplemented with case study examples containing


the code used to implement the corresponding conceptual examples provided
in Chapter 7.
SOA Platforms (Chapter 18)

Our final chapter takes a close look at what constitutes an implementation platform
for SOA. The individual parts that comprise the development and runtime
environments required to build and host a service-oriented solution are explained,
along with an “under the hood” look at the implementation logic behind a typical
Web service.

This is followed by two identically structured sections that supply an overview of


SOA support provided by the J2EE and .NET platforms. Each of these sections
begins with a high-level introduction of the respective platforms and then
continues to revisit the following aspects of SOA established in earlier chapters:
• Characteristics of primitive SOA
• Principles of service-orientation
• Characteristics of contemporary SOA
Case Studies: Conclusion (Appendix A)

Appendix A acts as a bookend to the case study storylines that began in Chapter 2.
The progress of each organization is reviewed, and the resulting solution
environments are studied. The original objectives established at the beginning of
the book are revisited to ensure that all have been met.
Service Models Reference (Appendix B)

This appendix provides a quick reference table for all of the service models
described in this book.
1.5.6. Conventions

• Summary of Key Points—Each primary section within a chapter ends with a


summary that recaps and highlights the main topics or conclusions covered. These
summaries are provided to allow readers to confirm that a given subject matter was
fully understood.
• Figures—This book contains over 300 diagrams, which are referred to as
“figures.” A legend for the symbols used in these figures is provided by the book’s
Web site at www.serviceoriented.ws.
• Code examples—On several occasions code used in this book contains examples
with long lines. This happens most often when some of the larger URLs are used
for namespace references. To avoid these lines from wrapping, hard line breaks are
sometimes inserted. While this is done intentionally to improve clarity, it can also
result in invalid XML. If you are trying out any of these examples, rejoin these
lines before validating the code.
1.6. ADDITIONAL INFORMATION
1.6.1. The XML & Web Services Integration Framework (XWIF)

Some of the contents in this book originated from research I performed for SOA
Systems Inc. (formerly XMLTC Consulting Inc.), as part of the XML & Web
Services Integration Framework (XWIF) project. For more information,
visit www.soasystems.com or www.xwif.com.
1.6.2. www.serviceoriented.ws

Updates, source code, and various other supporting resources can be found
at www.serviceoriented.ws. I am interested in your feedback. Any experiences
you’d like to share or suggestions you may have as to how I can continue to
improve this book would be much appreciated.
1.6.3. Contact the Author

To contact me directly, visit my bio site at www.thomaserl.com/technology.

You might also like