Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7 - Salil Ahuja - E-Book

Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7 E-Book

Salil Ahuja

0,0
47,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

By adopting an SOA approach in Business Process Management (BPM), you can make your application flexible, reusable, and adaptable to new developments. The SOA approach also gives you the potential to lower costs (from reuse), and increase revenue (from adaptability and flexibility). However, integrating basic SOA constructs (such as Process, Business Services, and Components) and core building blocks of BPM (such as Process Modeling and Enterprise Service Bus) in a real-world application can be challenging.This book introduces basic concepts of Business Integration, SOA Fundamentals, and SOA Programming Model and implements them in numerous examples. It guides you to building an Order Management application from scratch using the principles of Business Process Management and Service Oriented Architecture and using WebSphere Process Server (WPS) and WebSphere Enterprise Service Bus (WESB). The various detailed aspects, features, and capabilities of the product are conveyed through examplesWe begin with essential concepts on Business Integration, SOA Fundamentals and SOA Programming Model. Then we set up the development environment to build your first Hello Process and Hello Mediation applications.Gradually, we build an SOA-based Order Management Application. We cover important aspects and functions of WPS and WESB with numerous practical examples. We show how to analyze your application's business requirements and check if an SOA approach is appropriate for your project. Then you do a top-down decomposition of your application and identify its use cases, business processes, and services. Having built the SOA Application, we introduce you to various non-functional topics, including: Administration, Governance, Management, Monitoring, and Security. We also discuss deployment topologies for WPS and WESB, performance tuning, and recommended practices.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Seitenzahl: 592

