Title: Aligning Business Processes to SOA
1Aligning Business Processes to SOA
2Topics
- 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)
3Business 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)
4Activity based costing
EAI
Rules Engine
Web Service
Continuous Process improvement
Six Sigma
Workflow management
B2Bi
Value Chain
ERP
IT Organization
Business Organization
5Business 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.
6Modeling Languages
- Most are based on work by Petri Rei 92 and
Milner Mil 80 - Business Process Execution Language for WS
(BPEL4WS) - IBMs Web Services Flow Langauge (WSFL)
- Microsofts 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.
7BPM System Architectrure
Design tool
Process engine Interprets VPML, BPEL4WS
Process Manager
Process Instance repository
Process Definition Repository
Deploy configure
Monitor manage
Transaction manager
Connector framework
Middleware
Backend applications
8BPM 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.
9BPM Alignment to SOA
BPML
Enterprise Processes
BPMS
Process layer
10BPM 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.
11Core 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.
12Discovering 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.
13Web 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).
14A 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).
15SOAP Request (Not WS request)
ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.
org/soap/envelope/"gt ltsoapBodygt
ltgetProductDetails xmlns"http//warehouse.example
.com/ws"gt ltproductIdgt827635lt/productIdgt
lt/getProductDetailsgt lt/soapBodygt
lt/soapEnvelopegt
16SOAP Reply
ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.
org/soap/envelope/"gt ltsoapBodygt
ltgetProductDetailsResponse xmlns"http//warehouse
.example.com/ws"gt ltgetProductDetailsResultgt
ltproductNamegtToptimate 3-Piece
Setlt/productNamegt ltproductIdgt827635lt/prod
uctIdgt ltdescriptiongt3-Piece luggage set.
Black Polyester.lt/descriptiongt
ltpricegt96.50lt/pricegt ltinStockgttruelt/inSto
ckgt lt/getProductDetailsResultgt
lt/getProductDetailsResponsegt lt/soapBodygt
lt/soapEnvelopegt
17SOAP?Web Services (WS)
- Take a look at Tim Berners-Lee s paper on Web
Services - http//www.w3.org/DesignIssues/WebServices.html
18Introduction 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.
19Web 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.
20Invocation 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 messages 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.
21Server-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.
22XML document and Class (object)
lt?xml version"1.0" ?gt  lt!DOCTYPE memo (View
Source for full doctype...)gt - ltmemogt Â
ltheadergtHello Worldlt/headergt  ltfromgtbinalt/fromgt
 lttogtCSE507 Studentslt/togt  ltbodygtWake up
everyonelt/bodygt  ltsigngtbrlt/signgt  lt/memogt
Memo1 Hello World Bina CSE507 Students Wake up
everyone br
Memo objects Memo instances
Memo.xml
Memo class
23Client-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
24(No Transcript)
25(No Transcript)