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

Only $11.99/month after trial. Cancel anytime.

Business Process Driven SOA using BPMN and BPEL
Business Process Driven SOA using BPMN and BPEL
Business Process Driven SOA using BPMN and BPEL
Ebook590 pages4 hours

Business Process Driven SOA using BPMN and BPEL

Rating: 4 out of 5 stars

4/5

()

Read preview

About this ebook

In Detail

Modeling business processes for SOA and developing end-to-end IT support has become one of the top IT priorities. The SOA approach is based on services and on processes. Processes are focused on composition of services and in that sense services become process activities.

Experience has shown that the implementation and optimization of processes are the most important factors in the success of SOA projects. SOA is so valuable to businesses because it enables process optimization. In order to optimize processes, we need to know which processes are relevant and we have to understand them, something that cannot be done without business process modeling. There is a major problem with this approach, a semantic gap between the process model and the applications.

This book will show you how to fill this gap. It describes a pragmatic approach to business process modeling using the Business Process Modeling Notation (BPMN) and the automatic mapping of BPMN to the Business Process Execution Language (BPEL), which is the de-facto standard for executing business processes in SOA. The book will also cover related technologies like Business Rules Management and Business Activity Monitoring which play a pivotal role in achieving closed loop Business Process Management.

Learn how to model business processes in an SOA-compliant approach using BPMN, translate them into BPEL and execute them on the SOA platform. A practical guide with real-world examples illustrating all key concepts.

Approach

The book provides a well-balanced mixture of theoretical discussion and real-world examples. It explains the concepts and approaches, and describes methodology and notation. It demonstrates these concepts on real-world examples and provides a step-by-step example tutorial that guides readers from business process modeling in BPMN through transformation into BPEL to execution on the SOA process server. It also discusses some key concepts using practical examples and business scenarios around Business Rules Management and Business Activity Monitoring with BPM and SOA.

Who this book is for

This book is for CIOs, executives, SOA project managers, business process analysts, BPM and SOA architects, who are responsible for improving the efficiency of business processes through IT, or for designing SOA. It provides a high-level coverage of business process modeling, but it also gives practical development examples on how to move from model to execution. We expect the readers to be familiar with the basics of SOA.

LanguageEnglish
Release dateAug 28, 2008
ISBN9781847191472
Business Process Driven SOA using BPMN and BPEL
Author

Kapil Pant

Kapil Pant is an accomplished BPM consultant and Public speaker with extensive experience in Products and Professional Services consulting. He currently manages Wipro Technologies' BPM/SOA practice in Europe, and leads consulting engagements including Business Process Improvement workshops, BPMS and SOA Tools Study & Recommendations, and BPM Architecture, Implementation & Governance. Over the years, Kapil has been extensively involved in conducting successful workshops on Process Improvement, Requirements Analysis, BPM/SOA and Enterprise Architecture for clients in Telecom, Banking, Securities and Insurance industry verticals. He has also worked closely with leading System Integrators such as Wipro, Tata Consulting, HCL and Satyam to conduct technology enablement programs for client projects across industry verticals. As a recognized Public Speaker, Kapil is known for his well-researched programs delivered in his high-energy, enthusiastic, and down-to-earth style. He has presented keynote speeches, workshops, seminars and over 40 road-shows across the Asia Pacific, Europe and the USA. He was also nominated by the Government of India to lead seminars as a part of a 25-member working committee for E-Governance Enterprise Architecture and Standards Taxonomy. He has a Masters Degree in Computer Applications, a Bachelors Degree in Business Studies, and a TOGAF Certification. Kapil presently lives in Hampshire, UK with his wife and enjoys blogging in his free time.

Related to Business Process Driven SOA using BPMN and BPEL

Related ebooks

Information Technology For You

View More

Related articles

Reviews for Business Process Driven SOA using BPMN and BPEL

Rating: 4 out of 5 stars
4/5