Veröffentlichungsjahr: 2010

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
Credits
About the Authors
About the Reviewers
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Introducing IBM BPM and ESB
What is Service Oriented Architecture (SOA)?
Process, Business Services, and Components—the core constructs
Achieving success through BPM enabled by SOA
Business Process Management (BPM)
Building blocks of BPM enabled by SOA framework
Business Process Modeling
Business Process Execution (including Choreography)
Enterprise Service Bus
Business Policies and Rules
Business Process Monitoring
Information Model
IBM SOA Reference Architecture
What is Reference Architecture?
Key elements of IBM SOA Reference Architecture
Introducing IBM WebSphere Process Server (WPS)
Role of WPS in SOA
Platform architecture
Common BPM adoption scenarios
Introducing IBM WebSphere Enterprise Service Bus (WESB)
Role of WESB in SOA
Platform architecture
Common WESB usage scenarios
Interaction patterns
Mediation patterns
Deployment patterns
WESB selection checklist
IBM's SOA Foundation lifecycle
IBM's BPM enabled by SOA method
Summary
2. Installing the Development Environment
WebSphere Integration Developer overview
Prerequisite configuration
Installing WID on Windows
IBM Installation Manager
Starting the Installation
Setting up UTE
WPS and WESB Integrated test environment
Verifying the installation
Post installation activities
Uninstalling WID
Getting Started with WID
Starting WID
Business Integration perspective
Available views
Working with Modules and Libraries
Solution diagram
Assembly Diagram
Palette
Imports and Exports
References and wires
Dependency editor
Words of wisdom — tips, tricks, suggestions, and pitfalls
Summary
3. Building your Hello Process Project
SOA programming model
Web Services Description Language (WSDL) in a minute
XML Schema Definition (XSD) in a minute
Service Component Architecture (SCA)
Defining SCA
Service Component Definition Language
Service Data Objects (SDO)
Business Process Execution Language (WS-BPEL)
WID and WS-BPEL
Building your first business process
Creating the Integration Solution
Creating library project
Creating and visualizing Business Objects
Creating and visualizing interfaces
Creating the Hello Process BPEL
Creating a new module called HelloProcess
Creating a business process component HelloProcess
Implementing the HelloProcess process
Testing modules and components
Deploying the modules
Executing the modules
Logging and troubleshooting
Words of wisdom — tips, tricks, suggestions, and pitfalls
Summary
4. Building Your Hello Mediation Project
WS standards
What are mediation flows?
Mediation primitives
Service Message Objects (SMO)
Creating mediation modules
Creating the Hello Mediation Flow
Implementing the HelloMediationModule
Testing modules and components
Deploying the modules
Executing the modules
Summary
5. Business Process Choreography Fundamentals
Using WPS in the right scenarios
Creating service contracts with interface editor
Development approach with WID
Lingua Franca for BPM — Business Objects
Working with Business Process (WS-BPEL)
Long-running processes and microflows
Using control structures in your processes
Invoke external services using Invoke activity
Data mapping using Business Object Maps
Exception handling in Business Processes
SCA exception types
Compensation
Catch, Catch All, Throw, Rethrow, and Terminate
Exception handling suggested practices
Failed Event Manager
Relationships
Using Visual Snippets
Handling human tasks
Using rule groups and rules
Business rules
Business rule sets and templates
Decision tables
Words of wisdom — tips, tricks, suggestions, and pitfalls
Summary
6. Mediations Fundamentals
Mediation flows
Service Message Object (SMO)
Working with Mediation primitives
Mediation primitive overview
Implementation steps common to most Mediation primitives
Service invocation
Callout
Properties
Example — Callout
Usage tips
Service invoke
Key use
Properties
Usage tips
Routing primitive
Message filter
Key uses
Example – Message Filter primitive
Test and execution
Usage tips
Endpoint lookup
Key uses
Properties
Usage tips
Flow Order
Properties
Usage tips
Fan Out
Key use
Implementation steps
Properties
Usage tips
Fan In
Key uses
Implementation steps
Properties
Usage tips
Transformation primitives
Message element setter
Key use
Properties
Usage tips
Database Lookup
Key uses
Implementation steps
Example — Database Lookup primitive
Custom Mediation
Key use
Example — Custom Mediation
Usage tips
XSL Transformation primitive
Key use
Example — XSL Transformation primitive
Usage tips
Tracing primitives
Message Logger
Key use
Implementation steps
Usage tips
Example — Message Logger primitive
Error Handling — Stop/Fail
Key use
Implementation steps
Usage tips
Dynamic routing
What is the need for dynamic routing or endpoint selection?
Integration with external systems using adapters
What are adapters?
How different are the adapters when compared to mediation flows?
What are these WebSphere Adapters?
What types of adapter come "out-of-the-box" with WPS/WESB?
Summary
7. Sales Fulfillment Application for JungleSea Inc.
Business requirements
Business goals
IT goals
IT requirements
Existing JungleSea Inc. applications
Customer Information Management
Order Entry
Product Catalog Management
Customer Billing Management
Order Management
Shipping Management
Inventory Management
Customer Credit Management
Supplier / Partner Management
SOA considerations
Applying the SOA Foundation Lifecycle
Architecture and design
System context
Identified use cases and scenarios
Actors
Use cases
Identified Business Processes
Solution Architecture
Service identification
Service granularity
Top-Down, Bottom-up, and Goal-Oriented Decomposition Analysis
Categorized (Business) Service Portfolio
Identified components and services
Architectural decisions and design patterns applied
Laying out the build plan
Identifying WPS and WESB parts
Summary
8. Walk the Talk
Shared libraries
Business Doman Libraries
Creating the Common Domain library
BillingDomain-v1_0
CustomerDomain-v1_0
ProductDomain-v1_0
SupplierPartner-v1_0
End Application libraries
Visualizing the solution
Process Services
Process Service — Order Handling
Process Service — Order Handling components
Process Service — CustomerInterfaceManagement
Process Service — CustomerInterfaceManagement components
Business Services and Access Services
Business Services for TrackAndManageCustomerOrder component
Business Service — ProductCatalogMgmt
Business Service — InventoryManagement
Business Service — CustomerCreditManagement
Business Service — SupplierPartnerManagement
Business Service — CustomerBillingManagement
Business Service — ShippingManagement
Business Service — CustomerOrderManagement
Business Service — CustomerInformationManagement
Summary
9. Building the Order Handling Processes
Module assembly
Steps involved in building business process
Building ProcessServices-CustomerInterfaceManagement
Implementing HandleCustomerContactProfile business process component
Importing application libraries and modules/simulators
Creating and importing JungleSea domain libraries
Creating and/or importing necessary dependent modules
Creating ProcessServices-CustomerInterfaceManagement module
Module assembly and wiring
Implementing HandleCustomerContactProfile BPEL component
Implementing Fault Handling
Testing the business process
Building ProcessServices-OrderHandling
Implementing TrackAndManageCustomerOrder business process component
Creating and/or importing necessary dependent modules
Module Assembly and Wiring
Implementing the business process component
Implementing Fault Handling
Testing the Business Process
Correlation sets in BPEL processes
Anatomy of a correlation set
Using a correlation set
Summary
10. Integration with Various Applications
Patterns addressed
Module assembly
Testing the modules
Key concepts
Test configurations
Emulators
Monitors
Events
Unit testing
Component testing
Implementing Business Service and Access Service modules
Building BizServices-ShippingMgmt module
Implement the Business Service component
Building AccessServices-Rapid module
Creating the Access Service module
Implementing adapters
Access Service module assembly and wiring
Implementing Mediation Flows
Unit Testing the Mediation Flows
Wiring Business Services and Access Services
Testing the Business Service end-to-end
Building BizServices-CustomerCreditMgmt module
Building AccessServices-Equal module
Create Access Service module
Access Service module assembly and wiring
Implementing Mediation Flows
Testing the Mediation Flows
Wiring to Business Services and Access Services
Building BizServices-SupplierPartnerMgmt module
Building AccessServices-Moonlight module
Create the Access Service module
Implement JDBC adapter
Building BizServices-InventoryMgmt module
Building AccessServices-Alpha module
Creating the Access Service module
Access Service module assembly and wiring
Implement the Mediation module
Testing the Business Service end-to-end
Building BizServices-CustomerBillingMgmt module
Building BizServices-CustomerInfoMgmt module
Summary
11. Business Space
What is Business Space?
Business Spaces
Launching Business Space
Creating a Business Space
Creating a Business Space template
Sharing a Business Space
Widgets
Adding widgets to Business Space
Summary
12. Deployment Topologies
Deployment topology considerations
WebSphere Application Server Network Deployment fundamentals
Cells
Nodes
Deployment manager
Profiles
Clusters
Bus
Databases
Vertical clustering
Horizontal clustering
SCA components and cluster
Operational architecture
Infrastructure requirements
Logical operational architecture
Physical architecture
Sales Fulfillment Application deployment topology
Words of Wisdom
Summary
13. Management, Monitoring, and Security
Solution administration tasks
Using the administrative console
Performing common tasks using the administrative console
Enabling server and application security
Administrative Security procedures — Enabling administration security at profile creation
Installing SCA modules using the admin console
Managing Users and Groups
Integration with LDAP
Configuring Resources
Troubleshooting and Problem Determination
Administration tasks using Business Space
Installing versioned SCA modules
Monitoring WPS/WESB applications
Tools and capabilities provided
Monitoring with BPC Explorer
Configuring BPC Explorer
Service Monitoring with Business Space
Monitoring with Problem Determination Space
Common Event Infrastructure (CEI) and CBE Browser
Words of wisdom — tips, tricks, suggestions, and pitfalls
Summary
A. WID, WPS, and WESB Tips, Tricks, and Pointers
Any suggested method to backup WID?
Restoring a profile from a backup
Increasing WID's heap size
How to add projects and libraries as dependencies in WID?
How to reset a profile within WID?
How to change the level of Web Services Interoperability (WS-I) compliance?
How to change the type of your business process?
How to get the list of ports the server uses for connections?
Various tools and associated URLs that we should be aware of and bookmark
Checking the version of the WPS or WESB server
How to list all defined profiles on a WPS server?
What is the difference between backing up admin configuration and profile backup?
The administrator user ID and password to log in to the administrative console
The recommended WPS deployment topology
Turning off IBM-specific BPEL Extension
Deploying modules with libraries by reference
How to create versioned modules and libraries?
Exporting a versioned SCA Module from WID for server deployment
Some considerations or practices to adopt when dealing with versioned modules
Recommended practices when working in a team environment or when performing team programming
Performing team programming with CVS
Stopping and starting process templates with the admin console
tranLog
Enabling and disabling Cross-Component Trace settings
Use of global variables in a forEach within a BPEL process
Enabling event monitoring in WID
Using DynaCache to improve the performance of your WPS or WESB solution?
What is the difference between Shared context, Correlation context, and Transient context? When to use which?
What is WID history logging?
WID Tracing
BPEL or Mediation Flows — which and when to choose?
Some common business process implementation types and when to use them
Seeing WPS data in a Derby DB
Miscellaneous Snippet Topics
Overriding a Web Service endpoint in a mediation flow
What is deferred parsing in the context of WESB?
Some performance tips and considerations
The difference between testing a module and testing a component
What are the best forums to get help in WID, WPS, and WESB?
Where can I listen or read up on advanced presentations and Webcasts?
What are some useful pointers to articles, IBM redbooks, and other sources for advanced topics related to WID, WPS, and WESB?
Index

Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7

