Business Process Driven SOA using BPMN and BPEL - Matjaz B. Juric - E-Book

Business Process Driven SOA using BPMN and BPEL E-Book

Matjaz B. Juric

0,0
47,99 €

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

Mehr erfahren.
Beschreibung

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.

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

EPUB

Seitenzahl: 358

Veröffentlichungsjahr: 2008

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



Table of Contents

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 ([email protected])

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 <[email protected]>. 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.

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 <[email protected]>, 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 <[email protected]>.

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 <[email protected]> with a link to the suspected pirated material.

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

Questions

If you are having a problem with some aspect of the book, you can contact us at <[email protected]> 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 and efficiently.

Fulfilling both requirements requires a highly flexible IT architecture, which would allow changes to be made to the software quickly and efficiently. Business processes are also required to relate more closely to the application systems, which has not been the case so far. Usually, business processes have been modeled "on paper", resulting in nice pictures. However, there has been a semantic gap between those pictures of business processes and the actual application systems, and changes in the processes have not produced clear dependencies to the changes required in application systems.

Service Oriented Architecture (SOA) has emerged as a solution to these problems. In this book, we will show you how we can use SOA along with Business Process Management (BPM) to solve these and other related challenges. We will look at its complete life cycle, starting with the business process modeling and ending with the application that implements such processes. We will see that SOA introduces 'new approach' technologies and languages such as BPMN (Business Process Modeling Notation), BPEL (Business Process Execution Language), ESB (Enterprise Service Bus), services, rule engines, registries/repositories, and others, to fulfill the objectives.

In this chapter, we will look at business processes and their relevance to IT, application systems, and SOA in particular. We will:

Explain why we have to care about business processesDiscuss how business processes emergeThink about the relationship between business processes and ITDiscuss the importance of IT flexibilityExplain why we need SOAIntroduce the SOA approach to business processes and explain the major benefits of the SOA approachExplain the role of a SOA competency centreDiscuss SOA's inceptionSee an overview of the SOA forces and their significance for IT departmentsExplain the changes in the development approach, required by SOASee an overview of the technical aspects of SOABriefly introduce BPMN, BPEL, services, interfaces, messages, synchronicity, loose coupling, and quality of serviceDiscuss the role of the ESB, Registry and Repository, Rules Engines, Business Activity Monitoring, and User InteractionsExplain how SOA, BPMN, and BPEL fit together

Why Care about Business Processes?

Business processes are essential for every company—large or small. Companies rely on business processes. Let us look at what business processes are.

Note

A business process is a set of coordinated activities that are performed either by humans or by tools with an objective to realize a certain business result.

A business process consists of a set of coordinated activities that accomplish a particular business goal. The order of these activities and the efficiency of those who perform the activities determine the overall performance of a business process. It is very much in the interest of every company to have business processes that are efficient and include only necessary activities, because this will allow them to work faster.

As business processes define the order of work, they are related directly to the efficiency and effectiveness of a company. The better the business processes are defined, the more efficiently a company can operate. In today's competitive market, the efficiency of a company is a key criterion for success, because in addition to innovation, operating efficiency is key to improving the company's competitive advantage in the market.

Knowing and understanding the details of business processes is important, because this gives us the opportunity to identify the bottlenecks and optimize business processes. Optimizing business processes make them more efficient, our customers happier, will reduce the workload on the employees, and will reduce the utilization of resources.

Managing business processes is, therefore, very important. Each company should know how its business processes are defined, who is involved in the various related activities, and how long it takes to execute a certain process.

We have already mentioned that the objective of IT is to support and automate business activities using application systems. On the one hand, this reduces the load on the employees, and on the other, it guarantees that the activities and tasks are performed efficiently as compared to manual tasks and activities.

The focus, therefore, has to be on the process itself. The level to which a business process is optimized is directly related to efficiency of such a process. Today, having highly-optimized business processes is one of the most important priorities of companies.

Note

Optimized business processes are increasingly important for companies as they provide the company with a competitive advantage. With SOA, companies can optimize business processes easily, with less effort, and in a shorter time than with previous approaches.

