Workflows may be built using web services as building blocks. WFLOW is a browser-based workflow editor that uses Tigra Tree Menu, Graphviz, gSOAP, and bashlib to build, display, and invoke web services workflows that run entirely on a remote server. Tigra Tree Menu Tigra Tree Menu (http://www.softcomplex.com/products/tigra_tree_menu/), an open-source JavaScript menu generator, is used to display the services published at a site in its WSDL (web services description language) document. Uploading a simple text file containing the URLs of desired WSDLs initializes the editor and menu. Nodes are added to a workflow by clicking on menu items. Graphviz Graphviz (http://www.graphviz.org) is an open-source graph visualization package that includes an option to produce clickable bitmaps for web pages. This feature is utilized by WFLOW to build a workflow where each node of the graph represents a web service that can be configured by clicking on it. Configuration options are displayed, along with drop-down menus that list potential edge sinks on downstream nodes. Future work could incorporate an ontology for our WSDL to further constrain graph semantics. gSOAP gSOAP (http://www.cs.fsu.edu/~engelen/soap.html) is an open-source web services development toolkit that offers the ability to invoke web services in C/C++. Pressing the "Run Workflow" button creates a C source file from the graph using gSOAP calls, which is then compiled and run. Once invoked, workflows do not require the client running the browser to stay online; status and results of the job are output to a web page that can be viewed at any time. The C source code can be saved and rerun by hand or incorporated into a larger script. bashlib bashlib (http://bashlib.sourceforge.net) "is a shell script that makes CGI programming in the bash shell easier, or at least more tolerable."
James Long