Swaminathan Chandrasekaran

Salil Ahuja

Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7

Copyright © 2010 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: July 2010

Production Reference: 1010710

Published by Packt Publishing Ltd.

32 Lincoln Road

Olton

Birmingham, B27 6PA, UK.

ISBN 978-1-847198-28-0

www.packtpub.com

Cover Image by Tina Negus (<[email protected]>)

Credits

Authors

Swami Chandrasekaran

Salil Ahuja

Reviewers

Xinyu Liu

Steve Robinson

Prabu Swamidurai

Acquisition Editor

Sarah Cullington

Development Editors

Dhwani Devater

Reshma Sundaresan

Technical Editors

Alfred John

Neha Mallik

Copy Editor

Leonard D'Silva

Editorial Team Leader

Aanchal Kumar

Project Team Leader

Lata Basantani

Project Coordinator

Poorvi Nair

Proofreader

Lynda Sliwoski

Indexer

Monica Ajmera Mehta

Production Coordinator

Alwin Roy

Cover Work

Alwin Roy

About the Authors

Swami Chandrasekaran works for IBM as an Industry Executive Architect for its Software Group—Industry Solutions. He provides architectural leadership for IBM tooling / product suite and works with its global customers in delivery of best in class solutions. His expertise includes next-generation networks, OSS/BSS, SOA, Dynamic BPM and modern web-based architectures, and TM Forum Frameworx (NGOSS). He has travelled to almost 24 countries and is constantly sought after within the company for his technical leadership and client skills. His credits include technical and strategic interface with various senior executive and institutions, including Fortune 100/500 companies and international clients. He is the SME and Co-Lead Architect for the WebSphere Telecom Content Pack.

He has presented at several conferences, authored articles within IBM, articles featured in BearingPoint Institute for Thought Leadership, and also holds several patent disclosures. He previously worked for BearingPoint and also for Ericsson Wireless Research. He lives with his wife Ramya and daughter Harshitha in Dallas, Texas. He is an avid video gamer and during his free time he likes to write at http://www.nirvacana.com. He holds a Master's in Electrical Engineering from the University of Texas, Arlington.

There are many people whom I would like to thank. I thank my IBM management team for encouraging and allowing me the time needed to write this book. I'd like to thank all my mentors and my family members including my in-laws who have helped and guided me over the last several years. I'd like to thank the staff at Packt Publishing, including Poorvi Nair, Sarah Cullington, Reshma Sundaresan, and Dhwani Devater for their assistance in this effort. Finally and most importantly, I thank my wife, Ramya and daughter, Harshitha for encouraging me to take this immensely challenging journey and for all the weekends and time they have sacrificed so that this book could become a reality.

I dedicate this book to my parents, my Gurus, and Ramya.

Salil Ahuja currently works for IBM as a Technical Lead in their AIM Customer Programs group. He has been working in the IT industry for over eight years in a variety of positions ranging from development to client services. As a certified IBM SOA Designer, he has spent the majority of his career consulting with large healthcare players on the design, implementation, and delivery of standards-based enterprise SOA solutions. In his current role, he works with premium IBM clients to educate and enable them on the leading edge technologies within the IBM Business Process Management portfolio. Salil is a sought after expert on HIPAA and Health Level 7 Clinical Data Architecture, and has presented to various IBM labs on healthcare information exchange in the provider payer space.

He lives in Austin, Texas with his wife Priyanka. In his spare time he enjoys the outdoors, theater, and playing or watching basketball whenever possible. He can be contacted on LinkedIn at http://www.linkedin.com/pub/salil-ahuja/0/b92/186.

This book is a result of a collaborative effort and I would like to acknowledge those who helped make it possible. First, I thank IBM management for approving the undertaking of this book project and Packt publishing for helping materialize the book. Also, I would like to extend thanks to my co-author, Swami Chandrasekaran, for bringing this opportunity to me. We worked countless hours to make this book a reality. I could not have completed this book without the continuous support from my mentors, friends, and family - thank you to all of you. Specifically, I would like to thank my parents, Sudha and Suvir, and my brother, Nitin, for their constant support and encouragement that allows me to continuously take on new challenges like this. And lastly, a very special thanks to my wife Priyanka - thank you for your encouragement, understanding, and patience that gave me the space and enviroment that allowed me to write this book.

I dedicate this book to my parents - Sudha and Suvir, who have always put my needs before theirs and laid the foundation for the life that I have built.

About the Reviewers

Xinyu Liu had his graduate educations at the George Washington University. As a Sun Microsystems certified enterprise architect, he has intensive application design and development experience on JavaEE, JavaSE, and JavaME platforms.

He works in a healthcare company as a key technical contributor in its IT department. During his years of service, new application design and implementation methodologies and strategies were established under his effort. He also leads the effort to transition to a Portal, BPM, SOA-oriented architecture, in addition to the setting up of an enterprise-wide knowledge repository based on Drools rule engine and a content management system on top of Alfresco.

He is a writer for Java.net and Javaworld.com on different topics, including JSF, Spring Security, Hibernate Search, Spring Web Flow, and the new Servlet 3.0 specification.

He also worked on the review of the books Spring Web Flow 2 Web Development and Grails 1.1 Web Application Development, both by Packt Publishing.

Special thanks to my son, Gavin Liu and my wife, Xiaowen Zhou.

Steve Robinson is currently employed as Chief Technology Officer for a Boutique management consultancy in London. Previously, he was an international WebSphere consultant and he has been a consultant for both IBM Lotus Notes and Microsoft.NET technologies. Steve has been working in IT for over 15 years and has provided solutions for many large-enterprise corporations worldwide including IBM, Lloyds Banking Group, BSkyB, and PricewaterhouseCoopers in both the middleware and Internet technology space. He recently published a book entitled WebSphere Application Server 7.0 Administration Guide. Steve also runs and supports http://www.webspheretools.com, a very popular knowledge site dedicated to WebSphere and related tools.

