Docstoc

SWAP leveraging the Web to manage workflow

Document Sample
SWAP leveraging the Web to manage workflow Powered By Docstoc
					                                                                                                                                                                 .




                                                                                                                                            COLLABORATIVE WORK
                                                                                           flow automation solutions. To this
                                                                                           end, more than 30 commercial ven-
                                                                                           dors and research labs have con-
                                                                                           tributed to the IETF effort.
                                                                                              The work to date has been toward
                                                                                           defining the Simple Workflow Access
                                                                                           Protocol. SWAP is being designed to
                                                                                           allow for interoperability between dif-
                                                                                           ferent workflow systems and the
                                                                                           applications they support. Standard-
                                                                                           izing a protocol rather than defining a
                                                                                           standard software library or API mini-
                                                                                           mizes the implementation constraints

                                                          SWAP:                            on a vendor’s workflow system. The
                                                                                           workflow implementor must define
                                                                                           only the structure of the calls and data

       Leveraging the Web To                                                               placed on the wire. Interoperability
                                                                                           overhead is minimized and grounded
                                                                                           in a network-based protocol specifica-

          Manage Workflow                                                                  tion rather than the migration of
                                                                                           process definitions from one system
                                                                                           to another according to intersite
                             Gregory Alan Bolcer • Endeavors Technology Inc., and          agreements or common data format
                               University of California, Irvine • gbolcer@endeavors.org    definitions.
                          Gail Kaiser • Columbia University • kaiser@cs.columbia.edu          To keep it simple, the scope of
                                                                                           SWAP is limited to the interactions
                                                                                           and requirements between a requester
The Web’s explosive growth has made           interfaces offer a mechanism to easily       and a workflow service. This approach
it the platform of choice for Internet        access distributed information and           leverages existing Internet protocol
application developers. Workflow              hand off documents and data over the         designs and avoids the harder problem
vendors are no exception to this              Web, but at the expense of being able        of prescribing a general interoperabili-
trend. They are employing Web infra-          to effectively manage and track work         ty workflow definition or interchange
structure and protocols in traditional        activities. Web protocols provide no         format.
workflow products to give customers           inherent support for automated                  For its purposes, the working
worldwide connectivity for sharing            change notification, handoff of con-         group defines a workflow process as a
information both inside and outside           trol, or initiation of human- and            series of steps that involves coordina-
an organization.                              computer-executed activities. In             tion of tasks, handoff or routing of
   Many organizations are beginning           essence, there is no standard way for        information, and synchronization of
to discover what workflow vendors             service requests to trigger a workflow       activities. While a user can easily pub-
already know—namely, that the real            process and monitor it across plat-          lish a Web page to disseminate infor-
value of the Web lies not just in its         forms and between organizations.             mation, it is very difficult to browse
documents and resources, but also in                                                       or publish access to a generic work-
the activities surrounding them.              A Network-Based Protocol                     flow service.
Collaborative work involves not only          Solution                                        Current practice is through
handoff and routing of data between           An Internet Engineering Task Force           Common Gateway Interface scripting,
humans, but the coordination of               working group has been proposed to           whereby a server maps an HTTP
activities among them and with auto-          define a simple, lightweight, extensible     method call to execution code resident
mated agents as well. Workflow                protocol for communicating informa-          on the receiving server. Because the
engines typically ensure that the             tion about long-lived workflow activi-       code is usually programmed and sup-
information ends up on the right              ties over the Internet (see the sidebar,     ported in a way particular to the host-
desktop along with the tools to               “Related Workflow Standards,” for            ing organization, companies have hesi-
accomplish a slated task.                     links to this group, its work, and other     tated to commit their core business
   It is difficult to synchronize work        relevant Web sites). The ability to          processes outside their ability to con-
