In order to exploit the potential of the Web, companies offering workflow products now provide a Web interface to WFMSs. This allows both the employees and the customers of a company to interact with the WFMS through the Web. Employees can access their `to-do' list via a Web browser instead of using a special client as in traditional WFMSs. Thus employees can interact with the WFMS wherever they are located as long as they have access to a Web browser. Also, when a customer submits an order via a Web form, an appropriate workflow is automatically triggered to handle the customer order. However these WFMSs lack facilities for workflows whose steps directly access and update data from Web servers. In short, they support customer-to-business transactions over the Web but not business-to-business transactions. The latter is necessary to support workflows whose steps are business transactions executed by Web servers.
It would be more beneficial to provide the WFMS with additional knowledge about the Web, its protocols and data format such that workflows can directly access information by interacting with Web servers. This will allow companies to automate their business processes on the Web by allowing steps to automatically query/update information from Web servers located both within and outside the organization. The additional knowledge required is provided by the workflow system developer and the workflow designer. Combining workflow management and Web technologies in this manner will offer immense benefits for conducting business over the Web. In addition to customer-to-business transactions, workflows consisting of business-to-business transactions can be executed over the web. For example, it will be possible to implement Web workflows that handle supply chain management where a group of suppliers and customers distributed around the world cooperate as trading partners. The formation of such a virtual enterprise would make it possible to implement JIT (Just In Time) method of inventory control to save money on inventory, warehousing and handling costs. Thus a company manufacturing a product can use Web workflows to place orders for the individual components needed to make the product immediately after it receives an order for the product. Steps of Web workflows will use the same Web interface provided by the supplier for its customers. To make Web workflows feasible, it is necessary to develop WFMSs that address the special requirements of conducting business over the Web and making efficient use of Web technology.
This work focuses on two of the problems that arise in implementing
workflows on the Web, namely (i) dealing with the unreliability of the
Web in the form of server/network failures and delays and (ii)
improving efficiency. We first present a protocol to ensure that an
update request is processed by a server exactly once, despite
network/server failures. This will facilitate the reliable execution
of workflows on the Web. Secondly, to ameliorate the effects of
network delays and failures, we develop an optimizer that compiles a
workflow schema and parallelizes the steps in the workflow to the
maximum possible extent. The optimizer uses the data and control flow
information associated with the workflow schema to perform this.
Parallelizing workflows is a generally useful technique, but it is
especially important because of the unreliability of the Web.
Thirdly, to improve efficiency, we offer a multi-part solution that
utilizes emerging Web technologies like Java and standard enhancements
that have been proposed for the Web infrastructure, e.g., for the
HTTP protocol by the Internet Engineering Task Force (IETF). Our
solution consists of (i) providing some ``intelligence'' at the client
using Java/JavaScript, (ii) prefetching of steps and (iii) batching of
steps. All these techniques are geared towards reducing the number of
messages exchanged (both within the organization and to other
organizations through the organizations gateway) and reducing the load
at the workflow-engine. Finally, we have designed an architecture for
implementing
Back to the Database Systems Home Page