SOA Approach to Integration

SOA Approach to Integration
eBook: $35.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 40%!
Print + free eBook + free PacktLib access to the book: $95.98    Print cover: $59.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Service-Oriented Architectures and SOA approach to integration
  • SOA architectural design and domain-specific models
  • Common Integration Patterns and how they can be best solved using Web services, BPEL and Enterprise Service Bus (ESB)
  • Concepts behind SOA standards, security, transactions, and how to efficiently work with XML


Book Details

Language : English
Paperback : 384 pages [ 235mm x 191mm ]
Release Date : November 2007
ISBN : 1904811175
ISBN 13 : 9781904811176
Author(s) : Frank Jennings, Matjaz B. Juric, Poornachandra Sarang, Ramesh Loganathan
Topics and Technologies : All Books, Enterprise Products and Platforms, BPEL, Enterprise, SOA, Web Services


Table of Contents

Chapter 1: Integration Architecture, Principles, and Patterns
Chapter 2: Service- and Process-Oriented Architectures for Integration
Chapter 3: Best Practices for Using XML for Integration
Chapter 4: SOA and Web Services Approach for Integration
Chapter 5: BPEL and the Process-Oriented Approach to Integration
Chapter 6: Service- and Process-Oriented Approach to Integration Using Web Services
  • Chapter 1: Integration Architecture, Principles, and Patterns
    • Integration Challenges
      • Current Situation
      • Effective Information Systems
      • Replacing Existing Applications
    • Requirements and Strategies
      • Single Data Input
      • Information Access with Low Latency
    • Importance of a Centrally Managed Integration Project
      • Responsibility to Define Integration Architecture
      • Responsibility to Select Integration Infrastructure and Technologies
      • Development and Maintenance of Integration Documentation
    • Integration Architecture Steps and Approaches
      • Bottom-Up Approach
      • Top-Down Approach
      • Sound Integration Architecture Benefits
    • Types of Integration
      • Data-Level Integration
      • Application Integration
      • Business Process Integration
      • Presentation Integration
      • Business-to-Business Integration
    • Integration Infrastructure
      • Communication
      • Brokering and Routing
      • Transformation
      • Business Intelligence
      • Transactions
      • Security
      • Lifecycle
      • Naming
      • Scalability
      • Management
      • Rules
    • Integration Technologies
      • Database Access Technologies
      • Message-Oriented Middleware
      • Remote Procedure Calls
      • Transaction Processing Monitors
      • Object Request Brokers
      • Application Servers
      • Web Services
      • Enterprise Service Buses
    • The Integration Process
      • Choosing the Steps and Defining the Milestones
      • Sound Practices
        • Iterative Development
        • Incremental Development
        • Prototyping
        • Reuse
      • Integration Process Activities and Phases
    • Integration Patterns
    • Summary
  • Chapter 2: Service- and Process-Oriented Architectures for Integration
    • Defining Service-Oriented Architectures
      • Why SOA in the Integration Space?
        • Islands in the Enterprise IT Landscape
        • The Integration Problem
      • Custom Integration Application and Its Issues
      • Inverted View: Reusable Services, Simple Integration Processes
      • Enter SOA: A Services-Based Integration Architecture
    • Concepts and Principles of SOA
      • Paradigm Shift—from Self-Contained Applications towards "Services"
      • Service Orientation
      • Component-Based Services
        • The Internet Simplifies Remote Services
      • Consuming Services
    • Introducing SOA Architecture
      • Service Abstractions
      • Service Invocation and Service Implementation
      • Process Engines
      • Messaging Abstractions
      • Synchronous and Asynchronous Messages
      • Service Registries
      • Quality of Service
      • Communication Infrastructure
      • What is a "Bus"?
  • XML and Web Services: SOA Foundation
    • Using XML in Middleware
      • Middleware Mechanics for Services
      • XML-Based Mechanism to "Invoke" Services
      • Services over the Web via SOAP
    • Web Services—Protocols for SOA
      • Technology Agnostic System-to-System Interaction
      • Service Description—Using WSDL
      • Discovering the Services—UDDI
      • Containers to Host Web Services
    • Standards Foundation
      • Application Platforms (JAVA EE) Hosting Web Services
  • Using Services to Compose Business Processes
    • Simple Integration Applications
    • Simple Business Processes—Orchestrating the Services
    • Choreography—Multi-Party Business Process
  • SOA Security and Transactions
    • Security Challenges in a Services Environment
    • Simple Middleware Systems Security
      • Security in Java Infrastructure
      • Microsoft.NET Security
    • Web Services Security for Loosely Coupled Services
      • Emerging Web Services Security Standards
    • Transactions in SOA
      • Web Services Transaction—A Standard
  • Infrastructure Needed for SOA
    • Service Execution and Communications
      • Types of Component Services
      • Service Containers (Execution Engines)
      • Communication Infrastructure—Under the Covers
      • Communication "Bus"—At the Core
      • MOM
    • XML Backbone (XML, Transformations, and Persistence)
    • Reliability and Scalability
      • Managing a Distributed SOA Environment
    • Options for SOA Infrastructure
      • Web Services
      • Application Platforms (JAVA EE / .NET)
      • Simple Messaging-Based Custom Infrastructure
      • Integration Platforms (EAI)
      • ESB—Enterprise Service Bus
  • Designing Services and Processes for Portability
    • Adoption Considerations
      • Think Services
      • Model the Business Data as XML
      • Processes in BPEL
      • New Applications—Prepare for SOA/POA
    • Design for Infrastructure (Vendor) Independence
  • Transition to Process-Oriented Architectures
    • Services and Processes Coexist—But Services First
      • Process—Orchestration of Services
    • POA—Shifting the Focus to "Processes First"
    • Concepts and Principles of Process-Oriented Architectures
      • POA—Processes First. Services... Maybe!
      • POA Enables Top-down Design—Using just Processes
      • Analysts Become Programmers
      • POA Changing Software Development Roles
    • Process Standards
    • Infrastructure for Process-Oriented Architectures
  • Summary
  • Chapter 3: Best Practices for Using XML for Integration
    • Introduction
      • Domain-Specific XML Schemas
      • Validating XML Documents
      • Mapping Schemas
      • Choosing Processing Models
      • Fragmenting Incoming XML Documents
      • Design Recommendations
      • Default Namespace—targetNamespace or XMLSchema?
      • Localize Namespace vs. Expose Namespaces
        • Advantages of Localizing Component Namespaces within the Schema
        • Advantages of Exposing Namespaces in Instance Documents
      • Global vs. Local Declaration
        • Russian Doll and Salami Slice Designs
      • Element vs. Type
      • Zero, One, or Many Namespaces
        • Use the Heterogeneous Namespace Design
        • Use the Homogeneous Namespace Design
        • Use the Chameleon Design
    • Using XSL for Transformation
      • xsl:import and xsl:include
    • Securing XML Documents
      • XML Encryption
        • Encrypting an XML File
        • SSL versus XML Encryption
        • XML Signatures
      • Guidelines for Securing Your Services
    • XML Streaming and DOM
      • Pull Parsing versus Push Parsing
      • What is StAX?
        • StAX and Other JAXP APIs
        • Performance Considerations
      • Limit Parsing of Incoming Documents
      • Use the Appropriate API
      • Choosing Parser
      • Reduce Validation Cost
      • Referencing External Entities
      • Dynamically Generated Documents
      • Using XML Judiciously
    • Summary
  • Chapter 4: SOA and Web Services Approach for Integration
    • Designing Service-Oriented Architectures
      • SOA Evolution
      • IT Evolution
      • Patterns
        • Business Patterns
        • Integration Patterns
        • Composite Patterns
        • Application Patterns
        • Runtime Patterns
        • Product Mappings
      • Guidelines
    • Designing Sound Web Services for Integration
      • Web Services Architecture
      • Web Services Benefits
        • Self-Contained
        • Self-Describing
        • Modular
        • Accessible Over the Web
        • Language, Platform, Protocol Neutral
        • Open and Standards-Based
        • Dynamic
        • Composable
      • Patterns
      • Self-Service Business Pattern
      • Extended Enterprise Business Pattern
      • Application Integration Pattern
        • Application Integration Patterns
        • Direct Connection Application Pattern
        • Broker Application Pattern
        • Serial Process Application Pattern
        • Parallel Process Application Pattern
      • Runtime Patterns
        • Nodes
        • Connectors
        • Direct Connection Runtime Pattern
        • Runtime Patterns for Broker
    • Differences between B2B and EAI Web Services
      • Interface Design
      • Use of a Service Registry
    • Writing Interoperable WSDL Definitions
      • Validating Interoperable WSDL
    • Interoperability Challenges in Web Services
      • WS-I Specifications
        • WS-I Basic Profile 1.0
        • WS-I Basic Profile 1.1
        • WS-I Basic Profile 1.2
        • WS-I Basic Security Profile 1.0
    • Guidelines for Creating Interoperable Web Services
      • Avoid using Vendor-Specific Extensions
      • Use the Latest Interoperability Tests
      • Understand Application Data Models
      • Understand Interoperability of Data Types
    • Java EE and .NET Integration using Web Services
      • Sample Integration Scenario
      • Developing the Java Web Service
        • Deploying the Service
        • WSDL for Java Web Service
        • Developing the .NET Web Service
        • Deploying the .NET Web Service
      • Developing the Test Client
    • Summary
  • Chapter 5: BPEL and the Process-Oriented Approach to Integration
    • Process-Oriented Integration Architectures
    • Service Composition
      • Orchestration and Choreography
      • Complexity of Business Services
      • Identifying Business Services
      • Development Lifecycle
    • SOA and Executable Business Processes
      • Example Business Process
    • BPEL for Service Composition
      • What We Can Do with BPEL
      • Executable and Abstract Processes
      • BPEL and Other Process Languages
        • Languages for Choreography
        • Modeling Notations
    • Writing BPEL Processes
      • Process Interface
      • Partner Links
      • Partner Link Types
      • Variables
      • Handlers
        • Fault Handlers
        • Event Handlers
        • Compensation Handler
      • Scopes
      • Overview of BPEL Activities
    • Developing an Example BPEL Process
      • Services Used in the Process
        • Resource Data Service
        • Rating Service
        • Billing Service
        • Adding Partner Link Types to the Service's WSDL
      • Define a WSDL Interface for the BPEL Process
      • Writing the BPEL Process Logic
        • Process Declaration
        • Defining Partner Links
        • Declaring Variables
        • Writing the Process Definition
      • Adding a Fault Handler
      • Adding an Event Handler
      • Deploy and Run the Process
    • Summary
  • Chapter 6: Service- and Process-Oriented Approach to Integration Using Web Services
    • Enterprise Service Bus
      • From Just Services to an Enterprise Bus
      • ESB Architecture
        • Defining ESB
        • Middleware for Middleware Technologies
        • Modeling the Enterprise Document Flows
        • ESB Services: Built on Documents/Messages
        • ESB Infrastructure Components
        • Built on Web Services Standards
      • Service Containers—The Primary Tier of the Bus
        • Inside the Container
        • External View of Services: Documents Sent to Abstract "Endpoints"
        • JBI—A Standard Container to "host" Services
        • Communication Infrastructure
      • Bus Services—Mediation, Transformations, and Process Flows
        • Why Mediation?
        • Infrastructure Mediation
        • Intelligent Content-Based Routing
        • Transformation Services
        • ESB Processes: Extending the WS Process Model
      • Security and Transactions
        • Security Considerations in Integration Architecture
        • ESB Security—Built on WS-Security
        • Transaction Semantics for Enterprise Integration
        • Distributed Transactions and Web Services
        • Realizing Transactions in ESB
      • Reliability, Scalability, and Management
        • Reliability Concepts
        • Achieving Reliable Communication through ESB
        • High Availability in ESB—Leveraging the Messaging Platform
        • Scalability and Performance of ESB
        • Control and Management of ESB
      • Application Development Considerations
        • Integration Application Constituents
        • ESB—Application Design Approach
        • Comparing ESB with Other Technologies
        • ESB—Helps Avoid Vendor Lock-Ins
      • Extending ESB to Partners
    • Summary

