Network Working Group                                     Surendra Reddy
Internet Draft                                        Oracle Corporation
draft-sreddy-swap-requirements-00.txt                        May 2, 1998
Expires November 2, 1998


       Requirements for Simple Workflow  Access Protocol - SWAP


Status of this Memo

    This document is an Internet-Draft. Internet-Drafts are working
    documents of the Internet Engineering Task Force (IETF), its areas,
    and its working groups. Note that other groups may also distribute
    working documents as Internet-Drafts.

    Internet-Drafts are draft documents valid for a maximum of six
    months and may be updated, replaced, or made obsolete by other docu-
    ments at any time. It is inappropriate to use Internet-Drafts as
    reference material or to cite them other than as "work in progress".

    To view the entire list of current Internet-Drafts, please check the
    "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
    Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
    Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific
    Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).

    Distribution of this document is unlimited. Please send comments to
    swap-wg@netscape.com, which may be joined by sending a message with
    subject "subscribe" to swap-wg-request@netscape.com.

Abstract


    Workflow is intuitive and powerful paradigm for capturing business
    processes, reasoning about them, and process specifications to
    produce corresponding implementations that are supported by the
    information systems. There has been a growing acceptance of workflow
    technology in numerous application domains such as
    telecommunications, software engineering, manufacturing, production,
    finance and banking, laboratory sciences, healthcare, shipping and
    office automation.

    In the last few years, pervasive network connectivity, exploded
    growth of internet and web technologies has changed our
    computational landscape to distributed, heterogenous and network
    centric computing model from centralized, desktop-oritented, and
    homogenous computing. This has raised challenging requirements for



Surendra Reddy                                                  [Page 1]


draft-sreddy-swap-requirements-00.txt                         April 1998


    workflow technologies in terms being required to support
    heterogenous, distributed computing infrastructures,
    interoperability, scalability and availability.

    The main objective of this document is to identify various business
    scenarios, requirements for internet based Workflow Access Protocol.

1.  Introduction

    Workflow is intuitive and powerful paradigm for capturing business
    processes, reasoning about them, and process specifications to
    produce corresponding implementations that are supported by the
    information systems. There has been a growing acceptance of workflow
    technology in numerous application domains such as
    telecommunications, software engineering, manufacturing, production,
    finance and banking, laboratory sciences, healthcare, shipping and
    office automation.

    In the last few years, pervasive network connectivity, exploded
    growth of internet and web technologies has changed our
    computational landscape to distributed, heterogenous and network
    centric computing model from centralized, desktop-oritented, and
    homogenous computing. This has raised challenging requirements for
    workflow technologies in terms being required to support
    heterogenous, distributed computing infrastructures,
    interoperability, scalability and availability.

    Basic units of any organization are the work processes performed
    within it. Process refers to a business process and its
    corresponding information process.Workflow management involves
    everything from defining and modelling processes up to synchronizing
    the activities of performers (information systems or humans) that
    perform the processes.

2.  Terminology

Workflow
    Workflow is an activity in involving the coordinated execution of
    multiple tasks performed by different processing entities[KS95].
    Workflow is structured around the domain of information processes
    and define as a sequence of actions to be performed on information
    properties. The primary organizing structure is the routing of
    information objects among users or actors, specification of
    automatic actions to be performed in the routing.

Workflow Process
    A workflow process is an automated organizational process involving
    both manual  and automated tasks.A Work process is a communicative



Surendra Reddy                                                  [Page 2]


draft-sreddy-swap-requirements-00.txt                         April 1998


    relation between a customer and a performer within which both assume
    responsibilties and consume time and resources. Moreover, it is a
    cycle; the relation between the customer and the performer does not
    restart at any new request for action the former proposes to the
    later or any re-negotiation of the current request. From a Work
    process we can abstract its work flow, taking into account only the
    performed input-output transformation.

Workflow Management
    Workflow management is the automated coordination, control and
    communication of work as is required to satisfy workflow processes.
    Workflow Management is process focused - coordinating activities of
    people working in a common task or project. Workflow Management
    makes sure that activities occur in proper sequence, and that users
    are informed so they can complete tasks on time.

Notifications
    Notifications are defined as psuedo action-items in that they are
    sent by process performers in response to a call from application.


3.  Workflow Management Requirements

    Workflow Management involves everything from modeling business
    proceses as workflow specifications upto coordinating workflow
    processes, monitoring, and notifying these interactions among the
    various workflow processes and users. In particular, Workflow
    Management involves:
    a. processing modeling as workflow specifications
    b. workflow enactment services to implement, schedule, execute, monitor
       coordinate workflow processes by interpreting workflow specifications.

    Following sections describe each of these requirements in detail.


3.1.  Workflow specification
    Workflow specification defines workflow models and methodologies for
    capturing a process specification. The execution structure of each
    is each task is defined by providing a set of externally observable
    execution states and a set of transitions between these states.

    Specification of workflow invloves describes tasks and processing
    entitites that are relevant to controlling and coordinating their
    execution.It also requires specification of relationships among
    tasks and their execution environment as task coordination rules or
    constraints.

    Task coordination expresses as intertask execution dependencies and



Surendra Reddy                                                  [Page 3]


draft-sreddy-swap-requirements-00.txt                         April 1998


    data-flow dependencies, as well as the termination conditions of the
    workflow.

    Task Description describes individual tasks within a process are
    documented. A Process engineer authors these documents when defining
    the process. User SHOULD be able to checkout, revide, edit all these
    process documents.

    This protocol MUST support mechanisms or data formats for
    representing task descriptions, and task coordination rules as
    workflow specifications.

    It MUST also support metadata to describe application specific
    workflow data and workflow process metadata.


3.2.  Roles and Delegation
    Roles and Delegation facilitates an ability to associate or delegate
    users and processes to roles and management of these associations.
    Workflow specification may refer to an Organization/Role model which
    contains information concerning organizational structure and roles
    within organizational model. This enables workflow specification in
    terms of organizational entities and role functions.


3.3.  Workflow enactment
    Defines methodologies/protocols to schedule, execute, control and
    notify workflow tasks as defined by work flow specification. The
    workflow enactment interprets the workflow specifications and
    controls the instantiation of processes and sequencing of
    activities, adding work items to the users "todo" lists.

3.4.  Dynamic modification of workflow
    the ability to change task sequencing or introduce new tasks into an
    existing workflow

3.5.  Event notification
    Define ability to raise events in one task and have another task
    notice that event and take action on it.This section identifies the
    motivating factors for the need for Notification mechanisms within
    the Workflow environment.


3.5.1.  Pure sharing allows access to material of collaboration, but in
    order to coordinate the actions of the material, it is necessary to
    inform and be informed about the past and current actions performed
    by the other users of the shared material.




Surendra Reddy                                                  [Page 4]


draft-sreddy-swap-requirements-00.txt                         April 1998


3.5.2.  Understanding the system behavior
    for understanding of the behavior of a collaborative workspace it is
    necessary to recognize the causes for changes.

3.5.3.  Coordination of actions
    In order to continue the co-operation process, awareness information
    about completed actions is required.

3.5.4.  Awareness
    It must be required to record awareness information about actios and
    disseminates them across time and space to the participants.  In a
    time deferred processes, the partners SHOULD be relieved from being
    continuously present and watch the process. This implies, awareness
    information cannot be volatile but needs to have some persistency.
    Awareness information should be visible if relevant for the current
    action, it SHOULD be available after a while of absence to inform
    about the intermediate progress, or on request to give more details,
    or to inform about the history of actions performs. Awareness
    information needs to persist as long as it may be necessary in the
    process. Process specific aging of awareness information will be
    required.

3.5.5.  Scope of the awareness information
    Awareness information needs to occur, before the participant
    initiates the next action in the effected context.

3.5.6.  Distance and provision of awareness
    The provision modes should range from drawing attention, via
    displaying when relevant, to presenting on request only.  The
    members of the "Collborative" workspace need to be provided with
    awareness information which allows them to watch the ongoing
    process. It should allow to understand the current process,
    recognize the traces of changes, and to re-construct modifications
    of materials and their authors.

