Professional Documents
Culture Documents
approach
ABSTRACT 1. Introduction
A service-oriented architecture (SOA) is a way of building an
The combination of business process management and service-
enterprise IT infrastructure out of loosely coupled components
oriented architecture will benefit IT professionals and business
known as "services" that perform discrete functions. Composite
users. A service-oriented architecture cannot be useful without a
applications are a key element of an SOA environment. These
business process management infrastructure [13]. Each business
applications are created by invoking and orchestrating multiple
process is modeled as a set of individual processing tasks. These
services, events and models in such a way that they collectively
tasks are typically implemented as services within the enterprise.
perform a higher-order business function. This functionality
BPM helps in creating process models, process automation, in the
increases business agility by enabling IT departments to reuse
form of invoking services.
components that have already been tested in production and have
known scalability and quality-of-service characteristics. Such SOA exposes services, and BPM, which demands process flow
reuse can help reduce time to market and lower IT development completion, consumes services. SOA opens a vast inventory of
costs. services for BPM to "bond together" into a comprehensive flow.
Regardless of whether this is composite or not, this flow addresses
This decentralized application environment provides a great deal
critical business processes.
of flexibility for business units and IT departments, but it also
creates difficulty in managing the consistency of business The convergence of BPM, SOA, Web services, and XML
decisions delivered through various applications. Business promises to significantly improve corporate agility, reduce time-
Process Management (BPM) [11] is the key to providing a to-market for new products and services, reduce costs, and
comprehensive path and implementation plan from the top of the improve operational efficiency of IT systems.
organization to the bottom. Modeling offers a reliable, objective
mechanism to better understand enterprise-wide operations,
identify crucial flaws in current practices and determine how to
make necessary amendments and improvements. Modeling
2. SOA and Web Services
enables the clear visualization of business process across the
enterprise, aligning both IT and business users, with the end goals Services Oriented Architecture (SOA) is an application
to identify, analyze and evaluate how the company is doing development paradigm which goal is to create functional modules
business today and to rethink and improve how it might be done called Services. These Services attend to a specific business
better tomorrow. In conjunction with an enterprise service bus, necessity with a loose coupling and allowing code reuse.
BPM and SOA also make enterprise application integration (EAI)
The CDBI Forum [1], responsible for document and discuss the
more straightforward, reliable and manageable.
best practices involving SOA, describes SOA in this way: "it is a
software architecture that defines the interfaces topology,
implementation and calling. SOA is a relationship between
Services Providers and Consumers, both software modules big
enough to represent a complete business function".
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are Service is a component that implements a specific business
not made or distributed for profit or commercial advantage and that function for its clients, which receives a request and answer to it,
copies bear this notice. To copy otherwise, or republish, to post on abstracting the processing rules and details having loose coupling
servers or to redistribute to lists, requires prior specific permission
and/or a fee.
in respect with its platforms.
TACTiCS – TCS Technical Architects’ Conference’06
In the Service Oriented Architecture, there are the Provider and designers work, because it permits the use of the BPMN (Business
Consumer roles. The provider is responsible to offer the Service, Process Modeling Notation) from the design of activity flows till
or to guarantee that the Service is available for who wants to use the services innovation, exception treatment, human interaction,
it. The Consumer is the Service user that needs the service to etc.
accomplish a specific goal.
A known example of SOA implementation is the use of Web 5. SOA and BPM, a more consistent and
Services, which are distributed services that process SOAP [2] manageable approach
(Simple Object Access Protocol) messages coded in XML [2]
(eXtensible Markup Language), sent through HTTP [2] (Hyper-
Text Transfer Protocol) and described through WSDL [2] (Web Many companies have worked continuously in activities of
Services Description Language). process improvement. The efforts in the process improvement
began with Frederick Winslow Taylor, author of the book
Web Services give interoperability between software components Principles of Scientific Management [3], published in 1911, same
that can be in different companies and can reside in different period that Henry Ford released the continuous production line
infrastructures. SOAP is based upon XML and uses the HTTP as that caused a revolution in the industrial production process. The
communication protocol using the port 80 (the standard port for first computational system designed to attend a business need was
HTTP requests). This guarantees the interoperability between an application used to process the Pay Roll, developed in the
different platforms. General Electric in 1954. Since then, many companies have
developed systems that automate its business processes.
The WSDL (also based upon XML and uses HTTP) gives a
description for the Services, which allow the integration of Nowadays, we are in a process of system architecture
Services, development and component management tools. In a improvement, which look for flexible components, software
Web Service WSDL description are defined: a URL to access de components based architectures, large use of the HTTP protocol
service, the web service name, the description of each method and together with a variety of applications based in XML, all of them
the way to request the service using SOAP, through GET or tracking the business requirements and resolving some
POST HTTP requests. "corporative chaos" scenery.
In these sceneries, SOA can be used in many ways, since that well
3. ESB -Enterprise Service Bus defined services exists and these services really attend business
requirements.
In an IT corporative environment, where there are many defined SOA can be associated with an integration middleware and
and available services for use, the ESB arise. This concept was internet protocols where each application individually invokes
originally created by the Gartner Group a few years ago that services to attend their internal requirement.
defines a service abstraction layer using a solution based on
message exchange which provides the integration architects with Broadly used, SOA can be used just as another business model
the necessary confidence to use the corporative services. The ESB component, where the process managers define the process flow
acts as a message share layer to connect applications and other through BPMN and reference the existent services (sending and
services through an enterprise computational structure being receiving information) in the ESB.
considered as a Middleware for SOA support.
The design of a business process, in the majority of the cases, is
defined in a top-down fashion, where the managers define the
4. BPM - Business Process Management work flows and business rules in a macro vision, then passes
through a refinement processes until it is attended by the IT area
The Business Process Management [11] originated from the with software development and hardware infra-structure
necessity of enterprise directors, involving CEO's, CIO's and acquisition to support the solution. One of the BPM goals is to
Managers, in view and support the enterprise business processes shorten the distance between the diverse "business areas" and the
accessible in a clear and easy way for everybody who needs to IT, allowing managers define and maintain the business process
acquire these information. using tools capable of provide them the whole picture of the
processes and services already existent, such that a better reuse
The business process of an enterprise are rarely visible and and control of this process can be done.
accessible to every department of the company, for example, the
marketing knows deeply its internal processes, although does note Through these tools, depending on the design level of detail, it is
make any idea how the sales department works, and probably has possible to generate a BPEL (Business Process Execution
little knowledge about the billing process. Language) code, which technically define, through XML, what
services will be used by a business process, interfaces and further
Along with this universe of processes spread through the internal technical requirements such that a business process can be
enterprise departments, the Business Process Management arose controlled by a business process control specialist system such as
derived from the old Workflow Management trying to provide the IBM WBI [4], Microsoft BizTalk [8], TIBCO Business Integrator
integration, management and visibility of the business processes [9], Vitria BusinessWare [10], among others.
through graphical and technological resources.
The next picture describes the life cycle of a business process,
The Business Process Management uses the Business Process from its conception to its installation in the runtime environment.
Modeling as a mean to ease the business and systems analyst and
• A consumer sends a purchase order to a retailer.
• The retailer sends to the consumer an acknowledgement
that it received the purchase order.
• The retailer forwards the purchase order to a warehouse,
passing to it the electronic address of the consumer. The
warehouse will use this address to notify the consumer
when the order is complete.
• If the warehouse accepts the order, it sends a positive
acknowledgement to the retailer. If the warehouse
rejects the order, it sends a negative acknowledgement
to the retailer. In each case, the retailer forwards to the
consumer the result from the warehouse.
• Assuming it accepted the order, when the warehouse
has finished its processing and is ready to ship the
Figure 1 - Graphical representation of an elaboration flow for goods, it sends a notification directly to the consumer.
a business process. [12]
Using the WS-CDL (Web Services Choreography Description
The services organization, its interaction with each other, the pre Language) as an example we can see that the WS-CDL can
and post conditions, rules and flows inside a process aiming to encode these steps formally in an XML language. The first two
attend a business function is called Orchestration. steps in the English description above are represented in WS-CDL
Through the orchestration, managers and/or system architects can by the code in picture 2 [12].
define and/or maintain business processes by including services,
automated processes, human interaction, scheduled activities, etc.
The combination of BPM and SOA represents a new paradigm to
the business automation. This paradigm will delay for a few years
to totally materialize, but represents our better hope regarding
flexibility and agility.
Under a technology point of view, SOA, or Service Oriented
Architecture, allows a loose coupling and independency of the
various structure and functional software elements that an
enterprise will acquire or build for support its business, allowing
flexibility and agility in terms of modification in the existing
elements and the change between them. Figure 2 - WS-CDL consumer-retailer interaction
BPM, in its turn, allows the optimization in the use of the services
provided by SOA, managing the relationship between them in a This code describes an interaction with two exchanges: in the first
business process point of view. With BPM agility and flexibility exchange (lines 5-8) the consumer sends (action="request") a
get better, because the BPM allows the fast change of the purchase order (informationType="tns:PO") to the retailer; in the
automated process, as well as the automation of new ones, second (lines 9-12), the retailer responds (action="response") with
contributing for the enterprise reaches its strategic goals. a purchase order acknowledgment
(informationType="tns:POAck").
BPM and SOA combined are a very interesting option that makes
the technology works for the business and makes the automated The first step in building the retailer process is to generate a
processes follow in an effective way the agility that the business BPMN diagram that satisfies the retailer's required role in the
demand currently. choreography. The manual approach is to look at the
choreography and draw a process that fits the role; Figure 3 shows
the BPMN diagram representing the retailer as a participant in the
choreography.
6. From theory to practice: an example of
BPM with SOA
In order to demonstrate the use of a BPM using BPMN calling
SOA services, we are going to show a Retailer Process. Figure 3 - Retailer process to satisfy choreography (BPMN
representation) [12]
A retailer process does not operate in isolation, but rather
collaborates with consumer processes to receive orders and
warehouse processes to have orders filled. The choreography can The logic of the process is straightforward. The process starts
be described as follows: when it receives a purchase order (PO) message from the
consumer ("PO From Consumer"). It then successively sends an
acknowledgement of receipt to the consumer ("Send Receipt Ack
to Consumer") and forwards the PO to the warehouse ("Send PO
to Warehouse"), before waiting until it receives a response from
the warehouse ("Wait Warehouse Response"). When the response
arrives, the retailer process forwards it to the consumer ("Send
Warehouse Response to Consumer"), and the process completes.
The notation is clear and intuitive: the boxes perform "activities,"
the circles with enclosed letter symbols wait for "events," the
empty circle marks the endpoint of the process.
Figure 4 shows the process with the addition of private steps (i.e.,
steps not required by the choreography but driven by internal
requirements). These steps are italicized: "Write PO to DB"
persists the purchase order to an internal retailer database when it
arrives from the consumer; "Update PO Status in DB" updates the
database record with the status of the warehouse response (i.e.,
accept or reject); "Sales Followup" is a manual task, assigned to a
sales representative to help the consumer resubmit the order in Figure 6 – Retailer BPEL code
case it was rejected by the warehouse. (The diamonds in the figure
are called XOR gateways. When combined, they form a
conditional code structure that works like an if statement.
Gateways are discussed at length in Essential Business Process
Modeling.)