Frank Jennings

Frank Jennings works in the Information Products Group of Sun Microsystems Inc. He has more than 9 years of experience in Java, SOA and System Design. He is an Electronics Engineer from Madras University and has worked for several open source projects. Frank has written regular columns for leading Java journals including Java Developer's Journal and Linux Developer's Week. Frank is also the co-author of the book SOA Approach to Integration focusing on SOA design pattern for enterprises. Frank also is involved in the technical publication of Sun Microsystems in the fi elds of Solaris and Developer AMP Stack. His blog can be read at and he can be reached at He also holds a Post Graduate Diploma in Computer Science and an Advance Diploma in Computer Integrated Management from University of Indianapolis

Matjaz B. Juric

Matjaz B. Juric holds a PhD in Computer and Information Science. He is a Full Professor at the University of Ljubljana and head of the Cloud Computing and SOA Competence Centre ( Matjaz is a Java Champion, IBM Champion, and Oracle ACE Director. He has more than 15 years of work experience. He has authored/co-authored "Do More with SOA Integration, WS-BPEL 2.0 for SOA Composite Applications, Oracle Fusion Middleware Patterns, Business Process Driven SOA using BPMN and BPEL, and Business Process Execution Language for Web Services "(English and French editions). He has also authored/co-authored "BPEL Cookbook: Best Practices for SOA-based integration and composite applications development" (award for best SOA book in 2007 by SOA World Journal), "SOA Approach to Integration, Professional J2EE EAI, Professional EJB, J2EE Design Patterns Applied", and .NET Serialization Handbook. He has published chapters in More Java Gems (Cambridge University Press) and in Technology Supporting Business Solutions (Nova Science Publishers). He has also published in several journals and magazines and presented at conferences. Matjaz has been involved in several large-scale projects. In cooperation with the IBM Java Technology Centre, he worked on performance analysis and optimization of RMI-IIOP, an integral part of the Java platform.

Poornachandra Sarang

Poornachandra Sarang, Ph.D., is CEO of ABCOM Information Systems. He has been a Visiting Professor of Computer Engineering at the University of Notre Dame, USA and is currently a visiting professor for Post-Graduate Computer Science courses at the University of Mumbai. Dr. Sarang provides consulting services to worldwide clients in architecting and designing IT solutions based on Java, CORBA, and Microsoft platforms. A well known and a highly sought-after trainer, Dr. Sarang has conducted several training programs on the latest technologies for several top-notch IT companies. He conducts lectures/seminars on emerging technologies across the world and has made several presentations at international conferences. He has authored/co-authored several books on Java, C++, J2EE, e-Commerce, and .NET.

Ramesh Loganathan

Ramesh has 16 years of Systems engineering and R&D management experience in technology-intensive product development organizations including Sonic Software (Technical Director, India Dev Center), Pramati Technologies (VP, Engineering) and Informix (Principal Engineer). Ramesh has full life-cycle experience setting up and managing product development organizations and motivating high-caliber engineering teams. He has strong insight into Systems software, Middleware-technology, Database internals, Internet Architectures, and frameworks. Ramesh has led engineering efforts building software infrastructure products at Pramati and Sonic Software. After a brief engagement with Sonic/Progress, Ramesh is now VP-Middleware Technologies at Pramati, driving the product direction and setting up a new Technology Consulting business around Middleware Systems.

Ramesh has worked with several organizations in India and in the US including IBM, Lever, Compaq, TCS, Informix, and Integra.

Ramesh is an accomplished Technologist and evangelist regularly speaking at workshops and seminars. He is active in Tech fora, JCP, and SPEC organizations. He is a member of several Standards Expert groups including J2EE 1.4 and is a founding member of and Ramesh is actively engaged with academia and researchers and is an Adjunct Faculty member at IIIT-H, teaching two courses on Middleware systems.

Contact Ramesh Loganathan

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

SOA Approach to Integration +    Oracle E-Business Suite Financials R12: A Functionality Guide =
50% Off
the second eBook
Price for both: £34.45

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • How to design and develop SOA for integration
  • Integration architecture patterns, principles, and best practices, with focus on the process-centric SOA approach
  • The role of XML, web services, and ESBs in SOA for integration
  • The role of service composition and BPEL in integration
  • J2EE and .NET integration
  • Why and how to use web services and XML for integration

In Chapter 1 you will get an overview of the challenges in integration and learn why integration is one of the most difficult problems in application development. We also identify the best strategies for SOA-based integration and discuss top-down, bottom-up, and inside-out approaches. You will learn about different types of integration, such as data-level integration, application integration, business process integration, presentation integration, and also B2B integration.

Chapter 2 will help you understand what SOA is. You will see that SOA is a very comprehensive enterprise integration paradigm that builds on many existing concepts. Web services standards provide a strong foundation for SOA infrastructure. You will also learn about the Enterprise Services Bus which is presently one of the leading integration infrastructure options.

Chapter 3 discusses various design anomalies that may arise while designing XML schemas. Some of the broad categories covered in this chapter are design recommendations for architecting domain-specific XML Schemas, tips for designing XML schemas with examples, using XSL effectively for translating Infosets from one form to another, securing XML documents with encryption and digital signature, and XML serialization and the differences between SAX, DOM, and StAX.

Chapter 4 discusses the architecture of web services and its benefits. The chapter provides an in-depth coverage of the various patterns that can be applied while creating SOA using web services. You will learn the essential differences between EAI and B2B and how to apply SOA integration techniques in this space. The chapter also discusses several guidelines for creating interoperable web services. Finally, a complete, albeit trivial, example of creating web services on the .NET and Java EE platforms is discussed.

In Chapter 5, you will become familiar with the BPEL language and a process-oriented approach to integration. The characteristics of process-oriented integration architectures are discussed. You will learn how to identify business services and service lifecycles. Then the role of executable business processes, which reduce the semantic gap between business and IT, is explained. The chapter introduces the most important technology—BPEL. You will learn about characteristics of BPEL and identify the differences between executable and abstract processes. The basic BPEL concepts and the role of WSDL will be discussed.

In Chapter 6, you will see how ESB provides a concrete infrastructure for SOA, extending the simple services model to include a robust services bus with extensive mediation functionality.

In Detail

Integration of applications within a business and between different businesses is becoming more and more important. The needs for up-to-date information that is accessible from almost everywhere and developing e-business solutions — particularly business to business — require that developers find solutions for integrating diverse, heterogeneous applications, developed in different architectures and programming languages and on different platforms. They have to do this quickly and cost effectively, but still preserve the architecture and deliver robust solutions that are maintainable over time.

Integration is a difficult task. This book focuses on the SOA approach to integration of existing (legacy) applications and newly developed solutions, using modern technologies, particularly web services, XML, ESB, and BPEL. The book shows how to define SOA for integration, what integration patterns to use, which technologies to use, and how to best integrate existing applications with modern e-business solutions. It also shows how to develop web services and BPEL processes, and how to process and manage XML documents from the JEE and .NET platforms. Finally, it also explains how to integrate both platforms using web services and ESBs.

This book shows how to define SOA integration architecture, what technologies to use, and how to best integrate existing applications with modern e-business solutions. The book also shows how to develop web services, how to process and manage XML documents from JEE and .NET platforms, and how to use ESBs and BPEL executable business processes within SOA architecture.


After explaining the challenges, levels, and strategies of integration the book explains SOA, web services, and the Enterprise Services Bus before covering processing XML and web services on the .Net and JEE platforms in more detail. Then it covers BEPL and demonstrates service composition into business processes with a realistic, although simple example BPEL process. Finally it shows how ESB provides a concrete infrastructure for SOA.

Who this book is for

This book is for architects and senior developers who are responsible for setting up SOA for integration for applications within the enterprise (intra-enterprise integration) and applications across enterprises (inter-enterprise integration or B2B).

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software