3.5.7.  Monitoring of Workflow Processes:

    Since many processes are likely to be underway at any given time,
    the system facilitates inquires into the status of certain processes
    as they are being executed. The user may also want to know why a
    particular process has not yet been completed, and will be able to
    identify the task and its associated responsible user that are
    holding up the process.

    After each process is completed, all information relating to that
    process and all tasks that were carried out to complete that process
    need to be recorded. These process histories MUST be queriable as
    find out how many times a particular process has run, who initiated



Surendra Reddy                                                  [Page 5]


draft-sreddy-swap-requirements-00.txt                         April 1998


    this process, how long it took on average to complete. This
    historical reporting provides valuable feedback for process
    engineering.

3.6.  Exception handling and revovery

    A workflow represents a very complex computational activity which
    consists of many tasks whose execution needs to be coordinated.

3.7.  Transactional support

    Workflow systems require the participation of multiple application
    systems and databases. It is desirable that workflow systems
    maintain at least some of the safeguards of traditional transactions
    related to the correctness of computations and data interity. In a
    multi-system workflow main problem is the need to preserve the
    autonomy of participating systems. Since many systems used in
    multi-system workflows were designed for standalone operation, they
    normally donot provide the information and services thaat would be
    necessary to execute the distributed transactions while supporting
    the required transaction semantics.

3.7.1.  Security
    Sophisticated mechanisms for security, authentication and access
    control MUST be supported.

3.8.  Scalability and availability

    Some of the goals of the workflow systems are to achieve better
    performance of business processes, better quality, enhanced
    effectiveness, enterprise- wide coordination and monitoring. Given
    its goals, workflow systems must be able to deal with local and
    communication failures, and the system must be continuously
    available as its relevance in the control of the business processes.

    High availability is a key requirement of workflow systems and
    failures should be transparent to the users and should have minimal
    impact on the normal functioning of the organization.

    It is also necessary to deal with other issues which are dominant in
    the current workflow systems, such as dynamic configuration,
    addition of new services without reconfiguring the whole
    system,message replication and recovery facilities. These
    requirements are not critical, but good to address as lot of
    relevant work is underway in IETF(e.g. wide area service locaton
    procotocl, LDAP replication mechanims are best examples to consider
    in this protocol).




Surendra Reddy                                                  [Page 6]


draft-sreddy-swap-requirements-00.txt                         April 1998


3.9.  Workflow Use Case
    (1). Define terms to be used in expressing progress of the Work being
         executed.

    (2). Create new processes and define their pre and post conditions

         a. each process consists of one or more actions.

         b. each process may also have an arbitrary number of operand
            on which the process operates

         c. Terminal conditions - stating what states must hold to declare
            the process itself completed.

         d. Creating instances of these processes

         e. Setting initiatives in motions. When an initiative is started each
            of its steps having no precondition is automatically activated.


    (3). Notifying users about actions that need completion

    (4). Managing reminders, alerts, follow-ups to keep processes moving along

    (5). Giving users an overview of where their tasks fit into the overall
         processes, both dynamically and through maintaing records of workflow
         history and providing structured access to them.

    Simple workflow structure is both general and universal. It is general
    in that it occurs whenever there is co-ordination among people,
    regardless of what they are doing.


3.10.  Workflow Scenarios

    (1). The New Service Provision workflow captures the process of telephone
         service provisioning for a new customer. The workflow starts when
         when a customer requests for a new telephone connection.

         Objective of this workflow is to construct circuit from a customer
         location to the appropriate telephone switch and allocate equipment
         to connect the circuit.

         a. Operator collects information from the customer
         b. Check if all required information is collected from
            the customer
         c. Verify if the information provided by the customer
            is accurate



Surendra Reddy                                                  [Page 7]