However, it's not only the competitive advantage that matters; companies also need to react to changes in the global market, to new opportunities, and to threats from other companies. They react with modifications to their business processes.

The more efficient business processes a company has, the more efficient its operations will be. This will allow the company to have a competitive advantage over other companies and possibly become a leader in a certain area. Many of you might say that this is trivial to understand. Indeed, it is. But if we put emphasis on these topics, you will see that optimizing business processes is not easy, and not all companies define a systematic approach to business process optimization. Optimizing processes is also related to information systems. Each change in the process requires changes in application systems.

Note

Often, business processes are classified into internal or private business processes, and public or global business processes. Internal business processes are related to a single company. Global business processes connect two or more companies. Both types of processes are important and can be modeled and automated by SOA.

Examples of Business Processes

Before we dig into these topics, let us first look at some examples of business processes. Some examples of common business processes are supply, marketing and sales, procurement, and so on. Such processes take place in almost every company. They are called support processes.

However, the most important thing for each company is its "core" business processes—those processes that are directly related to the core business activities of the company. For example, a marketing company that manages advertisement boards relies on efficient processes that start with an order for advertising, and end when the advertisement is published on boards throughout the country or abroad. The faster the company can realize the orders, and the faster it can react to new requirements from customers, the better it is.

Note

Business processes are always specific to a company. This is particularly true for core business processes. Companies, therefore, cannot buy IT support for these processes in the market, but have to custom develop it to address their specific needs.

A company that produces car seats requires an efficient production process. Such a process can be automated, starting with the cutting of leather, continuing with the gluing of seat pillows, assembly of the seat carrying construction, and so on. In addition to production tasks, we can also automate other related tasks. Production can also be linked to the supply, which will open up new opportunities for supply chain management and help reduce stock levels. It is obvious that we are limited only by our own creativity.

A clothing company's core processes are design, production, and sale of clothes. The faster the turnaround between design and production, the more flexibility the company has to react to customers' wishes, and the better it can adapt to new opportunities. The better the connection between production and sales, the better the company can adjust its production to actual demand in the market.

A stockbroker company provides services related to buying and selling stocks. It also provides capital management services. Using the Internet, the company can develop applications that will allow customers to observe price changes in real-time and place orders online. This will change the processes dramatically and provide new opportunities for services that such companies offer their clients. At the same time, it will allow tighter integration with clients and closer observation of their needs. IT can help business processes change in order to get the maximum value from new technologies.

Note

SOA introduces new horizons in business processes optimization, where the only limit is our creativity. Business processes can provide an important competitive advantage.

In some industries, best practices related to business processes have been gathered and published. Such business process frameworks can be used for various reasons:

To standardize business processes in an industryTo ease integration between different companies from the same industry/sectorTo use them as benchmarks to compare our own processesTo follow and improve our processes

Some experts are of the opinion that the best practices represent the average state in the industry. If our company is benefiting from such processes, it means that our processes are no better than average. Usually, companies that are above average keep their business processes confidential, because they know that their business processes reflect their true competitive advantage.

In the telecommunication sector, a well-known business process framework is Enhanced Telecom Operations Map (eTOM). eTOM defines best practices process frameworks for different aspects related to telecommunication business, such as:

Customer relationship managementMarketing fulfillmentOrder handlingProblem handlingCustomer SLA/QoS managementInvoice managementService managementService configuration and activationProblem managementResource management and operationsResource provisioningPartner relationship managementMarketing and offer managementSales developmentService development and retirementSupply chain development and managementHuman resources managementFinancial and asset management

We could find many more examples. However, the fact is that business processes are always specific to a single company, and are quite complex. A birds-eye view of the processes (as provided above) only tells half the truth. We can get a complete understanding of a business process only when we look at the details. It's in these details that the complexity hides.

How Business Processes Emerge

When a company is established, its business processes are often not defined in a systematic way. Rather, they arise in a spontaneous way. It is the employees who often define the various activities and tasks. As the company grows, more and more people get involved in the processes, and processes become more and more complex. Processes in a large company differ from the processes in a small company.