Prabu Swamidurai is a WebSphere consultant specializing in large scale WebSphere implementations in the "Big 4 Banks" and financial and retail industries in the UK. He has worked in Fortune 500 companies in the Europe and the Middle East region for the past 12 years, focusing on IBM WebSphere technologies.

Prabu is certified in several IBM products including WebSphere Application Server, Process Server, ESB, DataPower, MQ, and Message Broker. He has a unique reputation for creating and implementing highly-sophisticated automated build and deployment tools for these products and technologies with his clients. He has a Master's degree in Physics and Computer Science.

He can be contacted via his web portal www.webspherespcialist.com.

I would like to thank my loving wife Latha; without you I would not be the person I am today. I also dedicate this book to my children Alwin and Ajeet who in their own unique ways gave me encouragement, enjoyment, and delight throughout the review of this book. I also would like to thank my mother (Jeya) for her dedication, love, and support.

Preface

By adopting an SOA approach in Business Process Management (BPM), you can make your application flexible, reusable, and adaptable to new developments. This book introduces basic concepts of Business Integration, SOA Fundamentals, and SOA Programming Model, and implements them in numerous examples.

You will learn to analyze business requirements and rationalize your thoughts to see if an SOA approach is appropriate for your project. Using the principles of Business Process Management, Service Oriented Architecture, using IBM WebSphere Process Server 7(WPS), and WebSphere Enterprise Service Bus 7 (WESB), the authors guide you through building an Order Management application from scratch.

What this book covers

Chapter 1, Introducing IBM BPM and ESB, discusses the core capabilities needed for a process integration approach, IBM’s SOA Reference Architecture, and IBM’s Business Process Management platform including WebSphere Process Server (WPS) and WebSphere Enterprise Service Bus. It also discusses IBM’s BPM enabled by SOA lifecycle methodology.

Chapter 2, InstallingtheDevelopmentEnvironment, takes you through the process of installing and setting up the WID development environment. During the course of setting up the environment, it takes a quick peek into some of the fundamentals of WID, key concepts, and terms. It takes us through a crash course in using WID and also shows us how to navigate using WID as well as some of the key activities that one would perform and how to perform them.

Chapter 3, BuildingyourHelloProcessProject, discusses the fundamental SOA programming model concepts and helps us understand how these concepts apply in the context of WID/WPS/WESB. It also discusses, in detail, the Service Component Architecture (SCA). It also rounds up the SOA programming model discussions with BPEL. It also provides instructions on building our first business process-based application—Greeting Solution. Though the application does a simple job, the purpose of building this application is to understand how to go about using WID, the various capabilities of WID, and how to apply these capabilities. It also briefly touches upon logging, debugging, and troubleshooting basics and exporting projects from WID.

Chapter 4, BuildingyourHelloMediationProject, provides an overview of WESB-based programming fundamentals including Service Message Objects (SMO) and Mediation Flows. It helps us to build our first HelloMediationModule. Instructions are provided to create, implement, and assemble the HelloMediationModule and HelloProcess. These modules are then deployed on the WebSphere Process Server, which is a part of the WID Unit Test Environment.

Chapter 5, Business Process Choreography Fundamentals, discusses the various aspects and functions of WPS and WESB that are absolutely and fundamentally essential. The topics covered are Business Process (WS-BPEL), Business Objects, Business Rules, State Machines, Visual Snippets, Compensation, Fault Handling, and Control Structures .

Chapter 6, Mediations Fundamentals, performs an in-depth study of mediation flows, mediation primitives, and adapters. It walks us through the various aspects and concepts about Mediation primitives and Service Message Objects that are absolutely fundamental and essential. The other topics that this chapter touches upon are Adapters and Dynamic routing.

Chapter 7, Sales Fulfillment Application for JungleSea Inc., guides you through the steps involved in architecting the new Sales Fulfillment Application. It also identifies the appropriate WPS and WESB components that will have to be built.

Chapter 8, Walk the Talk, provides details around the assembly phase of the IBM SOA Reference Architecture. It discusses how to assemble components to catalog their interface and data types in shared libraries that can then be leveraged by the different modules of the Sales Fulfillment Application.

Chapter 9, Building the Order Handling Processes, guides us through how to build the Process Services modules, namely, ProcessServices-OrderHandling and ProcessServices-CustomerInterfaceManagement, and the associated businesses processes (BPELs). It starts with the creation of shared libraries and then provides a top-down breakup of the process, business, and access services that will be developed and assembled for the Sales Fulfillment Application. It covers several topics including BPEL development steps, using business rules in the process, implementing human tasks, usage of control structures, fault handling including compensation, correlation sets, and discusses how to test the business processes end-to-end, once the Business Service and Access Service modules have been built.

Chapter 10, Integration with Various Applications, walks you through the implementation of the first working version of the Sales Fulfillment Application along with all the business service modules (with the associated components) and the corresponding Access Services (with the associated components). Then it discusses how to perform unit testing and component testing. It also helps in the implementation of the Business and Access Service modules. It also provides a step-by-step method to implement them and unit test them.

Chapter 11, Business Space, provides an overview of the Business Space and touches upon some of the basic concepts and functionalities to help you get started.

Chapter 12, Deployment Topologies, provides information regarding the fundamental aspects to take into consideration when choosing a deployment topology. It discusses the fundamentals behind WebSphere Application Server Network Deployment (WAS ND), which is the base foundation platform for the IBM BPM portfolio of products including WPS and WESB. Then it discusses clustering, how to do vertical and horizontal clustering, and briefly looks at the databases used by WPS. It also discusses the several deployment patterns available from IBM and how, from them, we can choose the Remote Messaging and Remote Support topology pattern (gold topology) as the production topology.

Chapter 13, Management, Monitoring and Security, shows us how to perform some of the most common solution administration tasks, including how to use the admin console and various activities we can perform using it. Then it discusses installing versioned SCA modules and how to monitor the applications deployed on WPS/WESB. It also discusses various tools and capabilities provided in WID/WPS/WESB to monitor the applications and components.

Appendix, WID, WPS, and WESB Tips, Tricks, and Pointers will be a random yet useful collection of typical questions, how-tos, and tips on different topics when developing with WID, WPS, and WESB. It will cover some of the most common questions related to WID tooling, managing, and administering the runtime. This chapter is meant to be a quick reference where we scratch the surface of some advanced topics that warrant a book by itself. It aims to provide you with the right pointers so that you can get to the appropriate information and not have to search for it.

