Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
Ebook1,040 pages6 hours

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

Rating: 0 out of 5 stars

()

Read preview

About this ebook

This book covers building an application using the principles of BPM and SOA, using WPS and WESB. The various detailed aspects, features, and capabilities of the product are conveyed though examples. It also provides pragmatic guidance on various aspects in relation to building the SOA application. Every section has solutions to common problems and pitfalls. 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.
LanguageEnglish
Release dateJul 9, 2010
ISBN9781847198297
Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7

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

Related ebooks

Information Technology For You

View More

Related articles

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

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

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

    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 (<tina_manthorpe@sky.com>)

    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, Installing the Development Environment, 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, Building your Hello Process Project, 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, Building your Hello Mediation Project, 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.

    Conventions

    In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

    Code words in text are shown as follows: In WID the service component definition is included in the .component file.

    A block of code is set as follows:

    DataObject customerInfo) {} function with the following code: public DataObject requestCreditApproval(DataObject customerInfo) {     ServiceManager serviceManager = ServiceManager.INSTANCE;     BOFactory boFactory = (BOFactory)serviceManager.locateService(com/ibm/websphere/bo/BOFactory);     DataObject customerCreditApproval = boFactory.create(http://Ch6Library,CustomerCreditApproval);  customerCreditApproval.setString(id,customerInfo.getString(id));

    Any command-line input or output is written as follows:

    manageprofiles(.bat)(.sh) -backupProfile -profileName profile_name -backupFile backupFile_name -username user_name -password password

    New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: Click on the Add button and then click on the Finish button.

    Note

    Warnings or important notes appear in a box like this.

    Tip

    Tips and tricks appear like this.

    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 <feedback@packtpub.com>, 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 .

    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 <copyright@packtpub.com> 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 <questions@packtpub.com> 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 Business Process Management (BPM) enabled by a Service Oriented Architecture (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 WebSphere Process Server (WPS) and IBM WebSphere Enterprise Services Bus (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 need

    A text that addresses the core concepts and practical ideas in BPM, enabled by SOA approach

    A primer for getting started with BPM using WPS and WESB

    A step-by-step guide for implementing BPM using WPS and WESB successfully

    A 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?

    Enjoying the preview?
    Page 1 of 1