In the real world, however, no single person can give a complete overview of an organization's business processes. The knowledge about how a process works is usually in the heads of employees and very often each person only knows about his or her own part of the process. The management does not motivate employees to think about the process, or even to think of optimizing it. Therefore, processes remain unchanged and are far from optimal.

If we agree with this, we can very simply conclude that if there is no single person in the company who could give an overview of the whole business process, then how can we know whether the company's operations are optimal. The management definitely wants to have the answers for the following questions:

Are the tasks and activities of a process organized in an optimal way?Which tasks and activities require the most time to complete?How are the activities and tasks distributed among employees?How efficient are the employees?

We need to understand the business process in order to answer these questions. First, we should understand how business processes work. To do this, the usual approach has been business process modeling, which uses graphical (visual) languages to represent process flows, roles, and related documents. Business process modeling is not something very new. It has been around for quite a while and is a matured and well‑understood discipline.

We can model business processes in a variety of visual languages; the most widely used are EPC (Event Process Chain), eEPC (Extended Event Process Chain), UML Activity Diagrams, and recently BPMN.

We use business process models to understand the processes. This gives us the opportunity to modify and improve them, and to optimize them. Business process optimization and re-engineering are very important and it is up to our imagination to improve processes and integrate them to gain synergic benefits, and use other approaches to optimize them. We will not go into the details of business process optimization right now, because we will come back to this topic later in this chapter, and will discuss it again in the next chapter.

However, we will emphasize that business process re-engineering and optimization are related to several important topics that should not be overlooked. We will mention just three here:

Changing business processes requires changing the way people work. And people do not like change. Therefore, in order to be successful, we need to be careful how we apply the changes to the real world, and how we motivate the employees to change their way of working. Otherwise, a theoretical process, even if highly optimized, will not work in the real world.Changing business processes does not mean changing only the behavior of the employees, but requires changing the IT support and related application systems. This topic is of particular interest for us, and we will look at it in detail in the next section.Finally, changing the business processes only once is not the key to long-lasting success. If a company wants to have long-lasting success, it should develop an environment where business processes can be continuously optimized. This is a particularly difficult task, because continuous change in business processes also requires continuous change in the way employees work, and in the way IT supports the business.

How Business Processes and IT Relate

We have defined business processes as a set of coordinated activities. We have also seen that most often employees perform these activities. Usually employees use applications to support their work. Sometimes, these applications fully support some activities, and the employee's intervention is not required.

With each new application that is introduced into a company, more activities become supported by IT. In other words, business processes are highly dependent on these applications, and vice versa. In addition, applications gradually start to impersonate business processes.

Note

Usually, business processes are tightly coupled with applications. Companies rely on IT applications in order to function. IT not only provides support for business operations, but has actually become an essential part of every business.

Today, businesses depend on IT. Can you imagine a business without IT? Can you imagine how any major company would operate, if IT does not function for one day?

Up to here, everything looks good. Nevertheless, we have not thought about the fact that business processes change over time. If the business processes are constant, we can afford to tightly couple them with application software. The fact, however, is that business processes are not constant and need to change. They need to be flexible. Therefore, IT also has to be flexible. In the next section, we will look at IT flexibility.

IT Flexibility


If each change in a business process requires a corresponding change in the IT system and in one or more applications, then the crucial question is: How quickly can we modify the applications?

The fact is that the time needed to modify the applications is crucial. In the eyes of the managers, this is 'lost' time, because the company needs to wait until the IT system is modified, before it can start using the new processes. Moreover, new processes might be better equipped to offer new or modified products or services. Therefore, the management will always put IT under pressure to do the modifications as quickly as possible—to minimize the IT gap.

To get a better understanding, let us look at a few examples. If an insurance company wants to offer a new insurance product, it has to upgrade the IT system before it can launch this new product in the market. The insurance company has to modify all the applications related to offering/ordering insurance products. This includes the applications on the office counters, the applications on the notebooks of insurance agents, the web site where insurance products can be bought online, in the call center for phone orders, and so on. Next, the applications for invoicing have to be modified. Various reports have to be modified too, in order to obtain information on how well the new product sells, who buys it, and how satisfied the customers are.

