Relating Processes in SOA to Web Services: Introduction to Web

Document Sample
Relating Processes in SOA to Web Services: Introduction to Web Powered By Docstoc
					   Aligning Business Processes to

   B. Ramamurthy

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
  (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                                       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
                                      Activity based
     EAI                              costing
             Service                             Continuous
                                   Six Sigma
                                        Value Chain


IT Organization                  Business Organization

  Page 4                                                 9/12/2012
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                                                  9/12/2012
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

    Page 6                                                      9/12/2012
BPM System Architectrure
  Design tool                                 Process engine
                                        Interprets VPML, BPEL4WS

                Process Manager
   Deploy &                                                 Process
   configure                      Definition                Instance
                                  Repository               repository

  Monitor &                       Transaction             Connector
   manage                          manager                framework


                                     Backend applications

 Page 7                                                            9/12/2012
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                                   9/12/2012
   BPM Alignment to SOA
          Enterprise             BPML

Process                     BPMS

                       Intermediary layer

                          Basic layer

          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
control logic
 • 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
     programmatic consumption.
• 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
•    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                                                  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)
    <getProductDetails xmlns="">

  Page 15                                            9/12/2012
 SOAP Reply
      <productName>Toptimate 3-Piece Set</productName>
      <description>3-Piece luggage set. Black
     Page 16                                              9/12/2012
SOAPWeb Services (WS)
Take a look at Tim Berners-Lee ‘s paper on
  Web Services

  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-
     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.

    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
   SOAP header)
 • Determine the message’s target service: which WSDL operation
   is the message intended to invoke. (Ex: look at
 • 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                                                          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             br
  <to>CSE507 Students</to>
  <body>Wake up everyone</body>         Link
  <sign>br</sign>                       Signature

   Memo.xml                         Memo class        Memo objects
                                                      Memo instances

     Page 22                                            9/12/2012
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
•   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

Shared By: