Book Image

Do more with SOA Integration: Best of Packt

By : Arun Poduval, Doug Todd, Harish Gaur, Jeremy Bolie, Kevin Geminiuc, Lawrence Pravin, Markus Zirn, Matjaz B. Juric, Michael Cardella, Praveen Ramachandran, Sean Carey, Stany Blanvalet, The Hoa Nguyen, Yves Coene, Frank Jennings, Poornachandra Sarang, Ramesh Loganathan, Guido Schmutz, Peter Welkenbach, Daniel Liebhart, David Salter, Antony Reynolds, Matt Wright, Marcel Krizevnik, Tom Laszewski, Jason Williamson, Todd Biske, Jerry Thomas
Book Image

Do more with SOA Integration: Best of Packt

By: Arun Poduval, Doug Todd, Harish Gaur, Jeremy Bolie, Kevin Geminiuc, Lawrence Pravin, Markus Zirn, Matjaz B. Juric, Michael Cardella, Praveen Ramachandran, Sean Carey, Stany Blanvalet, The Hoa Nguyen, Yves Coene, Frank Jennings, Poornachandra Sarang, Ramesh Loganathan, Guido Schmutz, Peter Welkenbach, Daniel Liebhart, David Salter, Antony Reynolds, Matt Wright, Marcel Krizevnik, Tom Laszewski, Jason Williamson, Todd Biske, Jerry Thomas

Overview of this book