1 rating0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Business Process Driven SOA using BPMN and BPEL - Kapil Pant

    Table of Contents

    Business Process Driven SOA using BPMN and BPEL

    Credits

    Foreword

    About the Authors

    About the Reviewer

    Preface

    What This Book Covers

    Conventions

    Reader Feedback

    Customer Support

    Errata

    Piracy

    Questions

    1. SOA and Business Processes

    Why Care about Business Processes?

    Examples of Business Processes

    How Business Processes Emerge

    How Business Processes and IT Relate

    IT Flexibility

    Heterogeneous Architecture

    Traditional Software Lifecycles

    Why Do We Need SOA?

    Why Should We Believe This?

    SOA Approach to Business Processes

    Major Improvements in the SOA Approach

    Focus on Content, Not Technology

    Management Support

    SOA Competency Centre

    SOA Inception

    SOA Forces

    Value of SOA for IT Departments

    Changes in the Development Approach

    Reduced Complexity

    Technical Introduction to SOA

    BPMN

    BPEL

    Features

    Services

    Service Interfaces

    Messages

    Synchronicity

    Loose Coupling

    Quality of Service

    Other Important Parts of SOA

    Enterprise Service Bus

    Registry and Repository

    Rules Engines

    Business Activity Monitoring

    User Interactions

    User Interaction in BPEL

    BPEL4People

    How SOA, BPMN, and BPEL Fit Together

    Agility

    Resilience

    Alignment Between Business and IT

    New Business Models

    How the Puzzles Fit Together

    SOA Vendors

    Summary

    2. Modeling Business Processes for SOA

    Business Process Management

    IT and BPM

    SOA and BPM

    Business Process Lifecycle

    BPM and SOA—A Perfect Fit for the Lifecycle

    Business Process Modeling

    Modeling Method and Notation

    ARIS

    Modeling Notation

    BPMN

    Process Design

    Results of Process Modeling

    Process Map

    Roles and Relations Structure

    As-is Process Model

    Process Environment Diagram

    Top-level Process Model

    Detailed Process Maps

    Exception Handling Diagram

    Publishing and Communicating Process Models

    Process Simulation

    Tools for Simulating Processes

    Modeling Principles

    Common Problems in Process Modeling

    Process Implementation

    Classic Software Development

    Standardized ERP Solutions

    Service Oriented Architecture

    Process Implementation Phase with BPEL

    Process Execution and Control

    SOA for the Process Execution and Control Phase

    Business Activity Monitoring

    Process Optimization

    The To-be Process Model

    Key Performance Indicators

    Typical Problems in Process Optimization

    Summary

    3. BPMN for Business Process Modeling

    The Need for Standards in Business Process Modeling

    Business Process Classification and BPMN

    Strategic or Operational

    Process Type

    Process Scope

    Business Process Diagrams—Core Elements

    Business Process Diagrams—A Deeper Analysis of the Key Elements of BPMN

    Events

    Activities

    Sub-Process

    Task

    Gateways

    Sequence Flow

    Message Flow

    Association

    Pool

    Lanes

    Data Object

    Group

    Text Annotation

    Introduction to Oracle Business Process Analysis Suite

    Developing an Example Process Using BPMN and the Selected Tool

    Summary

    4. BPMN—Advance Constructs

    Business Process Modeling General Guidelines

    Rule #1: Process Models Should Provide Aid in Process Understanding

    Rule # 2: Match Each Split with a Join

    Rule #3: Have a Well-Defined Start and End Event

    Rule #4: Look Out for Orphan Tasks

    BPMN Attributes and Tools Support

    Business Process Diagram

    Process

    Sub-Process

    Events in Detail

    Start Events

    None

    Timer

    Message

    Rule

    Link

    Multiple

    End Events

    None

    Message

    Link

    Cancel

    Error

    Terminate

    Compensation

    Multiple

    Intermediate Events

    Message

    Timer

    Link

    Rule

    Error

    Cancel

    Compensation

    Multiple

    Process Modeling Patterns and BPMN

    Basic Control Patterns

    Simple Sequence

    Parallel Split Sequence or Forking

    Type 1: Uncontrolled Flow

    Type 2: Controlled Flow

    Type 3: Parallel Box

    Synchronization or Joining Flow

    Type 1: Use of Parallel (AND) Gateway

    Type 2: Sub Process Completion

    Branching and Synchronization Patterns

    Multi Choice

    Structured Synchronizing Merge

    Multi Merge

    Iteration Based Patterns

    Arbitrary Cycles

    Structured Loop

    Termination

    Implicit Termination

    Explicit Termination

    Multiple Instance Pattern

    Multiple Instances without Synchronization

    Multiple Instances with a Priori Design-Time Knowledge

    Multiple Instances with a Priori Run-Time Knowledge

    State-Based Patterns

    Deferred Choice

    Summary

    5. Process Analysis and Transformation—From BPMN to BPEL

    Business Process Analysis Using Simulation

    The Business Process Model and Data input

    Simulation and Scenario Analysis

    Model Target Process

    Business Process Transition: Bridging the Business—IT divide

    BPMN to BPEL—Key Considerations

    BPMN Specification for BPEL Mapping

    Tools to Support BPMN-BPEL Transformations

    Oracle BPM Suite: Oracle BPA and SOA Suite for BPMN-BPEL Mapping

    Tool Approach for Process Transformation

    Modeling and Analysis Process

    Process Detailing for Transition—A Look into Oracle Extensions for BPMN and BPEL

    Automated Activity

    Human Workflow Activity

    Notification Activity

    Business Rules Activity

    Business- IT Synchronization using Process Blueprint

    Transformation Case Study

    Business Process Overview—What is 'Portfolio Account Opening?'

    Business Process Transformation—Modeling and Analysis

    Business Process Detailing for Transformation

    Model Validation before Transformation

    Automatic Mapping of BPA Elements for BPEL

    Generate Business Process Blueprint

    Retrieve the Business Process Blueprint

    Create a BPA Connection for Importing the Blueprint

    Create a BPEL Project

    Blueprint View and BPEL View

    Add Implementation Details

    Deploy and Test

    Updating the BPA Server

    Summary

    6. Business Process Orchestration for SOA

    BPM Architecture and Role of Business Process Orchestration

    Executing BPEL Processes in BPEL Process Manager

    Initiation of the Process Instance

    Accessing a Human Task through the Worklist Application

    Task Invocation from BPEL Process Manager and its Integration with Worklist Application

    Introduction to Business Rules Management

    What are Business Rules?

    Business Rules Anatomy

    Automating Business Rules

    Automating Business Rules for Business Issues

    Business Rules Management, BPM, and SOA

    Key Considerations for Selecting a BRMS

    Key components of a BRMS—A Brief Look into Oracle Business Rules

    Implementing Business Rules—The Business Rules Development Process

    Introducing Business Activity Monitoring

    What is BAM?

    BPM, SOA, and BAM

    Oracle BAM

    Oracle BAM and BPM

    Summary

    Index

    Business Process Driven SOA using BPMN and BPEL

    Matjaz Juric

    Kapil Pant


    Business Process Driven SOA using BPMN and BPEL

    Copyright © 2008 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: August 2008

    Production Reference: 1220808

    Published by Packt Publishing Ltd.

    32 Lincoln Road

    Olton

    Birmingham, B27 6PA, UK.

    ISBN 978-1-84719-146-5

    www.packtpub.com

    Cover Image by Vinayak Chittar (vinayak.chittar@gmail.com)

    Credits

    Authors

    Matjaz B. Juric

    Kapil Pant

    Reviewer

    Frank Jennings

    Senior Acquisition Editor

    Louay Fatoohi

    Development Editor

    Nikhil Bangera

    Technical Editor

    Aanchal A. Kumar

    Copy Editor

    Sumathi Sridhar

    Editorial Team Leader

    Akshara Aware

    Project Manager

    Abhijeet Deobhakta

    Project Coordinator

    Patricia Weir

    Indexer

    Monica Ajmera

    Proofreader

    Dirk Manuel

    Production Coordinator

    Rajni Thorat

    Cover Work

    Rajni Thorat

    Foreword

    More and more organizations are turning to Business Process Management in their quest for practical ways to create new business value and to streamline their operations, and to ultimately become flexible, responsive and efficient organizations.

    For the last 30 years, the business world has become more process aware, and BPM has come a long way since initial iterations that relied heavily on static flowcharts to map out corporate processes in mostly unchanging organizations.

    Today, BPM has become a discipline in its own right. It applies sophisticated software and best practices to model, simulate, automate, manage, and monitor processes, in order to coordinate operations with dynamic business priorities. This has given rise to unprecedented process flexibility and scalability, wherein workflows (both human and automated) are determined in real-time by events and/or outcomes within the process, and effective knowledge transfer is made possible as processes become well-documented business artifacts on which employees can be trained.

    The introduction of an independent process tier represents BPM's first major contribution to business computing. It puts the management of business logic in the hands of business managers, without threatening the integrity of the application logic.

    To enjoy the full benefits of BPM, processes must integrate with existing applications and systems. They require access to the functions that are locked in application silos. Today's IT organization is complex, consisting of many different applications and systems built using heterogeneous technologies, on various types of middleware, using multiple databases and running on many platforms. Hard-coding point-to-point integration with these applications is not a good solution as it creates tight coupling with the application and makes the process brittle and inflexibleThis can make the processes expensive to change and may therefore defeat the entire purpose of BPM.

    This is where Service Oriented Architecture (SOA) comes in. It provides the technical ability to create that process independence. The goal of SOA is to expose an organization's IT assets as re-usable services that can communicate and integrate more readily. SOA's aim is to provide a common communication framework to organize and describe the capabilities, usage policies and service provider locations without exposing the implementation details. It allows organizations to plug in new services or upgrade existing services in a granular fashion in order to address new business requirements, while providing the possibility of making the services consumable across different channels, and at the same time enabling existing legacy applications as services. The goal is to eliminate the integration headache common to many organizations today, while leveraging existing IT investments.

    BPM and SOA are a natural match —together they facilitate the next phase of business process automation, deriving higher value from services. Business automation will no longer be about hard coding a function that is to be repeated infinitely.

    Today, business automation through BPM and SOA is all about creating services that are re-usable in many different ways, in multiple processes that can be continually improved. Through this synergy, organizations will achieve better business and IT results than were ever possible through either discipline alone.

    This book provides adequate coverage of BPM in the context of SOA, as well as a pragmatic approach to carrying out the analysis, execution and monitoring of business processes from end-to-end, using Business Process Modeling Notation (BPMN), and the automatic mapping of BPMN to the Business Process Execution Language (BPEL) for executing business processes in SOA.

    Geoffroy de Lamalle

    Business Development Manager, SOA—Europe, Middle East & Africa,

    IDS Scheer AG

    About the Authors

    Matjaz B. Juric holds a Ph.D. in computer and information science. He is Associate Professor at the University of Maribor and the director of Science Park project. In addition to this book, he has authored or coauthored SOA Approach to Integration, Business Process Execution Language for Web Services (English and French editions), BPEL Cookbook: Best Practices for SOA-based integration and composite applications development, Professional J2EE EAI, Professional EJB, J2EE Design Patterns Applied, and .NET Serialization Handbook. He has published chapters in More Java Gems (Cambridge University Press) and in Technology Supporting Business Solutions (Nova Science Publishers). He has also published articles in journals and magazines, such as SOA World Journal, Web Services Journal, Java Developer's Journal, Java Report, Java World, eai Journal, theserverside.com, OTN, ACM journals, and has presented at conferences such as OOPSLA, Java Development, XML Europe, OOW, SCI, and others. He is a reviewer, program committee member, and conference organizer.

    Matjaz has been involved in several large-scale projects. He has been a consultant for several large companies on SOA projects. In cooperation with the IBM Java Technology Centre, he worked on performance analysis and optimization of RMI-IIOP, an integral part of the Java platform. Matjaz is also a member of the BPEL Advisory Board.

    Matjaz is the chair of SOA Competency Centre, and the author of courses and consultant for the BPEL and SOA consulting company BPELmentor.com. For more information, please visit http://www.bpelmentor.com/

    My efforts in this book are dedicated to my family. Special thanks to my dear beautiful Ana. Thanks to my friends at Packt Publishing and University of Maribor and to Ales Frece.

    Kapil Pant is an accomplished BPM consultant and Public speaker with extensive experience in Products and Professional Services consulting. He currently manages Wipro Technologies' BPM/SOA practice in Europe, and leads consulting engagements including Business Process Improvement workshops, BPMS and SOA Tools Study and Recommendations, and BPM Architecture, Implementation and Governance.

    Over the years, Kapil has been extensively involved in conducting successful workshops on Process Improvement, Requirements Analysis, BPM/SOA and Enterprise Architecture for clients in Telecom, Banking, Securities and Insurance industry verticals. He has also worked closely with leading System Integrators such as Wipro, Tata Consulting, HCL and Satyam to conduct technology enablement programs for client projects across industry verticals.

    As a recognized Public Speaker, Kapil is known for his well-researched programs delivered in his high-energy, enthusiastic, and down-to-earth style. He has presented keynote speeches, workshops, seminars, and over 40 road-shows across the Asia Pacific, Europe and the USA. He was also nominated by the Government of India to lead seminars as a part of a 25-member working committee for E-Governance Enterprise Architecture and Standards Taxonomy.

    He has a Masters Degree in Computer Applications, a Bachelors Degree in Business Studies, and a TOGAF Certification.

    Kapil presently lives in Hampshire, UK with his wife and enjoys blogging in his free time.

    I would like to express my thanks to my colleagues in Wipro Technologies, specifically my senior colleagues Gopalakrishna Byllahalli and Gunendra Patil for their firm support, guidance and encouragement.

    Ashish Sharma for his technical understanding and help with some of the key sections in the book.

    Louay Fatoohi and Patricia Weir from Packt Publishing for their continued support, patience and understanding during the course of this project.

    Finally, I am grateful to my parents and grandmother for their blessings and my wife Ekta for her constant encouragement and critical advice without which this book would not have been possible.

    About the Reviewer

    Frank Jennings works in the Information Products Group of Sun Microsystems Inc. He has more than 9 years of experience in Java, SOA and System Design. He is an Electronics Engineer from Madras University and has worked for several open-source projects.

    Frank has written regular columns for leading Java journals including Java Developer's Journal and Linux Developer's Week. Frank is also the co-author of the book SOA Approach to Integration focusing on SOA design pattern for enterprises. Frank also is involved in technical publications for Sun Microsystems in the fields of Solaris and Developer AMP Stack. His blog can be read at http://blogs.sun.com/phantom and he can be reached at . He also holds a Post Graduate Diploma in Computer Science and an Advance Diploma in Computer Integrated Management from University of Indianapolis

    Preface

    Modeling business processes for SOA and developing end-to-end IT support for these processes have become top IT priorities for many organisation. The SOA approach is based services and on processes. Processes are focused on composition of services and in that sense services become process activities.

    Experience has shown that the implementation and the optimization of processes are the most important factors in the success of SOA projects. SOA is so valuable to businesses because it enables process optimization. In order to optimize processes, we need to know which processes are relevant and we have to understand them – something that cannot be done without business process modeling. There is a major problem with this approach – a semantic gap between the process model and the applications.

    This book will show you how to bridge this gap. It describes a pragmatic approach to business process modeling using the Business Process Modeling Notation (BPMN) and the automatic mapping of BPMN to the Business Process Execution Language (BPEL), which is the de-facto standard for executing business processes in SOA. The book will also cover related technologies such as Business Rules Management and Business Activity Monitoring, which play a pivotal role in achieving closed-loop Business Process Management.

    What This Book Covers

    Chapter 1 looks at the relation between SOA and business processes. SOA provides the technology platform for the implementation of business processes, and the development of applications that provide end-to-end support for business processes. This chapter also covers the long-term association of SOA with business processes and BPM.

    Chapter 2 gives an overview of the role of business process modeling for SOA. It outlines the importance of BPM and its life-cycle, which consists of business process design, process implementation, process execution and control, and process optimization. It discusses each of these stages in brief. It also briefly discusses ARIS the methodology, BPMN notations, and process simulation.

    Chapter 3 covers the concepts of business process modeling, and the use of BPMN as a standard in providing a consistent, process vocabulary to any business. It discusses the essential components of BPMN using some examples, which will enable you to start creating BPDs. It also introduces the Oracle Business Process Analysis Suite.

    Chapter 4 addresses some general guidelines for process modeling before taking a deep dive into some complex constructs of BPMN, especially the length and breadth of Events, and the role they play in creating and visualizing BPDs. It also covers support for workflow patterns in BPMN and their use during process execution using BPEL.

    Chapter 5 covers two important aspects in the BPM process: process analysis using simulation and process transformation for implementation. It emphasizes the importance of tools to extend support for some of the gaps in the current standards and transformation to reduce the issues of synchronization and process round-trips.

    Chapter 6 covers business process modeling using BPMN and process analysis using simulation techniques. It covers process transition from BPMN to BPEL, followed by process orchestration and execution using process engines such as Oracle's BPEL Process Manager. It also evaluates some of the best practices for implementing various technology components to make the end-to-end process of BPM and SOA seamless.

    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.

    A block of code will be set as follows:

    if(  income < 10000 )

    {

      declineLoan = true;

    }

    return declineLoan;

    New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: The parallel instance generation check box is also set to signify creation of multiple parallel tasks .

    Note

    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, and 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 drop an email to <feedback@packtpub.com>, making sure to mention the book title in 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 email .

    If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, 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.

    Errata

    Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, 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 added to the list of existing errata. The 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 immidiately provide us the location address or website name, so 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

    If you are having a problem with some aspect of the book, you can contact us at <questions@packtpub.com> and we will do our best to address it.

    Chapter 1. SOA and Business Processes

    The main objective of information technology is to provide support for business operations. IT has successfully automated various functions such as payroll, general ledger, and invoices through the introduction of application systems. Although this has been very valuable for companies, there has also been an understanding that automation of such activities is not all that IT can provide. Therefore, information systems have tried to cover more and more functions. As a result, ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), SCM (Supply Chain Management), and similar systems have emerged.

    Through the introduction of these systems, companies have started to realize that the ultimate objective would be to automate business processes – in other words, to develop applications that would provide support at each and every step of a business process, from its beginning until its completion.

    Although fulfilling this objective might sound simple, it is not! There are at least two major challenges:

    Each company has its unique business processes (and application systems should be designed around the business processes, not vice versa).

    Business processes are not constant; they change with time. Every change in the business process has to be reflected in the enterprise systems. This requires the enterprise systems to be highly flexible, so that they can be modified quickly

    Enjoying the preview?
    Page 1 of 1