and activity tracking within a techni-        integrate work providers and work            trol them. The code representing the
cally diverse organization. Tools and         performers to support asynchronous           enactable workflow process tends to
formats typically differ among work-          services across an intranet, extranet, or    evolve, which can cause unexpected
groups, as do skill levels and under-         the Internet is a powerful mechanism.        errors and exceptions and invocation
standing among individual partici-            It allows the use of software from mul-      mismatches. This makes maintaining
pants in a process. Browser-based user        tiple vendors to build scalable work-        interorganizational processes costly.


IEEE INTERNET COMPUTING                                                           http://computer.org/internet/   JANUARY • FEBRUARY 1999    85
.


         C   O   L   U   M   N




               Related Workflow Standards
              The Web site for the Simple Workflow Access Protocol                  guidance to the issues and drawbacks of doing publish-
              working group is at http://www.ics.uci.edu/~ietfswap/.                subscribe and remote procedure notification on the
              The site includes more information about SWAP as well as              Internet; and various XML standardization groups provide
              links to current IETF Internet-draft documents at                     DTDs for certain types of domain-specific definitions and
              http://www.ietf.org/internet-drafts/. It also defines work-           common business processes.
              flow as “the computerized facilitation or automation of a                While all these issues are under consideration by the
              business process, in whole or part.”                                  working group, the SWAP participants have determined
                                                                                    that in the interest of time-to-market, external dependencies
              Other Workflow Standards                                              will be kept to a minimum. Formal incorporation of other
              SWAP has overlapping concerns with many other stan-                   standards work will be limited, but care will be taken to
              dards efforts in the workflow and Web communities. Both               ensure future compatibility.
              the Workflow Management Coalition (WfMC) and the
              Object Management Group (OMG) have proposed work-                     Why SWAP?
              flow standards1,2 that are much more mature than SWAP.                SWAP is related to several other protocol standardization
              The Web sites for these organizations are                             efforts, including Remote Procedure Calls using XML
              http://www.aiim.org/wfmc/ and http://www.omg.org,                     encoding (XML/RPC) and HTTP and its extensions
              respectively.                                                         (HTTP/1.1, HTTP-NG). HTTP has been useful for many
                 SWAP differs from these efforts in its focus on using HTTP         purposes because it doesn’t require programmers to build
              as a substrate. This creates both an opportunity and a                different protocol engines to support highly related tasks.
              problem.                                                              For protocols that aren’t supported, the Protocol Extension
                 The opportunity, of course, is the prospect of capitaliz-          Protocol allows extension of HTTP functionality.
              ing on HTTP’s wide support, particularly on desktops and                 Because SWAP involves generic services, several work-
              Internet-enabled devices that don’t easily support tradi-             ing group members have asked what is workflow-specific
              tional workflow installations. The problem is that HTTP               about the protocol. The definition of the SWAP workflow
              doesn’t currently offer the level of notification and transac-        protocol is useful in several ways. First, workflow has a
              tion control required for cooperative work on the Web.3               unique requirement in that a generic workflow service,
                 The WfMC and OMG workflow standards require very                   once invoked, can take anywhere from minutes to years to
              sophisticated technologies to support distributed workflow            complete. How will the service change over this time?
              execution and participation. Efforts to embrace and inte-             What will be the availability? How do updates and notifi-
              grate the Web into these standards have proved difficult.             cations take place? It is not yet clear whether existing noti-
              The Web’s minimalist infrastructure doesn’t easily support            fication and transaction protocols can be scaled to a prob-
              flexibility, consistency, and assurances of a more robust             lem that includes this type of asynchrony.
              traditional workflow solution.                                           Second, workflow involves a mix of automated ser-
                                                                                    vices and human-enacted activities. While protocols have
              Other Related Standards                                               focused on one or the other, only the workflow communi-
              What this specifically means to the SWAP working group                ty has explored the issues for seamlessly intermixing of
              is that protocol and data type definitions will be borrowed           the two.
              from other standards and working groups. SWAP intends
              to address these particular requirements by leveraging                References
              work done to date on HTTP and WebDAV. WebDAV has                       1. Workflow Management Coalition (WfMC), “The Workflow
              been a largely successful HTTP extension that provides a                  Management Coalition Reference Model,” Tech. Report WFMC-TC-
              clean interface for assigning and retrieving properties on a              1003, v.1.1, Jan. 1995.
              resource. The home page for WebDAV is                                  2. G. Taubes, “Taming Virtual Taskmasters,” Networks series, IBM
              http://www.ietf.org/html.charters/webdav-charter.html.                    Research, Vol. 36, No. 3, 1998 pp. 7-9; also available online at
                 The Internet printing protocol (IPP) shares several con-               http://www.research.ibm.com/resources/magazine/1998/issue_2/
              cerns regarding asynchronous job processing (see                          networks398.html.
              http://www.ietf.org/html.charters/ipp-charter.html).                   3. R. Fielding et al., “Support for the Virtual Enterprise: Web-based
                 The many notification protocols, such as the                           Development of Complex Information Products,” Comm. of the ACM,
              Generalized Event Notification Architecture, provide                      Vol. 41, No. 8, Aug. 1998, pp. 84-92.



                SWAP would solve these problems                  Resource and Execution                       However, after several Birds-of-a-
             by using HTTP and WebDAV pro-                       Model                                        Feather meetings, a consensus is
             tocol extensions and transferring                   SWAP is a work in progress, and defi-        emerging on some design approaches
             structured information encoded in                   nitions have yet to be formally              and definitions. The SWAP Internet
             XML.                                                reviewed and commented on.                   draft, 1 which expires in February


    86       JANUARY • FEBRUARY 1999   http://computer.org/internet/                                                                 IEEE INTERNET COMPUTING
                                                                                                                                                         .


                                                                      C   O   L    L   A    B   O    R   A   T    I   V   E      W   O    R     K




1999, identifies the following opera-          started, paused, resumed, or                engine has the ability to map the pro-
tions as desirable goals:                      terminated.                                 tocol methods and translate the para-
                                           s   Process definition. The named               meters to the appropriate workflow
s   Initiate. Create, remotely set up,         resource from which process                 process instances and to return the
    and invoke a workflow process.             instances can be created. The               appropriate values. Here’s how it
    Set up the work with the appro-            process definition URI is the loca-         works.
    priate values and permissions, or          tion of the generic service from               Let’s say that a process definition is
    provide references to resources            which multiple instances are                offered at a specific URI. An HTTP
    and data as needed.                        shared.                                     request to the URI invokes a new
s   Monitor. Check the work’s current      s   Observer. A resource interested in          process instance. A given workflow
    status, get a history of the execu-        the completion of a process                 implementation has complete control
    tion, or find out the current and          instance. Given a list of observer          over how it creates the URI that names
    possible states. The latter may            URIs, a process instance can noti-          the target process. Names serve as a
    include collectively reviewing a set       fy observers when the process has           unique ID for the process involved.
    of distributed activities.                 changed state or completed.                 They are used as a unique service ID
s   Control. Read and set the running      s   Activity observer. A type of observ-        for other requests to that process
    state of remote, generic, asynchro-        er that allows a process instance to        instance. For example, an HTTP
    nous workflow services. Pause or           be notified upon completion of              request can provide data to the process
    resume an executing workflow               external work. A process instance           instance through name-value pairs.
    after it is running, or terminate it       may need to invoke a subprocess             Another request could retrieve the cur-
    when it is no longer needed.               instance on a remote system. An             rent state of the process instance, or
s   Notify. Send appropriate notifica-         activity observer simply provides           pause, resume, or terminate it. Every
    tions of status changes to interest-       an interface to browse parent-              interaction specifies a method, the
    ed observers during normal execu-          child process dependencies and to           standard HTTP header field that con-
    tion or when exceptions occur.             receive notification of a completed         trols what action the server takes.
                                               subprocess.                                    There is still some debate in the
A generic workflow service appears         s   Work list/work item. A process              working group about whether adding
externally as a small number of differ-        instance that represents a human-           methods particular to SWAP is the
ent resources provided by a server.            executed activity. Work items hold          appropriate approach. This column
Resources are distinguished by their           the references to activities for the        describes the current thinking, but the
Web address in the form of a Uniform           people who are expected to per-             same functionality could easily be sup-
Resource Identifier, as opposed to a           form them and who can, in turn,             ported using just the HTTP POST
URL—first because a URL often con-             search and retrieve all work items          method and passing the SWAP-specif-
fuses the name of a resource with its          assigned to them.                           ic directives in the parameter values.
location. Additionally, an expectation                                                        All parameters, including scoping
of how named resources are generated       A workflow process instance is created          and name spaces, are put into an
is implicit in a URI scheme.               when actual resources are committed             XML encoding to be sent with the
    SWAP doesn’t enforce the naming        to accomplishing a workflow service,            appropriate calls. In the example of
of the actual locator for a particular     usually when the service is invoked.            Figure 1, the root node has a list of
process resource; it allows the host       Resources can support multiple inter-           attributes, including interfaces,
company to determine this individu-        faces. For example, if it is necessary to       process instance key, valid states, actu-
ally. The host company may then            invoke a remote service on another              al state, and data. From this XML
adopt a generative scheme that             machine, a resource can implement               snippet, we can determine the values
includes human-friendly identifiers        both the process instance and the               and state of that process instance as
where appropriate.                         observer interfaces.                            well as other possible instances.
    Implementation of these resources                                                         The example shows a hypothetical
(services and/or objects) is outside the   Mapping Control Mechanisms. A                   purchase order made by the SWAP
protocol’s scope. SWAP is concerned        process instance may run for days,              working group chair using the config-
only with ensuring that requests are       months, or even years. Because of the           uration information provided by an
made to valid URIs such that a prop-       asynchronous nature of workflow,                online PC manufacturer. Upon the
er and consistent result is returned.      mechanisms for controlling and man-             request, SWAP creates a trackable
    SWAP uses the following interface      aging it using HTTP need to be                  process instance but doesn’t begin exe-
definitions in forming a workflow          mapped out. Keeping an HTTP con-                cuting the process. The method call
model:                                     nection alive long enough to perform            in this case returns the HTTP status
                                           changes and monitor progress of a               code indicating multiple return values
s   Process instance. The actual per-      long-running workflow process, while            as seen in Figure 2.
    former of the workflow service.        doable, is not something the hyper-                It turns out that the memory size
    Every time a service is invoked, a     text protocol was designed to support.          conflicts with the order configuration.
    new process instance is created,          SWAP assumes that the workflow               The customer can then choose to ter-


IEEE INTERNET COMPUTING                                                           http://computer.org/internet/       JANUARY • FEBRUARY 1999       87
                                                                                                                                                                .


     C   O   L   U   M   N




           >>Request
           CREATEPROCESSINSTANCE /submit/order?proc=10 HTTP/1.1                                >>Response
           Host: www.widget-makers.com                                                         HTTP/1.1 207 Multi-Status
           Content-Type: text/xml                                                              Content-Type: text/xml
           Content-Length: xxxx                                                                Content-Length: xxxxx
           Authorization: Digest username=“skreddy”
              realm=“skreddy@oracle.com”, ...                                                  <?xml version=“1.0” ?>
                                                                                               <s:swap xmlns:s=“SWAP:”>
           <?xml version=“1.0” ?>                                                              <s:multistatus>
           <s:swap xmlns:s=“SWAP:”>                                                                <s:response>
           <s:observer>http://www.ics.uci.edu/pub/ietf/swap/chair.html</s:observer>                    <s:processInstance>
                                                                                                           <s:href>
           <s:name>equipment-purchase-process</s:name>                                         http://www.widget-makers.com/status?proc=10.1
           <s:subject>procurement</s:subject>                                                              </s:href>
           <s:description>New equipment purchase</s:description>                                           <?-- “other items as defined by process” -->
           <s:contextData>                                                                             </s:processInstance>
               <z:processor xmlns:z=http://conf.pcmanufact.com>                                        <s:propstat>
                   pentiumII                                                                               <s:prop><z:size/</s:prop>
               </z:processor>                                                                              <s:status>HTTP/1.1 409 Conflict</s:status>
                <z:memory xmlns:z=http://conf.pcmanufact.com>                                              <s:comment>part unavailable</s:comment>
                   <z:size>256 Meg</z:size>                                                            </s:propstat>
                   <z:speed>60 ns</z:speed>                                                            <s: propstat>
                   <z:type>DRAM</z:type>                                                                   <?-- “other resource properties” -->
               </z:memory>                                                                             </s:propstat>
                <!-- “name, billing address, etc.” -->                                             </s:response>
           </s:contextData>                                                                    </s:multistatus>
           <s:startImmediately>no</s:startImmediately><!-- “available?” -->                    </s:swap>
           </s:swap>                                                                           </xml>
           </xml>


         Figure 1. XML encoding of SWAP content.                                             Figure 2. XML return values for a SWAP call.


         minate the purchase order or amend                  tocol specification that leverages work             Aug. 1998, available online at http://www.
         it using the appropriate PROPFIND                   to date in both the workflow and                    ietf.org/internet-drafts/draft-swenson-swap-
         and PROPPATCH methods for assign-                   Web communities. The goal is to                     prot-00.txt.
         ing particular values.                              increase the Web’s potential as an
                                                             infrastructure for building and                 Gregory Alan Bolcer received a PhD and BS
         Conclusions                                         deploying workflow solutions and                   from the University of California, Irvine,
         SWAP has the potential to provide                   also alleviating the difficulty of con-            and an MS from the University of
         interoperability between workflow                   structing such solutions.                          Southern California. He is the founder
         systems using the Web and the                          An early prototype of a SWAP-                   and CEO of Endeavors Technology Inc., a
         Internet, allowing distributed work-                enabled HTTP server was built at                   supplier of Web-based workflow solutions.
         flow solutions to be more easily                    Netscape, however, no reference
         deployed and accessed than at pre-                  implementation has yet been made.               Gail Kaiser is a professor of computer science
         sent. SWAP’s simple workflow model                  Many of the workflow vendors partic-                and director of the Programming Systems
         and implementation approach allow                   ipating in the SWAP working group                   Library at Columbia University. She is on
         business processes to be structured                 support HTTP in some capacity, so                   the IEEE Internet Computing editorial board.
         more naturally. This will encourage                 discussions about interoperability
         people to use the network and com-                  demos are in the works. In the mean-
         puting infrastructure already in place              time, the protocol is being iteratively              Interested in being an
         in their company’s work culture.                    revised, and the working group open-                      IC reviewer?
            SWAP allows abstraction through                  ly welcomes participation.            s                IEEE Internet Computing is seek-
         its support of process and subprocess                                                                   ing referees for article submissions
         execution across multiple machines                  ACKNOWLEDGMENT                                     on Internet technologies. If you are
         and between various workflow vendor                 The authors would like to acknowledge Keith
                                                                                                                interested, please send your name,
         implementations. Its standardization                Swenson, Surendra Reddy, Richard Heim, Lisa
                                                                                                                  contact information, curriculum
         will provide a framework not just for               Lippert, and members of the SWAP mailing list
         sharing documents but also for coor-                for their comments and feedback.                   vita, and keywords for your areas of
         dinating the activities that surround                                                                        expertise to Steve Woods
         them. By limiting the protocol’s                    REFERENCE                                                 <swoods@computer.org>
         scope, the SWAP working group                        1. K. Swenson, “Simple Workflow Access
         hopes to quickly define a usable pro-                   Protocol (SWAP),” Strawman document,



88       JANUARY • FEBRUARY 1999   http://computer.org/internet/                                                                     IEEE INTERNET COMPUTING

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:7/30/2012
language:
pages:4