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
Chapter 2: Introduction to XML technologies
Tutorials covering, XML, DTD, XSD, XSLT, XQuery, XPath.
Chapter 3: Introduction to Web services technologies
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
– correlation
– choreography
– activities
Chapter 4: Introduction to Second-generation (WS-*) Web services technologies
– 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
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 login
Chapter 6: Integrating Web services into applications
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
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
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
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
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 services 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
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
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
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
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.