If a telecommunication operator introduces a new service or modifies an existing service, does this require changes to the IT applications? Yes, it does. It requires changes similar to those discussed earlier. In a telecommunication company however, such changes might also require modification in the software that runs the network. Today, there are many businesses where the IT support has infiltrated so deep into the company operations, that not only do support services rely on the application systems, but the whole core business operation has become dependent on the software.

Therefore, it is quite understandable that the management requires its IT systems to be flexible.

On the other hand, we know that IT systems in companies are usually very complex. We also know that complex systems require time to change. We can easily see that we are talking about two contradictory forces. One is the requirement from the management that changes should happen as quickly as possible. The other is the requirement from engineers, who require time to change complex systems.

In the real world, the request from management is usually of higher priority. This is why engineers are forced to change applications in a short time. Therefore, they do not have enough time to plan and design the changes. Even worse, they often need to apply modifications to software under pressure of time. In such conditions, they might be able to implement the changes, but changes may be done in a manner that negatively influences the overall software architecture and the entire information systems.

When such changes happen repeatedly, the overall software architecture becomes less robust. The changes get more difficult to implement, and hence require more time. This becomes a vicious circle. At a certain point, the architecture might even get so fragile that changes can compromise the integrity of the whole system. The dependencies and relations between the various software parts become almost unmanageable, and it takes so long to apply changes that it cannot fulfill the business requirements any more.

This is related to other impact factors, including:

The heterogeneous architecture of a typical information systemThe usage of traditional software life cycles, which have not anticipated change

Heterogeneous Architecture

A typical information system today consists of a mix of heterogeneous application systems that have been developed over time. The application systems in a company are usually a mixture of:

Self-developed solutionsCustom-built, but outsourced solutionsCommercial systems such as ERP, CRM, SCM, and similar solutions

These systems use different architectural styles (client/server, multi-tier), different technologies, and languages (C++, Java, C#, Visual Basic, COBOL, and so on). It is quite unlikely that this mix of different systems was designed in a unified manner—it just grew, and will continue to grow. The fact is that companies rely on these systems and cannot afford to turn them off overnight.

Over time, some integration was achieved between the application systems, but it was not properly designed. This resulted in point-to-point integrations and the use of several different integration middleware products, including RPC, message brokers, distributed object models, proprietary integration servers, and in the recent years, web services.

Point-to-point integrations are very problematic, because as the number of involved systems starts to grow, the number of connections starts to grow exponentially. As point-to-point integrations are tightly-coupled integrations, they are very difficult to maintain. Changes in one system provoke a 'domino effect', whereby changes have to be applied in all related systems. Often, the complexity of maintaining the integrations becomes very high, and so does the cost.

To get a feeling for the number of necessary connections, let us presume that several applications have to be connected to each other. We will count only unidirectional connections, that is, if application A has to be connected to B, and B to A, then these are counted as two connections. With fifty applications, we would need an unbelievable 2,450 connections if we integrate applications on a point-to-point basis. To be honest, in the real world, we will probably not need to connect each application with the others. However, this does not change the fact that we will have to manage and maintain a large number of individual connections.

These issues are manifested while dealing with:

Combinations of monolithic, client/server, and multi-tier applicationsA mix of procedural and object oriented solutionsA mix of programming languagesDifferent types of database management systems (relational, hierarchical, and object)Different middleware solutions for communication (message oriented middleware, object request brokers, remote procedure calls, web services, and so on)Multiple information transmission models, including publish/subscribe, request/reply, and conversational modelsDifferent transaction and security management middlewareDifferent ways of sharing dataPossible usage of EDI, XML, and other proprietary formats for data exchange

All of these issues make applying changes to information systems even more difficult and time consuming, thus increasing the IT gap even further.

Traditional Software Lifecycles

Existing applications have most likely been developed using traditional software life cycles. These consist of various stages, including:

Requirements specificationAnalysis and designImplementationTestingDeployment

Depending on the development process, these stages are either sequential, partially parallel (Waterfall model), or iterative-incremental (Rational Unified Process). No matter which development process is used, they all are based on the following two facts: