Open Source SOA
Jeff Davis
  • May 2009
  • ISBN 9781933988542
  • 448 pages
  • printed in black & white

A survival guide in the complex landscape of open source SOA.

Alberto Lagna, whitebox.it

Until recently, many of the software technologies used for developing SOA-based solutions were limited to expensive, commercial offerings. However, that has now changed, and a compelling open source SOA platform can be implemented exclusively with open source products. Open Source SOA identifies a suite of open source products that can be used for a building SOA environment, and describes how they can be integrated by practitioners. It includes a hands-on introduction to the products selected; a multitude of source code examples; and implementation through real-life case studies.

Table of Contents detailed table of contents

preface

acknowledgments

about this book

Part I History and principles

1. SOA essentials

1.1. Brief history of distributed computing

1.2. The promise of web services for delivering SOA

1.3. Understanding the core characteristics of SOA

1.4. Technologies of a SOA platform

1.5. Introducing a SOA maturity model

1.6. Summary

2. Defining the Open SOA Platform

2.1. Evaluating open source products

2.2. Choosing a BPM solution

2.3. Choosing an enterprise decision management solution

2.4. Choosing an ESB

2.5. Choosing an ESP solution

2.6. Choosing a registry

2.7. Choosing a service components and composites framework

2.8. Choosing a web services mediation solution

2.9. Summary

Part II Assembling components and services

3. Creating services using Apache Tuscany

3.1. What are service components and compositions?

3.2. The SCA assembly model

3.3. Summary

4. Advanced SCA

4.1. Configuration using component types

4.2. SCA interaction models

4.3. Scripting language support

4.4. Advanced Tuscany/SCA

4.5. Summary

Part III Business process management

5. Introducing jBPM

5.1. BPM: the "secret sauce" of SOA

5.2. History and overview of JBoss jBPM

5.3. Understanding nodes

5.4. Using transitions

5.5. Extending using actions

5.6. Using events for capturing lifecycle changes in a process

5.7. Managing context using variables

5.8. Summary

6. jBPM tasks

6.1. What are tasks?

6.2. Task user management

6.3. Using timers

6.4. Task controllers

6.5. Developing with the task API

6.6. Summary

7. Advanced jBPM capabilities

7.1. Important enterprise features of jBPM

7.2. Integration with SCA/SDO

7.3. Summary

Part IV Event stream processing, integration, and mediation

8. Complex events using Esper

8.1. Business events in the enterprise

8.2. Understanding events

8.3. What is Esper?

8.4. Getting started with Esper

8.5. EPL basics

8.6. Advanced Esper

8.7. Service enabling Esper

8.8. Summary

9. Enterprise integration and ESBs

9.1. The relationship between ESB and SOA

9.2. Historical foundations of ESB

9.3. Introducing Apache Synapse

9.4. Basic Apache Synapse message and service mediation

9.5. Summary

10. ESB implementation with Apache Synapse

10.1. Learning Synapse through a case study

10.2. Phase 1: simple web service mediation

10.3. Phase 2: VFS, CSV, email, and message wiretap

10.4. Phase 3: tasks, DB mediator, and iterator

10.5. Phase 4: QoS using Synapse

10.6. Summary

Part V Enterprise decision management

11. Business rules using JBoss Drools

11.1. Understanding business rules

11.2. Introducing Drools

11.3. Drools Rule Language (DRL) overview

11.4. Drools header elements

11.5. Defining rules in Drools

11.6. Querying facts in Drools

11.7. Drools RuleFlow for rule orchestration

11.8. Alternatives to using Drools Rule Language

11.9. Summary

12. Implementing Drools

12.1. Case study overview

12.2. Rules management using Drools Guvnor

12.3. Developing decision services

12.4. Summary

resources

index

About the Technology

Service Oriented Architecture, or SOA, has become embraced by many organizations as a means of improving reusability of software assets; providing better alignment between business and IT; and, increasing agility for responding to demands in the marketplace. This is accomplished by breaking individual units of functionality into services that can then be exposed through open protocols and standards.

What's inside

  • History and fundamentals of SOA.
  • Evaluation criteria for selecting open source SOA products.
  • Using Apache Tuscany to create protocol-neutral services:
    • Understanding the Service Component Architecture (SCA).
    • Defining services declaratively.
    • Wiring together of service components.
    • Deployment and production using Tuscany.
    • Developing components using scripting languages.
    • Understanding callbacks and message exchange patterns.
  • Business Process Management (BPM) using JBoss jBPM.
    • Creating business processes using jBPM.
    • Understanding and using tasks.
    • Extending and integrating jBPM.
    • Service-enabling jBPM using Apache Tuscany.
  • Event Stream Processing (ESP) using Esper.
    • Understanding ESP and its essential role in SOA.
    • Using the Esper Query Language.
    • Patterns for filtering and monitoring business events.
    • Service-enabling Esper using Apache Tuscany.
    • Integrating Esper with jBPM.
  • Enterprise Service Bus (ESB) using Apache Synapse.
    • Appropriate uses of an ESB in SOA.
    • Core features and capabilities of Synapse.
    • Using Synapse for service mediation.
    • WS-Security, policies and service discrimination using Synapse.
    • Complete end-to-end use case demonstrating Synapse in action.
  • Business Rule Management using JBoss Drools.
    • Role of business rules in SOA.
    • Developing rules using the Drools Rule Language.
    • Creating user-friendly rules using DSLs and decision tables.
    • Using the Guvnor Business Rule Management System (BRMS).
    • Exposing Drools as a decision services using Apache Tuscany.

About the author

Jeff Davis is Director of Software Architecture at HireRight. In that capacity, he designed the company's integration platform, and is the SOA evangelist. He has over 15 years of experience in software development, with an emphasis on enterprise architecture and integration.


Buy
  • combo $49.99 pBook + eBook
  • eBook $39.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks

An invaluable guide...excellent examples.

Rick Wagner, Acxiom Corp.

The in-depth comparisons of various open source SOA products are worth the price of the book.

Peter Johnson, Unisys

...applicable to any SOA project, regardless of the platform.

Irena Kennedy, Microsoft

Practical SOA solution that integrates key open source technologies.

Doug Warren, Java Web Services