As Web services become an increasingly significant part of the IT mainstream, expert guidance and common-sense strategies are required to avoid the many pitfalls of building and integrating service-oriented architectures.
This book acts as a knowledge base, providing concise strategies and best practices on how to assess, position, and integrate contemporary XML and Web services technologies within the enterprise.
The content in this guide is organized as follows:
Part I: The Technical Landscape
Nearly 30 XML and Web services specifications are discussed throughout this part of the book, with a focus on 17 core standards and key technology concepts.

Chapter 2: Introduction to XML technologies
Chapter 3: Introduction to Web services technologies
Chapter 4: Introduction to Second-generation (WS-*) Web services technologies
 
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services
Service-Oriented Architecture:
A Field Guide to Integrating XML and Web Services

by Thomas Erl

Chapter 2: Introduction to XML technologies (TOC)
Tutorials covering, XML, DTD, XSD, XSLT, XQuery, XPath.

Chapter 3: Introduction to Web services technologies (TOC)
Tutorials covering:
  WSDL
  SOAP
  UDDI
...as well as numerous concepts relating to the Web services framework, including:
  requestor and provider roles
  intermediaries
  initial sender and ultimate receiver roles
  message paths
  message exchange patterns
  correlation
  choreography
  activities
Chapter 4: Introduction to Second-generation (WS-*) Web services technologies (TOC)
Tutorials covering:
  WS-Coordination
  WS-Transaction
  BPEL
  WS-Security
  WS-ReliableMessaging
  WS-Policy
  WS-Attachments
Part II: Integrating Technology
Part II confines the scope of topics to single application environments in order to focus on strategies for integrating technology within application tiers. Integration issues relating to XML and Web services are separated, allowing XML strategies to be used independently of service-oriented environments.

Chapter 5: Integrating XML into applications
Chapter 6: Integrating Web services into applications
Chapter 7: Integrating XML and databases

Chapter 5: Integrating XML into applications (TOC)
The scope of this chapter is the integration of core XML technologies with the purpose of establishing a fundamental data management architecture. Numerous strategies for addressing common integration issues are provided, organized according to the functional areas most likely to be affected by the integration, as follows:


XML data representation strategies for conceptually and technically incorporating XML as a data representation format and delivery mechanism


XML data validation strategies that explore the utilization of schema definitions, with an emphasis on XSD


an XML schema administration process that highlights the importance of centralizing ownership of XML schema definitions


XML transformation strategies that cover the integration of XSLT for structural and aesthetic transformation of XML documents


XML data querying strategies that position XQuery as a technology to centralize and abstract data access logic
Chapter 6: Integrating Web services into applications (TOC)
Here we focus on fundamental design concepts that allow you to establish a foundation for a service-oriented architecture, and prepare an application for future interoperability. The scope of this chapter, therefore, is limited to the integration of Web services technology within application environments.
The following service models are established:
  utility services
  business services
  controller services
These following modeling processes are then described:
  modeling service-oriented component classes
  modeling Web service interfaces
A collection of integration and optimization strategies are provided next, addressing the use of service assemblies, Web services performance, and interface design.
Chapter 7: Integrating XML and databases (TOC)
XML opens up a whole new world of data modeling that contrasts traditional approaches to structuring and defining schemas. This chapter is dedicated to exploring techniques for integrating the hierarchical structure of XML documents with traditional relational repositories. Since this is a common area for which knowledge and resources typically are limited, we explore issues with more syntactical detail than in other chapters.
First we compare XML and relational databases in order to establish their fundamental differences and to contrast how each platform relates to and manages data. Next, the basics of data mapping are covered, as well as issues relating to performance and platform disparity. We then get into the details of mapping the hierarchical XML data model to relational databases.
Finally, we take a look at the common ways in which current database products support XML through the use of proprietary extensions. The implications of using these extensions, along with some techniques on how to mitigate their impact, also are provided. This chapter concludes with an overview of native XML databases.

Part III: Integrating Applications
We now carry the discussion forward into the realm of application integration. The chapters in Part III are almost entirely centered around the use of Web services, as numerous traditional and service-oriented integration scenarios are explored and contrasted. Figure 1.3 illustrates the scope of Part III chapters, as they relate to application tiers.