What you need for this book

This book covers building an application using the principles of BPM and SOA and using WPS and WESB. The various detailed aspects, features, and capabilities of the product will be conveyed though examples. It will also provide pragmatic guidance on various aspects in relation to building the SOA application.

The software needed for this book is

Operating system: Windows or Linux

WebSphere Integration Developer v7

- This includes an Integrated WebSphere Process Server and WebSphere Enterprise Service Bus test environments

- For software requirements on Windows refer: http://www-01.ibm.com/support/docview.wss?rs=2308&context=SSQQFK&uid=swg27016958

- For software requirements on Linux refer: http://www-01.ibm.com/support/docview.wss?rs=2308&context=SSQQFK&uid=swg27016957

Who this book is for

This book is for SOA architects, designers and developers who have a basic understanding of SOA concepts and would like to learn more about building solutions and applications using IBM WebSphere Process Server and WebSphere Enterprise Service Bus.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply send an e-mail to <[email protected]>, and mention the book title via the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or e-mail <[email protected]>.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book on, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Tip

Downloading the example code for this book

You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at <[email protected]> with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.

Chapter 1. Introducing IBM BPM and ESB

JungleSea Inc. is a fictitious online retailer who sells a wide range of products including books, digital media, and electronics. They have a wide network of suppliers and partners, who participate in their ecosystem. JungleSea is under constant pressure to respond quickly to tactical changes happening in the market place, while adopting new business and operating models for rapid strategic change. Architects within JungleSea have been a big proponents of a BusinessProcessManagement (BPM) enabled by a ServiceOrientedArchitecture (SOA) approach to help business and IT decisions to be aligned better. By adopting a BPM-SOA approach, they have, over time, demonstrated how they were able to reach the flexibility, reuse, and adaptability that made them better prepared to compete and win against their competitors. The SOA approach also gave them the potential to lower costs (from reuse), and increase revenue (from adaptability and flexibility). JungleSea Inc. had already selected and decided that it would use IBM WebSphereProcessServer (WPS) and IBM WebSphereEnterpriseServicesBus (WESB) as its core platform for its BPM enabled by SOA.

JungleSea's IT, like any other organization, has multi-faceted, multi-skilled, and multi-leveled employees. From time to time, they hire new people to infuse new blood and thinking into the system. Quite naturally, a BPM-enabled SOA approach can get overwhelming for new hires. This book is about taking the reader through a mentorship journey. The style of the book will be such that the reader will be introduced to the fundamental concepts, then walk them through numerous examples, and finally the journey of building an application using the principles of BPM and SOA and using WPS and WESB.

Alongside the journey, we will be using WPS and WESB as the vehicle to build the SOA application; the various detailed aspects, features, and capabilities of the product will be conveyed though examples. It will also provide practical and pragmatic guidance on various aspects in relation to building the SOA application. Every section will have solutions to common problems and pitfalls. The purpose of this book is to enable the reader to assume the role of the mentee (one who is being mentored; source: Merriam-Webster) and how he/she is introduced to various concepts in SOA, BPM Integration, and so on, and how we apply all these concepts while building a solution. The style of the book is:

A reference book that's organized into chapters, so you can flip right to what you needA text that addresses the core concepts and practical ideas in BPM, enabled by SOA approachA primer for getting started with BPM using WPS and WESBA step-by-step guide for implementing BPM using WPS and WESB successfullyA compilation of WPS and WESB related resources that you can go to for additional help or continued education

In the first part, we will focus on the basics and overview of the key and essential concepts that a reader will require to go forward with the book. We will give a crash course on Business Integration, SOA Fundamentals, and SOA Programming Model. Then we will have the environment set up. Then, to give the reader a feel for the product, build the first Hello Process (with WPS) and Hello Mediation (with WESB) applications.

In the second part, we will build an SOA-based Order Management Application (named Sales Fulfillment Application) for JungleSea Inc. We will guide the reader through the various aspects and functions of WPS and WESB, which are absolutely necessary, through numerous practical examples. Then we will analyze the business requirements and rationalize our thoughts to see if an SOA approach is the right way. Then we will build SOA-based architecture, do a top-down decomposition, and identify use cases (and scenarios), business processes, and services/components.

In the third and final part, having built the SOA Application for JungleSea Inc., we will take the reader through various non-functional topics including Administration, Governance, Management, Monitoring, and Security. We will also discuss deployment topologies for WPS and WESB, performance tuning, and recommended practices. Finally, we will address a series of 'How Do I' questions that a reader typically ask.

In this chapter, we will:

Discuss how a BPM enabled by the SOA approach is the key to achieving success.Discuss the key building blocks for a business process-driven integration enabled by SOA.Briefly discuss the value of reference architectures and IBM SOA reference architecture.Map the key building blocks of BPM enabled by SOA approach with the IBM SOA reference architecture.Demonstrate what an instantiated solution architecture that has adopted IBM SOA reference architecture would look like.Start introducing WebSphere Process Server and where it fits in the larger context of SOA. Also discuss its platform architecture and some of the common usage scenarios it will be used in.Discuss Enterprise Service Bus (ESB) and some of the key capabilities to look for in an ESB. We then introduce WebSphere Enterprise Service Bus Server and where it fits in the larger context of SOA. We also discuss its platform architecture and some of the common usage scenarios it will be used in.

What is Service Oriented Architecture (SOA)?

There is no single unique and easy way to define or explain SOA. Given a room full of C-level executives, IT Managers, IT-Architects, and developers with each asked to give a one sentence explanation of what SOA is, for sure, each answer will be different. What is the fundamental message behind SOA? What is it trying to achieve and what does it provides the adopter with? This will help the reader to be able to define or explain it correctly. Let's list some of most common facts he/she may have heard about SOA:

It's a style for building loosely coupled and distributed applicationsIt's all about service providers providing services to service consumers that conform to contractsIt provides a programming model based on standards defined by various standard bodies including OASIS, WS-*, and so on

Note

ServiceOrientedArchitecture (SOA) is a set of architectural styles, patterns, principles, procedures, and criteria for building solutions and applications.

Such applications exhibit the following characteristics:

