6/1/2015Page 1 Aligning Business Processes to SOA B. Ramamurthy.

25
03/27/22 Page 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 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

04/18/23 Page 24

04/18/23 Page 25