6/1/2015Page 1 Aligning Business Processes to SOA B. Ramamurthy.
-
date post
18-Dec-2015 -
Category
Documents
-
view
217 -
download
2
Transcript of 6/1/2015Page 1 Aligning Business Processes to SOA B. Ramamurthy.
04/18/23 Page 2
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)
04/18/23 Page 3
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)
04/18/23 Page 4
IT Organization Business Organization
EAI
Workflowmanagement
ERP
B2Bi
RulesEngineWeb
ServiceSix Sigma
Value Chain
Activity basedcosting
ContinuousProcessimprovement
04/18/23 Page 5
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.
04/18/23 Page 6
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.
04/18/23 Page 7
BPM System Architectrure
Pro
cess
M
anager Process
Definition Repository
Process Instance
repository
Transactionmanager
Connectorframework
Process engineInterprets VPML, BPEL4WS
Backend applications
Middleware
Design tool
Deploy &configure
Monitor &manage
04/18/23 Page 8
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.
04/18/23 Page 9
BPM Alignment to SOA
Basic layer
Intermediary layer
Enterprise Processes
BPML
Processlayer
BPMS
04/18/23 Page 10
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.
04/18/23 Page 11
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.
04/18/23 Page 12
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.
04/18/23 Page 13
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).
04/18/23 Page 14
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).
04/18/23 Page 15
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>
04/18/23 Page 16
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>
04/18/23 Page 17
SOAPWeb Services (WS)
Take a look at Tim Berners-Lee ‘s paper on Web Services
http://www.w3.org/DesignIssues/WebServices.html
04/18/23 Page 18
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.
04/18/23 Page 19
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 client-side 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.
04/18/23 Page 20
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.
04/18/23 Page 21
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.
04/18/23 Page 22
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>
MemoHeader
From To
BodyPara[]
LinkSignature
Memo.xml Memo class Memo objectsMemo instances
Memo1Hello WorldBinaCSE507 StudentsWake up everyonebr
04/18/23 Page 23
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.• See Fig 1-1