Loosely coupled from operating systems, programming languages, and protocolsExpose coarse grained Business Services that can be mapped to business capabilitiesBusiness Services are Modular, Encapsulated, and ReusableCan be Composed, Orchestrated, or ChoreographedServices expose standardized interfacesServices are described though contracts and hence discoverableLeverages a standards-compliant middleware

The process of adopting an SOA is a journey and possibly an ever-evolving, ever-learning, never ending one. With SOA, you progress and mature over time to reach a state where you can truly achieve the benefits, as promised.

Process, Business Services, and Components—the core constructs

Business Processes represent the flow of activities required to complete a business process, which, in turn, help achieve a business objective. They are orchestrations, choreography, or compositions of Business Services targeted to achieve business goals.

Business Service, to be more precise, represents a discrete business function that makes meaningful sense to an organization. A Business Service can be composed of one of the many fine-grained functions or atomic services, and by the true definition of SOA, encapsulation, it can dynamically behave depending on how it is invoked. Services form the building blocks of SOA and should be reusable, decoupled, exposed in a standardized fashion, and derived from disparate IT resources.

Components realize and provide services from one or more applications and these components are wrapped into the Business Services. Components help realize not only the functionality of the services they expose, but also ensure that their Quality of Service (QoS) is good, as guaranteed by the service provider. The following figure depicts how all of the above are interrelated and interconnected at a very high level.

Achieving success through BPM enabled by SOA

A fact of reality in many organizations today is that they have many applications which are disparate in terms of technology, programming languages based on which they were written, capabilities exposed through interfaces, services, or APIs, and so on. To create a purchase order in an order entry system, we will need information about the customer from customer information management systems, product information from product catalog, and so on and so forth. Hence there is a constant struggle to make all the applications integrated.

IT is under constant pressure to address these requirements for managing layer upon layer of legacy systems that may or may not interoperate with any degree of simplicity. This is where integration comes in and helps connect applications together with the right communications , data semantics and server infrastructure as well as the right business process capabilities to give IT and enterprise leaders the ability to create composite applications that meet new flexible and dynamic business needs.

Getting the integration right is one of the key aspects of getting SOA right, and it enables the integration of the disparate applications. Integration is only one half of the struggle; there are several techniques and modes in which you can integrate applications. They include but are not limited to:

Presentation-based integration that provides interaction and collaboration capabilitiesProcess-driven integration that helps streamline business processesInformation-centric integration for unified access to information from heterogeneous data sourcesBare bones connectivity-based integration

A Business Process Management (BPM) approach enabled by SOA is key to achieving operating efficiencies and gaining a competitive advantage for any organization. Organizations need a BPM enabled by SOA framework, which will allow them to constantly evolve their collaborative process automation and process improvement approaches. So what is this BPM enabled by SOA framework and what will it comprise?

Business Process Management (BPM)

You may have been reading a lot about Business Process Management. What is it? BPM is a discipline that focuses on process modeling, design, automation, management, and continuous improvement. It is not a technology or a product. It covers the full range of application-to-application, inter-application, workflow, and person-to-person process management, including process modeling, design, automation, monitoring, management, and continuous improvement. The core and basic components of BPM include (but are not limited to):

Modeling and simulationPolicies and RulesCollaboration through human task processingContent-centric processingProcess execution including choreography and orchestrationBusiness Activity Monitoring (BAM)Support for common Business Objects (BOs)Intuitive process definition tool Customizable work portalHistorical process analysisWide range of integration capabilities and adaptersProcess Tracking and NotificationProcess Performance AnalysisSystem Scalability and Process PerformanceProvision for parallel human task approvalsCapability to work with and modify in-flight processes

Building blocks of BPM enabled by SOA framework

Businesses very well understand that their core (and differentiating) business processes will have to be automated (post integration) and be able to externalize these from end applications. Process-driven integration is about bringing people, processes, information, and systems together using the Business Process management (BPM) approach enabled by an SOA approach. This approach requires a solid technology platform and of course an over-arching methodology that will offer you prescriptive guidance on how to deliver solutions. So what are these core building blocks? They include:

Business Process ModelingBusiness Process ExecutionBusiness Policies and RulesEnterprise Service BusBusiness Process MonitoringInformation Model (the semantic model)

Now let's look briefly at each of these core building blocks/capabilities that are needed for achieving success in a business process-driven integration provided, as shown in the following figure:

Business Process Modeling

This is the starting point where you discover and document the various other business process(s) (using a modeling notation such as Business Process Modeling NotationBPMN) that might exist on paper or even in the minds of some subject matter experts and document it with business modeling. Also, once the processes are modeled, you will have the ability to run model simulations and try out various 'what-if' scenarios to forecast what would happen if you altered the process. Based on these simulations, you arrive at an optimal process design. The process modeling exercise also helps to identify the SOA services that will have to be specified, realized, and also in many cases, reused.

Business Process Execution (including Choreography)

Once the business processes have been modeled, they will have defined in an executable format (such as BusinessProcessExecutionLanguage (BPEL)) and deployed on a standard-based process execution platform that supports both the business process execution environment and the packaging of business tasks as services. The assembly, sequencing, orchestration, and choreography of existing services and new services results in the realization of a deployable process model. This assembly should be based on industry standards such as ServiceComponentArchitecture (SCA). The execution platform must also support human interaction for both participants in the business process and administrators of the business process. The runtime should also provide a variety of administrative capabilities required to configure the environment for the applications that are installed.

Enterprise Service Bus

EnterpriseServiceBus (ESB) provides the underlying connectivity and backbone infrastructure for SOA to connect applications. An ESB is essentially an architecture pattern that provides capabilities including connectivity, communications, message queuing, message routing, message transformation, reliable messaging, protocol transformation and binding, event handling, fault handling, message level security, and so on. It enables loose coupling between service consumers and service providers, and thus enhances the ability to rapidly change and introduce new Business Services into the environment. An ESB typically would leverage a service registry and repository to provide information about service endpoints.

Business Policies and Rules

Policies and rules can make the business processes highly flexible and responsive. A business policy represents a key piece of domain knowledge, externalized from a business process and is applied when a particular request context is met. An example could be, all purchase orders that include order items such as Oxygen Canisters are deemed critical orders, order amount worth over $1000 has to be shipped overnight, and so on. Metadata elements such as "order item" and "order amount" are deemed as the business domain vocabulary and values of which can change (you can add "Defibrillator" along to the critical items list), which will have to be externalized from the business process.

