SOA IA Electronics

Document Sample
SOA IA Electronics Powered By Docstoc
					   IBM Research

Integrating Grid Components into
Business Processes

   Thomas Weigold (
   Business Computing Group
    IBM Research


         ePVM – An Embeddable Process Virtual Machine

         GridCOMP/GCM

         GCM Use Case Application

1   Thomas Weigold
     IBM Research

           Business Process Management Life Cycle

                                   <process name=“MyProcess” >
    BPMN                            <sequence>
     UML                                                          BPEL
                      Process        …                            BPML
                      Definition    </sequence>

       Process                       Process                 Process
       Modelling                    Enactment               Monitoring

       Measures for    Process     Audit Trail Data
       Improvement    Evaluation

2    Thomas Weigold
    IBM Research

                         Problem Definition

        Large number (7+) of process definition standards but no
         convergence, languages are rather domain specific

        XML based - not easily programmable by hand (encoding is
         very ‘noisy’), not suitable to define behaviour, no fine
         grained procedural logic

        Workflow/BPM systems are often heavy-weight, monolithic
         systems with many dependencies (e.g. based on
         application servers), not embeddable

        MDA paradigm – developments rely on high-level tool
         support (modeling/code generation)

           Issues: Interoperability, Versatility, Programmability

3   Thomas Weigold
    IBM Research

              ePVM – A new Process Engine that:

       is lightweight and generic (low-level)

       is embeddable into all kind of applications (workflow-
        centric programming)

       is easily programmable and independent of high-level tool

              1. Process Model: Communicating State Machines

              2. Process Definition Language: JavaScript

              3. Available as self-contained library

4   Thomas Weigold
    IBM Research

                                ePVM Architecture
                     Host Application

                                                        ePVM Core Engine Library
      Grid             Create Engine                       Thread                         Thread
    Component                                             in-queue                        in-queue
     Adapter          Deploy Process
                        Definition                        Instance                       Instance

                     Instantiate Process

       BPEL          Communicate with
    Import/Export    Process Instance                    save-queue                      save-queue

                      Monitor Events       API
                                                                      ePVM Runtime
         .                 Query                                            API
                                                               Messaging,         Persistence,      Monitoring,
                                                               Threading             Trans-         Audit Trail
    Web Services     Host Process                Definitions
     Gateway            Object
                                                                    JavaScript Interpreter

5   Thomas Weigold
    IBM Research

                                       An ePVM Example

    Host Process                                                               Host Process
       Object                                                                     Object

                   (5)                                                   (1)

                         ePVM Thread                 ePVM Thread

                          In-Queue                       In-Queue
                                        (3)   (2)
                           Process                     Process
                          Instance B                  Instance A
                                        CM                          CM
                                  (4)         (6)

                         Save-Queue                  Save-Queue

6   Thomas Weigold
    IBM Research

                              An ePVM Example

       __PVMPackage = "Order Management";

       function verifyOrder__PVMProcess (env, order) {
         var msg = {, number:order.creditCardNumber}; // prepare message
         var handle = PVM_invoke(cardValidation); // create process instance
         msg = PVM_call(handle, msg); // send msg synchronous
         PVM_reply((msg)?”accepted”:”rejected”); // reply result string
         return false; // terminate process

       function cardValidation(env, msg) {
         if (env.state == null) { // initial state
             PVM_send(PVM_hostProcess("cardService"), msg); // send msg asynchronous
             PVM_save(); // put current-message into save-queue
             env.state = "requested"; // update state
             return true; // wait for next message
         // forward boolean message from cardService by replying to saved message
         return false; // terminate process

7   Thomas Weigold
            IBM Research

     An Advanced Grid Component Platform

     Define a Grid component model that enables               WP5: Applications (Use Cases)
      efficient programming of Grid applications.
                                                            WP4: Advanced Component IDE
     Define an advanced Grid component IDE.
                                                                WP2/3: Component Platform
     Provide a reference implementation based on the
      ObjectWeb ProActive Grid middleware.                         Basic Grid Middleware

     Provide industrial use cases for evaluation and            Existing Operating Systems

      demonstration of the component platform.

     Project started June 2006 (duration 30 month). Info:
     Current work: Use case architectural design and early experiments with the
      component platform.

8           Thomas Weigold
         IBM Research

               IBM Use Case Application
             Real-time Biometric Identification System for Large User
       Identify people solely on their biometric information (1:N match)

       Use fingerprint biometrics

       Consider multiple fingers (per person) to work reliably on large user population

       Use distributed matching via GCM components to achieve real-time performance

       Based on business process (workflow)
        engine for adaptability                                                   Threshold



                                                                                                         Match Score
                                                                   False Reject           False Accept

9         Thomas Weigold
          IBM Research

                     IBM Use Case Application

       Demo                 Biometric Identification System (BIS)
                            Services                                     Business Processes

                                                                    Identification     System     Admin
                               DB                                                    Management

                            GridCOMP                                    Workflow Engine
          DB                 Adapter

                                         Grid Infrastructure

                                   Matching                 Matching
                                  Component                Component


10        Thomas Weigold
     IBM Research

                         Status/Next Steps

          Prototype implementation of ePVM available

          Initial publication presenting and positioning ePVM to be
           published at IEEE COMPSAC 2007

          Advance ePVM programming model and prototype
           implementation (e.g. persistence, WS support,…)

          Publish results from GridCOMP use case application and
           component framework evaluation

11   Thomas Weigold
IBM Research


Thomas Weigold (
Business Computing Group
     IBM Research


         Architecture and Programming Model for an
                    execution engine that:

        is lightweight and generic (domain independent, small, few
         requirements to environment)

        can support multiple standard languages

        is embeddable into all kind of applications (workflow-
         centric programming)

        is easily programmable (well known, easy language) and
         independent of high-level tool support

13   Thomas Weigold
     IBM Research


             ePVM: An embeddable Process Virtual
                Machine based on JavaScript

          Open Standard: ECMAScript & E4X (ECMAScript for XML)

          Easy to learn/use (implicitly typed, GC, …)

          Very popular, exceptionally huge programmer base

          Platform independent (cross-platform acceptance)

          Open source implementations available (e.g. Rhino)

14   Thomas Weigold
     IBM Research

                        Programming Model

             Communicating Extended Finite State
                    Machines (CEFSM)

          Suitable to describe event-driven reactive systems
           involving many concurrent activities

          Well know approach used in the design of
           telecommunication systems (e.g. network protocols)

          Example: Specification and Description Language (SDL)

          On abstract level, workflows are very similar to network

          ePVM Programming Model resembles CEFSM

15   Thomas Weigold

Shared By: