Aligning Business Processes to
SOA
B. Ramamurthy
Page 1
10/3/2015
Topics
• 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
(Chapter 7)
• Java Web services toolkit (Chapter 1-2: WS
SOA text)
• Midterm: 60 minutes exam on chapter 1-7
(Lets decide the date for the exam)
Page 2
10/3/2015
Business Process Management
(BPM)
• 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
10/3/2015
EAI
Web
Service
Workflow
management
Rules
Engine
Activity based
costing
Six Sigma
B2Bi
Continuous
Process
improvement
Value Chain
ERP
IT Organization
Page 4
Business Organization
10/3/2015
Business Process Management
System (BPMS)
• 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
run time).
– Lets discuss Modeling and execution architecture of BPMS.
Page 5
10/3/2015
Modeling Languages
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
applications.
Page 6
10/3/2015
BPM System Architectrure
Deploy &
configure
Monitor &
manage
Process Manager
Design tool
Process engine
Interprets VPML, BPEL4WS
Process
Definition
Repository
Transaction
manager
Process
Instance
repository
Connector
framework
Middleware
Backend applications
Page 7
10/3/2015
BPM vision
• 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
10/3/2015
BPM Alignment to SOA
Enterprise
Processes
Process
layer
BPML
BPMS
Intermediary layer
Basic layer
Page 9
10/3/2015
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
10/3/2015
Core business logic vs. process
control logic
• Both these concepts comprise data and functionality.
• Examples of core business logic: data access
services, complex calculations, complex business
rules
• 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
10/3/2015
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
programmatic consumption.
• For manual search for services (WSDL) use:
http://www.esynaps.com/eSynaps_home.aspx
use this for choosing services in the domain of
your term project.
Page 12
10/3/2015
Web Services
•
•
•
•
•
•
•
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
through messaging.
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
Architecture (SOA).
Page 13
10/3/2015
A Little bit of History: XML to
SOAP
• 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
10/3/2015
SOAP Request (Not WS request)
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetails xmlns="http://warehouse.example.com/ws">
<productId>827635</productId>
</getProductDetails>
</soap:Body>
</soap:Envelope>
Page 15
10/3/2015
SOAP Reply
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetailsResponse
xmlns="http://warehouse.example.com/ws">
<getProductDetailsResult>
<productName>Toptimate 3-Piece Set</productName>
<productId>827635</productId>
<description>3-Piece luggage set. Black
Polyester.</description>
<price>96.50</price>
<inStock>true</inStock>
</getProductDetailsResult>
</getProductDetailsResponse>
</soap:Body>
</soap:Envelope>
Page 16
10/3/2015
SOAPWeb Services (WS)
Take a look at Tim Berners-Lee ‘s paper on
Web Services
http://www.w3.org/DesignIssues/WebService
s.html
Page 17
10/3/2015
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
10/3/2015
Web Services Platform
Architecture
• Web services platform is a set of tools for invoking
•
•
•
•
and deploying Web services.
The platform has server-side components and clientside components.
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
10/3/2015
Invocation: server-side invocation
Receive SOAP message from transport (ex: HTTP or JMS
endpoint)
• Invoke handlers that preprocess the message (ex: process SOAP
header)
• Determine the message’s target service: which WSDL operation
is the message intended to invoke. (Ex: look at amazon.com
ECS WSDL)
• 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
as parameters.
Page 20
10/3/2015
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
operation.
• 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
10/3/2015
XML document and Class (object)
<?xml version="1.0" ?>
<!DOCTYPE memo (View Source for
full doctype...)>
- <memo>
<header>Hello World</header>
<from>bina</from>
<to>CSE507 Students</to>
<body>Wake up everyone</body>
<sign>br</sign>
</memo>
Memo.xml
Page 22
Memo
Header
From
To
Body
Para[]
Link
Signature
Memo class
Memo1
Hello World
Bina
CSE507 Students
Wake up everyone
br
Memo objects
Memo instances
10/3/2015
Client-side invocation
• 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
layer.
Deserialize XML result to Java object.
Complete invocation of the SEI by returning the
deserialized SOAP response.
Page 23
10/3/2015
See Fig 1-1
Page 24
10/3/2015
Page 25
10/3/2015
Descargar

Relating Processes in SOA to Web Services: Introduction to