A business rule is a statement that defines or constrains some aspect of the business. They are typically atomic and cannot be broken down further. An example would be, say, in a loan origination business process, at each step of the process, business analysts identify rules that must be met by the loan staff and underlying systems. In traditional banking systems, these rules reside within the loan origination system itself, so changing the rules means modifying the application. When the rules are abstracted from the loan origination systems, they reside in a business rules engine. As a result, bank management can identify those activities that change rapidly, such as decisions relating to FICO® scores, and then, instead of changing the process and its underlying application, they change only the decision point within the business process, which in turn resides in a business rules engine (external to the process itself). This capability adds agility to the process by reducing the time, costs, and resources necessary to respond to changing conditions.

Business Process Monitoring

While the business processes are deployed and are executing, data must be captured that provides information about the processes. This data can be analyzed to determine if the business processes are performing as expected. Both business-related information and IT-related information can be captured for monitoring. You should also be able to visually define dashboards based on KeyPerformanceIndicators (KPI), which are based on the monitor model deployed for the business process, providing a visual display of the business process status.

Information Model

For a process-driven integration approach coupled with SOA to succeed, a common and enterprise level information model is required, which becomes the basis for the messages exchanged between processes and services, and also serves as the glossary for the business policies and rules. When dealing with applications that have disparate data and information models, use of this common information model shields the business processes away from the gory details of each and every individual system. The ESB provides capabilities to transform from this Canonical Data Model to the target system's format. The Canonical data model minimizes dependencies between integrated applications that use different data formats. Typically, one could leverage industry standards such as Tele Management Forum's Shared Information/Data Model (SID) and so on to define the information models.

Note

A mind map is a diagram used to represent words, ideas, tasks, or other items linked to and arranged around a central keyword or idea. Mind maps are used to generate, visualize, structure, and classify ideas, and as an aid in study, organization, problem solving, decision making, and writing.

A mind map, as shown in the following figure, sums up all the previous concepts.

IBM SOA Reference Architecture

IBM's SOA Reference Architecture defines a vendor and technology agnostic set of comprehensive IT capabilities that are required to support your SOA at each stage in a typical SOA life cycle. When an organization defines a solution architecture based on this reference architecture, they would not need all of the capabilities needed initially. But over time, to be successful in SOA, all the capabilities need to be evolved and added.

What is Reference Architecture?

A Reference Architecture captures the essence of the architecture of a collection of systems. It models the abstract architectural elements in the domain or a solution area, independent of the technologies, products, and protocols that are used to implement the domain. It differs from a reference model in that a reference model describes the important concepts and relationships in the domain focusing on what distinguishes the elements of the domain. Thus reference architecture is useful for:

Providing a common ground domain modelBasis for realizing an architecture visionProviding key architectural guidance and a blueprint as a baseline

Reference architecture is typically abstract and is abstract for a purpose. You typically instantiate or create solution/system architectures based on the reference architecture. Example reference architecture includes Unisys 3D Blueprints, IBM Insurance Application Architecture, and NGOSS reference architecture from the TM Forum, and so on.

Key elements of IBM SOA Reference Architecture

The IBM Software Reference Architecture is a reference model that lets you leverage information, applications, and tools as services in an interoperable, system-independent way. The subsequent diagram shows the IBM SOA Reference Architecture organized around the key capabilities required for building any SOA-based solution.

Development Services provide the capabilities in terms of development tools for the end users toefficiently complete specific tasks and create specific output based on their skills.Interaction Services provide the user interaction capabilities required to deliver the Business Services and data to end users.Process Servicesprovide the control, management, choreography, and orchestration of the business processes that interact with multiple services.Information Services provide the capabilities required to federate, unionize, and transform data from one or multiple applications or data sources and expose them as services.EnterpriseServiceBusdelivers all the connectivity capabilities required to leverage and use services implemented across the entire organization.Business Innovation and Optimization Services provide the monitoring capabilities and manage the runtime implementations at both the IT and business process levels.BusinessApplicationServices are services provided by existing applications or ones that will have to be exposed by the applications itself including third-party systems.AccessServicesallow access to the end applications, legacy applications, pre-packaged applications, enterprise data stores (including relational, hierarchical, and nontraditional, unstructured sources such as XML and Text), and so on using a consistent approach. These typically leverage the business application services.Infrastructure Services provide security, directory, IT system management, and virtualization capabilities to the SOA solution.Partner Services provide the capabilities for the efficient implementation of business-to-business processes and interactions.

So what is the relationship between the process integration, key capabilities needed for successful process integration, SOA, IBM SOA reference architecture, IBM WebSphere Process Server, and IBM WebSphere Enterprise Service Bus? The answer is pretty obvious. The book is about how you build SOA solutions with these two products and these two products indeed provide a majority of the capabilities, if not all, which are essential to a successful SOA. Now let's delve into what these two products are all about.

Having defined the essential elements for a BPM enabled by SOA approach, having explained the need for a reference architecture, and in particular, what IBM's SOA reference architecture is all about how does it all come together? How would a (reference) solution architecture, based on the IBM SOA Reference Architecture, look? The following figure shows one such instantiation of the "BPM enabled by SOA" solution architecture. It incorporates all of the building explained above, as categorized and organized into the appropriate IBM SOA reference architecture buckets/layers. Also, what each layer and each building block should have as capabilities within itself is explained.

Introducing IBM WebSphere Process Server (WPS)

Note

In this book we will cover WebSphere Integration Developer v7.0, WebSphere Process Server v7.0, and WebSphere Enterprise Service Bus v7.0 built on top of IBM WebSphere Application Server-ND v7.0.0.7.

WebSphereProcessServer (WPS) is one of the key and core products in the IBM WebSphere BPM suite. Referring back to the key capabilities needed for a successfully process-driven integration approach enabled by SOA, WPS addresses capabilities including Business Process Execution, Business Rules, Enterprise Service Bus, and a key enabler for Business Process Monitoring. WPS platform provides a standards-based uniform programming model for representation of data, invocation of services, and structure of composite applications. It provides a unified tooling, namely, WebSphere Integration Developer (WID) for the visual development of composite applications.

Role of WPS in SOA