<p>Service Oriented Architecture (SOA) remains a buzzword in the business and IT community, largely because the ability to react quickly is of utmost importance. SOA can be the key solution to this. The challenge lies in the tricky task of integrating all the applications in a business through a Service Oriented Architecture, and &ldquo;Do more with SOA Integration: Best of Packt&rdquo; will help you do just that with content from a total of eight separate Packt books. <br /><br />&ldquo;Do more with SOA Integration: Best of Packt&rdquo; will help you learn SOA integration from scratch. It will help you demystify the concept of SOA integration, understand basic integration technologies and best practices, and get started with SOA Governance. &ldquo;Do more with SOA Integration: Best of Packt&rdquo; draws from eight separate titles from Packt&rsquo;s existing collection of excellent SOA books:</p> <ol> <li>BPEL cookbook</li> <li>SOA Approach to Integration</li> <li>Service Oriented Architecture: An Integration Blueprint</li> <li>Building SOA-Based Composite Applications Using NetBeans IDE 6</li> <li>Oracle SOA Suite Developer's Guide</li> <li>WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g</li> <li>Oracle Modernization Solutions</li> <li>SOA Governance</li> </ol> <p><br />The chapters in &ldquo;Do more with SOA Integration: Best of Packt&rdquo; help you to learn from the best SOA integration content in no less than eight separate Packt books. The book begins with a refresher of SOA and the various types of integration available, and then delves deeper into integration best practices with XML, binding components and web services from Packt books like &ldquo;Oracle SOA Suite Developer's Guide &ldquo; and &ldquo;BPEL Cookbook&rdquo;. Along the way you&rsquo;ll also learn from a number of real world scenarios. By the end of &ldquo;Do more with SOA Integration: Best of Packt&rdquo; you will be equipped with knowledge from a wide variety of Packt books and will have learnt from a range of practical approaches to really get to grips with SOA integration.<br /><br />Chapter listings with corresponding titles:</p> <ul> <li><strong>Preface</strong> - Dismantling SOA Hype: A Real-World Perspective (BPEL cookbook)</li> <li><strong>Chapter 1</strong> - Basic Principles: Types of integration (Service Oriented Architecture: An Integration Blueprint)</li> <li><strong>Chapter 2</strong> - Integration Architecture, Principles, and Patterns (SOA Approach to Integration)</li> <li><strong>Chapter 3</strong> - Base Technologies: Basic technologies needed for SOA integration (Service Oriented Architecture: An Integration Blueprint)</li> <li><strong>Chapter 4</strong> - Best Practices for Using XML for Integration (SOA Approach to Integration)</li> <li><strong>Chapter 5</strong> - Extending Enterprise Application Integration (BPEL cookbook)</li> <li><strong>Chapter 6</strong> - Service-Oriented ERP Integration (BPEL cookbook)</li> <li><strong>Chapter 7</strong> - Service Engines (Building SOA-Based Composite Applications Using NetBeans IDE 6) </li> <li><strong>Chapter 8</strong> - Binding Components (Building SOA-Based Composite Applications Using NetBeans IDE 6) </li> <li><strong>Chapter 9</strong> - SOA and Web Services Approach for Integration (SOA Approach to Integration)</li> <li><strong>Chapter 10</strong> - Service- and Process-Oriented Approach to Integration Using Web Services (SOA Approach to Integration)</li> <li><strong>Chapter 11</strong> - Loosely-coupling Services (Oracle SOA Suite Developer's Guide)</li> <li><strong>Chapter 12</strong> &ndash; Integrating BPEL with BPMN using BPM Suite (WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g) </li> <li><strong>Chapter 13</strong> - SOA Integration&mdash;Functional View, Implementation, and Architecture (Oracle Modernization Solutions)</li> <li><strong>Chapter 14</strong> &ndash; SOA Integration&mdash;Scenario in Detail (Oracle Modernization Solutions)</li> <li><strong>Appendix</strong>: Bonus chapter - Establishing SOA Governance at Your Organization (SOA Governance)</li> </ul>
Table of Contents (20 chapters)
Do more with SOA Integration: Best of Packt
Credits
About the Contributors
www.PacktPub.com
Preface

Patterns for service-oriented integration


Service-oriented integration is based on two fundamental patterns:

  • Process integration: The process integration pattern extends the 1: N topology of the broker pattern. It simplifies the serial execution of business services, which are provided by the target applications.

  • Workflow integration: This is basically a variant of the serial process pattern. It extends the capability of simple serial process orchestration to include support for user interaction during the execution of individual process steps.

Process integration

The process integration pattern extends the 1: N topology of the broker pattern seen in EAI. It simplifies the serial execution of business services, which are provided by the target applications, and therefore enables the orchestration of serial business processes, based on the interaction of the source application. The serial sequence is defined using process rules, which allows for decoupling from the process logic (flow logic and the domain logic) of the individual application. The rules define not only the control and data flow, but also the permitted call rules for each target application. Interim results (process data) are stored in individual results databases.

The process integration pattern can be broken down into three building blocks:

  • The source applications consist of one or more applications that want to interact with the target applications.

  • The serial process rules support the same services as the broker in the broker pattern, including routing queries, protocol conversion, message broadcasting, and message decomposition and re-composition. In addition, externalization of the process flow logic from the individual applications is also supported. The process logic is determined by serial process rules which, together with the control and data flow rules, define the execution rules for each target application. These rules are stored in a process rules database.

  • The target applications consist of both new and existing (modified or unmodified) applications. These applications are responsible for implementing the necessary business services.

The advantages and disadvantages of the process integration pattern are shown in the following table:

Advantages

Disadvantages

  • Improves the flexibility and responsiveness of an organization by implementing end-to-end process flows and externalizing process logic from individual applications.

  • Provides a foundation for Business Process Management that enables the effectiveness of business processes to be monitored and measured.

  • Only direct, automatic processing supported. No user interaction is possible (refer to the workflow variant).

  • No parallel processing possible.

Uses

Process integration is used for the following reasons:

  • Support for end-to-end process flows which use the services provided by the target applications

  • Improves the flexibility and responsiveness of IT by externalizing process logic from individual applications

Variants

There are two variants of this pattern:

The parallel process pattern extends the simple serial process orchestration provided by the serial process patterns, by supporting concurrent execution and orchestration of business service calls. The concurrent execution of sub-processes requires the sub-steps to be split up and brought together, so that they can be executed in parallel. Different patterns are available for this purpose at an implementation level (for example, patterns for parallel computing and different architecture styles (for example, pipes-and-filters architectures). The interim results of a sub-step may or may not influence the overall results. It is also possible for the interim results of a sub-step to influence the execution of other sub-steps.

The external business rules variant adds the option of externalizing business rules from the serial process, into a business rule engine, where they can be evaluated. The process only reacts to the responses of the rule engine. The complex rule evaluations are carried out by the specialized rule engine. Externalizing the rules improves flexibility and responsiveness, because the business rules can be adapted much more easily and quickly.

Workflow integration

The workflow integration pattern represents an extension of the process integration pattern, as illustrated in the following diagram:

It extends the capability of simple serial process orchestration to include support for user interaction during the execution of individual process steps. As a result, it supports a classic workflow.

Variants

The parallel workflow integration pattern is a variant of the workflow integration pattern, and corresponds to the parallel process integration pattern which forms part of the process integration pattern. It extends the capability of parallel process orchestration to include support for user interaction during the execution of individual process steps. As a result, it supports a parallel workflow.