Chapter 8: The mechanics of application integration
Chapter 9: Service-oriented architectures for legacy integration
Chapter 10: Service-oriented architectures for enterprise integration
Chapter 11: Service-oriented integration strategies

Chapter 8: The mechanics of application integration (TOC)
Fundamental integration concepts are introduced, and the differences between traditional and contemporary application integration architectures are discussed. This chapter is more of a primer for cross-application integration, as it also provides a guide to middleware products, and explores common paths for evolving an enterprise integration environment.

Chapter 9: Service-oriented architectures for legacy integration (TOC)
Here we dive into the multi-varied world of legacy integration architectures. We begin by describing the following set of services models:
  proxy services
  wrapper services
  coordination services (for atomic transactions)
We then explain the roles of common integration components, including:
  legacy adapters
  intermediary services
  service interceptors
Many legacy integration architectures are then explored. Each of the following sections separately illustrates an integration architecture in a traditional and service-oriented state:
one-way integration architecture: batch export and import
one-way integration architecture: direct data access
point-to-point architecture: tightly-coupled integration between homogenous legacy applications
point-to-point architecture: tightly-coupled integration between heterogeneous applications
point-to-point architecture: integration between homogenous component-based applications
point-to-point architecture: integration between heterogeneous component-based applications
centralized database architecture
These sections are supplemented further with architectural comparison matrices that contrast key architectural aspects within traditional and service-oriented contexts. The chapter concludes with an analysis process for assessing the feasibility of introducing service-oriented design principles within legacy architectures.
Chapter 10: Service-oriented architectures for enterprise integration (TOC)
The scope now broadens to encompass enterprise integration architectures. The roles of broker and orchestration components are demonstrated, along with the introduction of the following service models:
  process services
  coordination services (for business activities)
Both traditional and contemporary EAI architectures are then explored, including:
  hub and spoke
  messaging bus (publish and subscribe)
  enterprise service bus (ESB)
How Web services can be integrated within these environments is illustrated, and supplemented with numerous design considerations.
Chapter 11: Service-oriented integration strategies (TOC)
To supplement and expand on the topics covered in Chapters 9 and 10, the following collection of integration strategies are provided:
  strategies for streamlining integration endpoint interfaces
  strategies for optimizing integration endpoint services
  strategies for integrating legacy architectures
  strategies for enterprise solution integration
  strategies for integrating Web services security

Part IV: Integrating the Enterprise
This part of the book provides a clear roadmap to a standardized service-oriented enterprise, and consists of a collection of best practices and processes for planning and implementing an enterprise-wide integration strategy.

Chapter 12: Thirty best practices for integrating XML
Chapter 13: Thirty best practices for integrating Web services
Chapter 14: Building the service-oriented enterprise

Chapter 12: Thirty best practices for integrating XML (TOC)
Chapter 12 describes a wide variety of best practices and recommendations for various aspects of XML integration, including:
  planning XML migration projects
  knowledge management within XML projects
  standardizing XML applications
  designing XML applications

Chapter 13: Thirty best practices for integrating Web services (TOC)
Chapter 13 details a set of best practices that provide guidance and insight for managing and integrating Web services. The following areas are covered:
  planning service-oriented projects
  standardizing Web services
  designing service-oriented environments
  managing service-oriented development projects
  implementing Web services

Chapter 14: Building the service-oriented enterprise (TOC)
Our last chapter describes service-oriented modeling concepts and design principles. A high-level tutorial breaks down the components of a service-oriented architecture into activities, services, and processes.
It then applies these concepts to a service-oriented enterprise by establishing a series of business modeling and technology building blocks for the design of service-oriented environments. Examples are provided, establishing problems that are then solved using these service-oriented design principles.
Finally, the Layered Scope Model (LSM) is introduced, establishing a migration strategy for the controlled integration of XML and Web services technologies through a series of phases that gradually transition an organization toward the service-oriented enterprise. This last section draws upon information provided throughout the Field Guide, by listing the service models, processes, and strategies most appropriate for each LSM phase.