As explained in the previous sections, process integration is fundamentally built on the concept of an SOA. In recent times, most of the applications expose web services. These services, which may be very fine-grained or atomic in nature, will have to be assembled into coarse-grained services that make meaningful sense to the business. A process-driven integration leverages these Business Services as business tasks in the larger choreography or orchestration of a business process. Because of the fact that fine-grained atomic services are assembled into coarse-grained business services, the use of the service is independent of the IT infrastructure needed to accomplish the task. Each Business Service then becomes a building block that, when combined with other Business Services, can become the fundamental building block to realize an end to end business process. The structuring of business processes, in this way, provides a flexible solution to real business problems, allowing the creation of new and modified processes easily. You can use WPS to develop and execute standard-based, component-based Business Integration applications using an SOA approach. The use of standards-based technology, including Web Services, helps to make the SOA vision a reality.

WPS leverages a programming model, which is very fundamental to understanding how applications are developed in WPS and WID (as explained earlier, WID is the integrated development environment for WPS). The programming model has three parts:

Invocation Model—defines how invocations of processes and services are made.

Invocation is the way in which a request is made from one piece of code to another. Programmatically, there are several methods of invocation including REST, HTTP, EJB stateless session beans, JAX-WS, JAX-RPC, JDBC for communicating with databases, JMS for messaging, and so on. WPS has adopted the Service Component Architecture (SCA) specifications as the basis for its invocation model. SCA is a set of specifications that describe a model for building applications and systems using an SOA approach. SCA divides the steps in building a service-oriented application into two major parts:

The implementation of components which expose (export) services and consume (import) other servicesThe assembly of sets of components to build business applications, through the wiring of references to services

SCA uses Service Data Objects (SDO) to represent the business data that forms the request and response values of service and/or components. SCA supports bindings to a wide range of access mechanisms used to invoke services and also through both synchronous and asynchronous programming styles.

DataModel—defines how data can be represented

Programmatically, there are several ways to represent data—EDI message, JDBC row set, JMS message, Java Persistence API (JPA), and so on. WPS has standardized the way in which data is represented and will be using Business Object (BO). BOs are extensions of Service Data Objects (SDO) to provide an abstraction layer for data access. Business Objects include some extensions that are very important for integration solutions and further describe the data that is being exchanged between Service Component Architecture-based services. This includes metadata-like change history or information on the context of the data such as update, create, delete, and so on.

CompositionModel—how you put together a series of invocations

WPS has adopted Business Process Execution Language (BPEL) as the way to define the overall business process. When the business process accesses data, it does so by making calls to SCA services passing Business Objects.

We will venture into more details about SCA, SDO and BO, and BPEL in the coming chapters.

Platform architecture

WPS at its core is built on WebSphere Application Server, providing a robust application server runtime with capabilities that the process server implementation can exploit such as Java Message Service (JMS) messaging and enterprise beans. It can also make use of the application server qualities of services such as transactions, security, and clustering. The following image shows the platform architecture of WPS and the different components it is made up of.

The components in the WPS platform architecture can be categorized as follows:

SOA Core

The foundation of SOA includes the main components, namely, the Service Component Architecture (SCA), Business Objects (BOs), and the CommonEventInfrastructure (CEI). The CEI provides the foundation architecture for the management and handling of events produced by business processes. This is essential for enabling the monitoring of business processes with products such as the WebSphere Business Monitor.

Supporting Services

On top of the SOA Core are a set of Supporting Services, which provide the transformation primitives required when building SOA solutions using SCA and BO. These include:

Interface maps which enable mapping to semantically similar but syntactically different interfaces.Business object maps, which enable the transformation of business data between fields of Business Objects.Relationships enable the correlation and synchronization of data representing the same business entity stored in multiple backend systems.Selectors provide for a dynamic invocation of a target.Java to invoke Java code.
Service Components

Service Components provide different component types that can all be assembled together when building an SOA solution.

Business Processes, which are defined using BPEL, realize an executable version of a business process in which the different activities of the process are carried out by making calls to the individual SCA services that implement the specific activities.Human Tasks provide the human task capabilities for people to participate and collaborate with the business processes. Human tasks can be integrated directly into the BPEL.Business State Machines are another way of modeling a business process that are highly event-driven and are well suited to being thought of in terms of a state transition diagram. The Business State Machine component allows you to model the business process using similar constructs as UML 2.0 state machine support and then generates BPEL for the implementation.Business rules enable the implementation and enforcement of business policy business rules and also for them to be managed independently from other aspects of an application. There are two styles of business rules, if-then rule sets and decision tables. A Web client is provided where the parameters of business rules can be changed by a business user using a natural language.Adapters are used for integration with various applications and backend systems that are external to the WPS. Adapters are categorized into technology and application adapters. These adapters are compliant with the Java Connector Architecture (JCA) 1.5 specification.

Common BPM adoption scenarios

In the collection of patterns for e-business, IBM has leveraged its vast experience from its architects and solutions and developed various classes and categories of patterns that can be applied to create solutions rapidly, whether for a small local business or a large multinational enterprise. The site http://www.ibm.com/developerworks/patterns/ breaks down these pattern assets into the following elements:

Business patternsIntegration patternsCustom designsApplication and RuntimeProduct mappingsGuidelines

All of the above integration patterns give interesting insight into how to integrate applications and data within an individual business pattern. At its highest level, application integration by itself is divided into Process Integration and Data Integration patterns.

Now let's look at some of the most common BPM adoption patterns, and more specifically, how WPS can be adopted in real-life client scenarios. IBM's BPM adoption patterns are classified into the following broad categories:

Process Automation—Streamline and automation of manual business processes to gain and hence optimize costs and efficiency. Examples include:
Automation of insurance rate-quote-issue process across multiple product linesCustomer billing and invoice inquiry or dispute process automation in the telecommunications industryOrder handling business process automation applicable to several vertical industriesMember/Patient claims handling processes automation in healthcareAutomation of student registration/on-boarding in education
CaptureInsightsforEffectiveActions—Achieve visibility through monitoring and capturing new insights to seize opportunities and mitigate risks. Business Activity Monitoring (BAM), in combination with role-based dashboards, augments and helps deliver this capability. Examples include:
Define time-bound KPIs on loan origination and approval business processes in the banking industry and act on them.Detecting the root cause of service activation failures in the Telecommunication industry and acting on them.Based on strategically defined business goals to improve customer satisfaction (defined as KPI) and improve customer problem handling business processes.