Aligning Business Processes to
Page 1 9/12/2012
• Lets discuss term project topics
– Feedback on assignment 2
– Need completed assignment2 in digital drop box
by tonight (10/8/2007)
• Relating business processes and SOA
• Java Web services toolkit (Chapter 1-2: WS
• Midterm: 60 minutes exam on chapter 1-7
(Lets decide the date for the exam)
Page 2 9/12/2012
Business Process Management
• BPM generally focuses on the strategic and
operational aspects of process orientation in a
given business area.
• Mapping BPM model to an enterprise IT
landscape is a challenging task.
– Business side of BPM are the keywords such as
ISO 9000 and Six Sigma
– IT side of BPM is accompanied by keywords such
a process modeling and workflow management
(see Fig. 7.1)
Page 3 9/12/2012
IT Organization Business Organization
Page 4 9/12/2012
Business Process Management
• BPMS provides the technical platform for realizing
BPM management initiatives.
– BPM engine, facilities for BPM monitoring, design tools, and
facilities for simulation.
– “BPM encompasses the discovery, design, and deployment
of business processes, as well as executive, administrative
and supervisory control over them to ensure that they
remain compliant with business objectives” [SF03]
– A BPM software product should enable business analysts,
software developers, and system administrators to model
and deploy business processes ( at development time) and
to interact with, monitor and analyze process instances 9at
– Lets discuss Modeling and execution architecture of BPMS.
Page 5 9/12/2012
• Most are based on work by Petri [Rei 92] and Milner [Mil 80]
• Business Process Execution Language for WS (BPEL4WS)
• IBM’s Web Services Flow Langauge (WSFL)
• Microsoft’s XLANG
• BPML by SAP, Sun and other vendors.
• BPMN (Business Process Modeling Notation) is a language by
BPMI is to support standardized, graphical representation of
business process diagrams.
• BPMN is positioned at the interface of business and IT.
– UML is within IT
– BPMN aims to become the defacto standard used between IT and
business to discuss the scope and functionality of processes and
Page 6 9/12/2012
BPM System Architectrure
Design tool Process engine
Interprets VPML, BPEL4WS
Deploy & Process
configure Definition Instance
Monitor & Transaction Connector
manage manager framework
Page 7 9/12/2012
• BPM vision is strong one
– Instead of hard coding business processes
into applications, it facilitates modeling,
modifications, reconfigurations, and
optimization of process definitions with
graphical tools that can be used by less
technology-oriented business analysts.
Page 8 9/12/2012
BPM Alignment to SOA
Page 9 9/12/2012
BPM and process-enabled SOA
• Data & functions Objects Services
• With SOA we take a deliberate step
back from the highly complex, fine
grained dependent distributed object
models toward less complex, relatively
coarse-grained, loosely coupled (ie. less
independent) component interfaces.
Page 10 9/12/2012
Core business logic vs. process
• Both these concepts comprise data and functionality.
• Examples of core business logic: data access
services, complex calculations, complex business
• Process control logic are related to non-tangible
objects in the service industry: contract
management, supply chain management, sales of
complex products, software outsourcing processes.
• Design implications for architects: decomposition of
SOA should pay attention to the above to the above.
– For example, an architect may decide to design the core
processes in house and buy the rest from outside source.
Page 11 9/12/2012
Discovering services online
• Universal Description, Discovery and
Integration (UDDI) is a platform-independent,
XML-based registry for businesses worldwide
to list themselves on the Internet.
– The information (ex: WSDL) discovered is for
• For manual search for services (WSDL) use:
use this for choosing services in the domain of
your term project.
Page 12 9/12/2012
• Web Services is a technology that allows for applications to
communicate with each other in a standard format.
• A Web Service exposes an interface that can be accessed
• Deployable unit.
• A Web service uses protocol to describe an operation and the
data exchange with another web service. Ex: SOAP
• Platform independent, say, through WSDL.
• Publishable, discoverable, searchable, queryable
• Scalability issues: A group of web services collaborating
accomplish the tasks of a large-scale application. The
architecture of such an application is called Service-Oriented
Page 13 9/12/2012
A Little bit of History: XML to
• Simple xml can facilitate sending
message to receive information.
• The message could be operations to be
performed on objects.
• Standardize the tags for object access.
• Simple Object Access Protocol (SOAP).
Page 14 9/12/2012
SOAP Request (Not WS request)
Page 15 9/12/2012
<productName>Toptimate 3-Piece Set</productName>
<description>3-Piece luggage set. Black
Page 16 9/12/2012
SOAPWeb Services (WS)
Take a look at Tim Berners-Lee ‘s paper on
Page 17 9/12/2012
Introduction to Web Services
(From WS SOA text book)
• The end product is an SOAShopper:
– Implements a shopping engine that integrates
eBay, Amazon and Yahoo!Shopping.
– Publishes both REST and SOAP endpoints
– Consumes both REST and SOAP endpoints
– Provides AJAX frontend
• One of the thesis of the book is that Web
Services are hard.
• How to address this above problem? Define a
framework that simplifies things.
Page 18 9/12/2012
Web Services Platform
• Web services platform is a set of tools for invoking
and deploying Web services.
• The platform has server-side components and client-
• Server side components are usually packaged within
some type of container. (Ex: Apache Tomcat)
• The client side are packaged with interfaces
instances that are bound to WS.
• The platform should also provide three core
subsystems: invocation, serialization and deployment.
Page 19 9/12/2012
Invocation: server-side invocation
• Receive SOAP message from transport (ex: HTTP or JMS
• Invoke handlers that preprocess the message (ex: process
• Determine the message’s target service: which WSDL operation
is the message intended to invoke. (Ex: look at amazon.com
• Given the target WSDL operation, determine which Java
class/method to invoke.
– This Java class is referred to as the Java target
– Determining the Java target is referred to as dispatching.
• Hand off SOAP message to Serialization subsystem to
deserialize into Java objects that can be passed to Java target
Page 20 9/12/2012
Server-side invocation (contd.)
• Invoke the Java target using the parameters
and get the result Java object returned by the
Java target method.
• Hand off the object returned to the
Serialization subsystem to serialize it into XML
and return the message specified by target
• Hand off SOAP response back to transport
layer of the network for delivery.
• At every stage discussed above handle
exceptions – this is very important.
Page 21 9/12/2012
XML document and Class (object)
<?xml version="1.0" ?> Memo
<!DOCTYPE memo (View Source for Header Hello World
full doctype...)> From Bina
- <memo> To CSE507 Students
<header>Hello World</header> Wake up everyone
<body>Wake up everyone</body> Link
Memo.xml Memo class Memo objects
Page 22 9/12/2012
• Create an instance of WS endpoint implementing a
service endpoint interface (SEI).
• Handle a invocation of SEI instance.
• Take the parameters passed to the SEI and pass
them serialization system.
• Wrap parameters in SOAP message
• Invoke handlers to post-process the message (for
example for QoS requirements)
• Hand off message to transport layer for delivery.
• Receive SOAP message response from the transport
• Deserialize XML result to Java object.
• Complete invocation of the SEI by returning the
deserialized SOAP response.
• See Fig 1-1
Page 23 9/12/2012
Page 24 9/12/2012
Page 25 9/12/2012