Book Image

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

Book Image

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

Overview of this book

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.
Table of Contents (20 chapters)
Application Development for IBM WebSphere Process Server 7 and Enterprise Service Bus 7
Credits
About the Authors
About the Reviewers
Preface
WID, WPS, and WESB Tips, Tricks, and Pointers
Index

Miscellaneous Snippet Topics


  • The Requires Own option on a BPEL activity is used to prevent a retry of the previous activities in case of an error.

  • When a business process calls a one-way service asynchronously, a failed event is generated in case of a runtime exception in the called component.

  • To restrict who can start a business process when using the BusinessFlowManager API to start the process, add a human task assigned to the designated group of potential starters on the Authorization tab of the respective receive activity.

In a long-running BPEL, you will uncheck the Enable persistence and queries of business relevant data flag on an Invoke activity to improve performance by avoiding activity-related data from being persisted to the database.

A notification event handler plugin within a human task is executed during an escalation.

  • In a long-running process when you need more than one person involved from a human task perspective, you can use ad-hoc follow-on tasks.

  • XPath to access an HTTP SOAP header in a mediation flow/headers/SOAPHeader.

  • When the call out Response node's fail terminal is not wired and an unmodeled fault is received, a mediation runtime exception will occur.

  • To interact with third-party messaging middleware use the "Generic JMS" binding.

  • Typically, you would choose to implement a JCA adapter rather than a Web Service (to an enterprise application) when the end application does not support transactions but a composite application requires assured delivery on all calls to the application.

  • Use a receive choice with a timeout element when a long-running business process needs further input from the client for a specified time, and if that time has passed without further user input, default processing should start.