draft-sreddy-swap-requirements-00.txt                         April 1998


         d. Create a service order for the customer
         e. check if customer can be connected using existing
            facilities
         f. Check the best alternate paths can be used to connect
            the customer
         g. Provide installation instructions to techinicans
         h. Technican installs the equipment, updates
            the service order
         i. Update the telephone directory
         j. Updates to telephone switch to activates
            the service
         k. Generates the bill

         Process dependencies

         Step 1: (a) starts (b) starts (c) starts (d)
         Step 2: (d) starts (e) ( (if (e) is successful, starts (g))
                                   else starts (f) starts (g) )

         Step 3: (g) starts (h) starts (i) starts (j) starts (k)

    (2). Distributed Authoring workflow captures the process of authoring,
         distributing, reviewing.

         a. create document(s)
         b. select reviewers
         c. distribute document(s) to reviewers
         d. reviewers collaborate and produce a joint review document
         e. forward review document to authors


    (3). Insurance Claims Process Workflow. Following steps describe various
         tasks involved in this workflow:

         (a). capture the claim form
         (b). check if the claim can ve paid
         (c). if the claim is accepted, trigger the payment workflow
         (d). if the claim is rejected, claim representative calls
              the customer,
              either agrees to make some payment or reject the cliam.

         In this workflow, it is

            (1). the interaction of information systems with business
                 process
            (2). need to automated task performers





Surendra Reddy                                                  [Page 8]


draft-sreddy-swap-requirements-00.txt                         April 1998


4.  Security Considerations
    Since workflow  interoperability may involve the exchange of
    sensitive information, any workflow  interoperability mechanism must
    provide for encryption and authentication.  Several techniques such
    as SSL and HTTP Access Authorization are available for use in
    Internet protocols. Without such techniques, SWAP clients and
    servers are wide open to forged or snooped workflow proposals or
    authorizations.

5.  References

    [Bradner, 1997] S. Bradner, "Key words for use in RFCs to Indicate
    Requirement Levels."  RFC 2119, BCP 14. Harvard University. March,
    1997.

    [Fielding et al., 1997] R. Fielding, J. Gettys, J. Mogul, H.
    Frystyk, T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1."
    RFC 2068. U.C. Irvine, DEC, MIT/LCS. January, 1997.

    [Bradner, 1996] S. Bradner, "The Internet Standards Process -
    Revision 3."  RFC 2026, BCP 9. Harvard University. October, 1996.

    [S.Reddy,1998] Surendra Reddy, "Requirements for Event Notification
    Protocol",
    ftp://ftp.ietf.org/internet-drafts/draft-ietf-webdav-enpreq-00.txt,
    April, 1998.

    [KS95] N.Krishnakumar and A.Sheth, "Managing Heterogeneous Multi-system
    Tasks to Support Enterprise-wide Operations", Distributed and Parallel
    Databases, (3):155-186, April 1995.

    [Kamath et al., 1996] Mohan U. Kamath and Krithi Ramamritham,
    "Correctness Issues in Workflow Management", Distributed Systems
    Engineering (DSE) Journal :
    Special Issue on Workflow Management Systems, Volume 3, Number 4,
    December 1996.

    [Bre93] Breitbart, Y., Deacon, A., Schek, H.J., Sheth,A., and Weikum. G.
    Merging Application-centric and Data-centric Approaches to Support
    Transaction-Oriented Multi-system Workflows. In ACM SIGMOD Record,
    22(3), September 1993.

    [Elm92] A. Elmagarmid, editor. Database Transaction Models for Advanced
    Applications Morgan-Kaufmann, 1992.

    [Geo95] Georgakopoulos D., Hornick M., and Sheth A. An Overview of Workflow
    Management: From Process Modelling to Workflow Automation
    Infrastructure., In Distributed and Parallel Databases, 3(2):119-152,



Surendra Reddy                                                  [Page 9]


draft-sreddy-swap-requirements-00.txt                         April 1998


    1995.

    [Hsu95] M. Hsu. Special Issue on Workflow Systems. Bulletin of the Technical
    Committee on Data Engineering, IEEE, 18(1), 1995.

    [She93] A. Sheth and M. Rusinkiewicz. On transactional workflows. Bulletin
    of the Technical Committee on Data Engineering, 16(2), June 1993. IEEE
    Computer Society.



    6.  Author's Address

    Surendra Reddy
    Oracle Corporation
    500 Oracle Parkway
    M/S 6op3
    Redwoodshores, CA 94065

    Phone:  +1(650) 506 5441
    Fax:    +1(650) 654 6205
    Email:  skreddy@us.oracle.com

    Expires November 2, 1998



























Surendra Reddy                                                 [Page 10]