You are on page 1of 6

SOA and BPM, a more consistent and manageable

approach

Alison H. R. Silva Alipio Getulio Krohn Jr.


EAI Project - TCS Brazil EAI Project - TCS Brazil
SCN Área 5 Bl. A # 50 T. Sul sl. 501 SCN Área 5 Bl. A # 50 T. Sul sl. 501
55 61 3426 3611 55 61 3426 3611
alison.silva@br-tcs.com alipio.junior@br-tcs.com

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.)

Figure 4 - Complete retailer process (BPMN) [12]

As it turns out, the mapping to BPEL is straightforward: the


"events" of the BPMN process (e.g., "Wait Warehouse
Response") are BPEL "receive" activities (or activities that wait
for events to occur); the "activities" (e.g., "Send PO to Figure 7 – Retailer BPEL code
Warehouse") are BPEL "invoke" activities (or activities that call
services); the conditional structure enclosing "Sales Followup" is
a BPEL "switch" activity; and the entire flow is a "sequence" In the BPEL code, "partner links" (marked by the partnerLink
activity. The BPEL code, each of whose eight steps derived from XML attribute, such as partnerLink="consumer" in line 13) are
BPMN is indicated by a comment (e.g., line 12 indicates step 1), used to identify the parties with which the process converses. Four
is provided in Figures 5, 6 and 7 [12]. partner links are used:
• consumer, representing the consumer process, is used in
steps 1 (line 12), 2 (line 21), and 6 (line 44).
• warehouse, representing the warehouse process, is used
in steps 4 (line 30) and 5 (line 34).
• retailerDB, a web service interface to the retailer's
internal database, is used in steps 3 (line 26) and 7 (line
49).
• taskMsg, a web service interface to human workflow, is
used in step 8 (line 53).
All three types of process interactions are represented: consumer
and warehouse are external system interactions, retailerDB an
internal system interaction, and taskMgr human interaction. All
interactions are web-service-based. Each partner has a WSDL that
describes its interface. Interestingly, the retailer process itself is a
web service; its "receive" activities are web service operations,
which are documented in a WSDL that the process published to
Figure 5 – Retailer BPEL code its partners.
The next figure represents the interaction between business TCS Brazil, with its EAI project, has worked in partnership with
process, services (business and integration) and operational Brasil Telecom to establish the use of BPMN in its IT areas, as
resources. represented in figure 9 below.

Figure 8 – Relationship between BPM Layer, ESB Layer and


EAI Layer.

7. Benefits of using BPM and SOA

• The business process layer separation permits its


modification without impact in the existent services. Figure 9 – BPMN Implementation Process
• Events and triggers can be used to start or automate any
business process. These areas goals are to use BPMN to define and document its
business process and its relationships with each others services
• Process containers permit that large business processes and processes, such as Provisioning, Billing, CRM, etc. The
are broken in smaller and more manageable ones. documentation of the processes and services, as well as its
• Business process design tools allow that the process can implementation and architecture, is happening with the help of
be viewed and maintained by any enterprise area, and TCS with its Component Management, Architectural and
they can speed up the BPEL code generation for Development teams.
installing the business process in a computer Before the deployment of BPMN every business areas defined its
environment. processes through workflows and textual documents. As of the
• The OMG (Object Management Group) [5], in conjunct deployment of BPMN as the way to document and organize the
with the WfMC (Workflow Management Coalition) [6] business process, all the IT business areas is being trained to
has worked a lot toward the BPM documentation and define its process and services using the new paradigm and
standardization, what makes the BPM trustable, secure standardized tools.
and in tune with the process of market expansion. With the BPMN and SOA deployment, we expect to shorten the
projects life cycle as well as reduce the number of defects found
in the projects, since the services will be strongly reused. This
8. Case TCS and Brasil Telecom way, the project cost and rework will reduce and the process
visibility and manageability will increase significantly, enabling
the change and adaptation of the business process in a time to
Brasil Telecom [7] is a Brazilian company specialized in market.
telecommunication solutions that attend in an integrated way all
the market demands, with a convergent solution, its mobile and
fixed operations, traffic of data and voice, data center, free,
broadband and dial internet. 9. Conclusions
Brasil Telecom has more than 10.8 million of installed fixed lines
and the second broadband internet access base in Latin America. BPM and SOA provide a perfect combination for enterprise
It also has more than 2 million mobile phone clients in less than 2 computing. BPM provides the higherlevel abstraction for defining
years operation. businesses processes, as well as other important capabilities of
monitoring and managing those processes. Services provide the
functions that support those processes. SOA provides the [4] IBM – Websphere Business Integration -
capabilities for services to be combined and to support and create www.ibm.com/software/integration/wbisf/
an agile, flexible enterprise. BPM without SOA is useful for [5] OMG – Object Management Group – http://www.omg.org
building applications, but difficult to extend to the enterprise.
SOA without BPM is useful for creating reusable and consistent [6] WfMC – Workflow Management Coalition –
services, but lacks the ability to turn those services into an agile, http://www.wfmc.org
competitive enterprise. [7] Brasil Telecom -
http://www.brasiltelecom.com.br/home/sobreabrasiltelecom.
SOA provides the ideal level of abstraction for defining reusable
html
business functionality, completely encapsulating underlying
applications and technology platforms from the BPM system. [8] Microsoft BizTalk Server - http://www.microsoft.com/biztalk
SOA generates modular business components that encapsulate [9] TIBCO Software – http://www.tibco.com
business logic and generally accepted interfaces. The modules can [10] Vitria Technologies – http://www.vitria.com
easily execute the steps in a process flow.
[11] Havey, Michael. Essential Business Process Modeling.
SOA is the crucial foundation for BPM, supporting rapid O’Reilly, Aug-2005.
assembly and orchestration of process services into larger, end-to- [12] Havey, Michael. What is Business Process Modeling.
end processes. O’Reilly OnJava, July 2005.
[13] Behara, Gopala Krishna. BPM and SOA: A Strategic
Alliance. BPM Trends, May 2006.
10. REFERENCES [14] Erl, Thomas. Service-Oriented Architecture: A Field Guide
[1] CBDI Forum - http://www.cbdiforum.com to Integrating XML and Web Services. Prentice Hall, 2004.
[2] W3C - http://www.w3.org
[3] Taylor, Frederick Winslow. The Principles of Scientific
Management. Dover Publications, 1911.

You might also like