Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
By Salil Ahuja and Swami Chandrasekaran
()
About this ebook
Related to Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
Related ebooks
Robust Cloud Integration with Azure Rating: 0 out of 5 stars0 ratingsMicrosoft Forefront UAG 2010 Administrator's Handbook Rating: 0 out of 5 stars0 ratingsThe Best Damn Exchange, SQL and IIS Book Period Rating: 0 out of 5 stars0 ratingsSOA Patterns with BizTalk Server 2013 and Microsoft Azure - Second Edition Rating: 0 out of 5 stars0 ratingsProgramming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C# Rating: 0 out of 5 stars0 ratingsBusiness Process Execution Language for Web Services: Second Edition Rating: 3 out of 5 stars3/5VMware vRealize Operations Essentials Rating: 0 out of 5 stars0 ratingsWebSphere Application Server 7.0 Administration Guide Rating: 0 out of 5 stars0 ratingsMicrosoft System Center Configuration Manager Advanced Deployment Rating: 0 out of 5 stars0 ratingsLiferay 6.x Portal Enterprise Intranets Cookbook Rating: 0 out of 5 stars0 ratingsSOA-Based Enterprise Integration: A Step-by-Step Guide to Services-based Application Rating: 0 out of 5 stars0 ratingsPostgreSQL 9 Administration Cookbook - Second Edition Rating: 0 out of 5 stars0 ratingsFlash Multiplayer Virtual Worlds Rating: 0 out of 5 stars0 ratingsLearning Azure DocumentDB Rating: 0 out of 5 stars0 ratingsHybrid Cloud Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsHybrid Cloud Architecture A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsCMMI Process Area A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsData Storage Technology A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsAzure SQL Data Warehouse A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsThe Real MCTS SQL Server 2008 Exam 70-432 Prep Kit: Database Implementation and Maintenance Rating: 4 out of 5 stars4/5Beginning SQL Server Reporting Services Rating: 0 out of 5 stars0 ratingsMongoDB Recipes: With Data Modeling and Query Building Strategies Rating: 0 out of 5 stars0 ratingsMicrosoft BizTalk 2010: Line of Business Systems Integration Rating: 0 out of 5 stars0 ratingsSOA Governance in Action: REST and WS-* Architectures Rating: 0 out of 5 stars0 ratingsBizTalk Server 2010 Cookbook Rating: 0 out of 5 stars0 ratingsIT Infrastructure Monitoring Tools A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsInformatica MDM A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsInstant Citrix XenApp Rating: 5 out of 5 stars5/5Learning Adobe Connect 9 Rating: 0 out of 5 stars0 ratingsArchitecting CSS: The Programmer’s Guide to Effective Style Sheets Rating: 0 out of 5 stars0 ratings
Information Technology For You
Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Health Informatics: Practical Guide Rating: 0 out of 5 stars0 ratingsData Analytics for Beginners: Introduction to Data Analytics Rating: 4 out of 5 stars4/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5CompTIA A+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Core 1 Exam 220-1101 Rating: 0 out of 5 stars0 ratingsHacking Essentials - The Beginner's Guide To Ethical Hacking And Penetration Testing Rating: 3 out of 5 stars3/5Cybersecurity for Beginners : Learn the Fundamentals of Cybersecurity in an Easy, Step-by-Step Guide: 1 Rating: 0 out of 5 stars0 ratingsHow To Use Chatgpt: Using Chatgpt To Make Money Online Has Never Been This Simple Rating: 0 out of 5 stars0 ratingsChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5Computer Science: A Concise Introduction Rating: 4 out of 5 stars4/5Inkscape Beginner’s Guide Rating: 5 out of 5 stars5/5An Ultimate Guide to Kali Linux for Beginners Rating: 3 out of 5 stars3/5Unity Game Development Essentials Rating: 5 out of 5 stars5/5Investigating Child Exploitation and Pornography: The Internet, Law and Forensic Science Rating: 5 out of 5 stars5/5Learning Website Development with Django Rating: 0 out of 5 stars0 ratingsPersonal Knowledge Graphs: Connected thinking to boost productivity, creativity and discovery Rating: 0 out of 5 stars0 ratingsSupercommunicator: Explaining the Complicated So Anyone Can Understand Rating: 3 out of 5 stars3/5Windows Registry Forensics: Advanced Digital Forensic Analysis of the Windows Registry Rating: 4 out of 5 stars4/5Linux Command Line and Shell Scripting Bible Rating: 3 out of 5 stars3/5Data Governance For Dummies Rating: 0 out of 5 stars0 ratingsThe Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy Rating: 4 out of 5 stars4/5An Executive Guide to Identity Access Management - 2nd Edition Rating: 4 out of 5 stars4/5Computer Organization and Design: The Hardware / Software Interface Rating: 4 out of 5 stars4/5Panda3d 1.7 Game Developer's Cookbook Rating: 0 out of 5 stars0 ratingsSummary of Super-Intelligence From Nick Bostrom Rating: 5 out of 5 stars5/5Practical Ethical Hacking from Scratch Rating: 5 out of 5 stars5/5CompTIA Network+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam N10-008 Rating: 0 out of 5 stars0 ratings
Reviews for Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
0 ratings0 reviews
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
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?