| BioWorldWideWorkFlow (bioWWWF) |
| |
| A. Some Nascent Concepts of the WorldWideWorkFlow (WWWF or W3F) |
|
If the World Wide Web (WWW) represents the global framework of publicly
Internet accessible documents (Web Pages) and a gateway to applications
running on remote servers world wide (Web Services), then the World Wide
WorkFlow (WWWF or W3F) represents the nascent global framework of publicly
Internet accesible workflows and their constituent applications.
While WWW deals mainly with information transfer of Web content which the
user can browse freely, and WWW's Common Gateway Interface (CGI) provides
the interactivity between client and server, the W3F deals with
information transfer between steps of a series of work processes, the
information flow in a business logic, the protocol and procedures of many
steps leading to a certain outcome, and the interfaces which the client
user can interface with each of the steps of the workflow.
W3F is a world wide workflow system because
- anyone should be able to develop a W3F application easily and offer
the application for anyone (including the W3F application developer
herself) to provide a W3F service based on that W3F application,
- anyone (i.e. the W3F workflow developer) should be able to
connect a series of W3F services into steps of a workflow where the ouputs
of one step can be the inputs of other subsequent steps,
- anyone (i.e. the W3F user) should be able to browse or search
for specific workflows which another person (the W3F workflow
developer) has constructed and published on the W3F,
- anyone should be able to select workflows or templates authored by
others and published on the W3F, and take the workflow and reuse or
repurpose the selected workflow with new inputs and parameters and run the
workflow on a selected and compatible W3F Workflow Orchestrator server,
- any W3F Orchestrator server, based on the repurposed workflow so
defined, can call designated or automatically assigned W3F
Enactor/Executor servers to execute the so-advertised W3F application,
and provide workflow management for the system to check with user, control
and security policies, parameters, and other software before execution,
and record workflow provenance and other audit trail features;
- and like a WebEditor or WebMaster or Web Adminstrator for
Web content creation, Web management and adminstration, the W3F
orchestrator service provider can assemble a set of W3F enactors
and offer these enactor services to the W3F users to assemble their
workflows or workflow of workflows.
- using W3F Browsers, anyone in the world can browse through W3F
services comprising workflows and application services offered by W3F
Orchestrators, just like Web Browsers allow users to traverse the WWW of
content.
- using W3F Editors, anyone in the world can drag and drop, link and
connect W3F applications and compose their W3F workflows for their own
use, or advertise it on a W3F Orchestrator service provider for others to
reuse or repurpose with their W3F Editors.
- emerging workflow standards will eventually allow the islands of
W3F implementations to interoperate, such as any workflow can call
the applications residing across different W3F Orchestration domains
provided security issues are met, permissions are acquired,
and economic issues are resolved.
|
| B. Setting up the components of a WorldWideWorkFlow (WWWF or W3F) |
- Setting up a root registry of W3F orchestrator domains at W3FCentral
- Distributing a W3F editor/browser and enactor (KOOPBox)
- Distributing a W3F browser (KOOPLite)
- Setting up a W3F orchestrator (KOOPserver)
- Setting up a W3F executor/enactor (KOOPdaemon)
|
|
C. Coordinating the actors of a WorldWideWorkFlow (WWWF or
W3F) |
- Instructions to KOOPservice developer
- Instructions to KOOPservice provider
- Instructions to KOOPserver administrator
- Register your KOOPserver as a BioW3F domain
with the Root Registry of BioWWWF:
currently no inter-domain workflow possible until interoperable workflow
systems achieved.
- C.1. Be a KOOPservice developer
- Write your application or compile your existing application.
- Create your application-interface KOOPwrapper Java class
- Option 1: Use a generic full command-line Run-time class
- Option 2: Use a generic BioInformatics Wrapper class: the KOOP3 Bubblelizer
- Option 3: Write your own application-specific wrapper class from scratch
- Packaging your application
- Option 1: Package Java class and application binary into Jar file
for complete portable KOOPservice: only runs on binary compatible
platforms obviously
- Option 2: Package only the Java class if application is
system-dependent and separately compiled/deployed on different platforms:
Java class calls the application already pre-existing on the platform
- Submission to KOOPserver administrator and Registration of your Jar
file by using the URL http://[KOOPserver:port]/submit.cgi/
- Quality checking, Certification and advertisement of your Jar file by
KOOPserver administrator
- If you are a trusted and registered KOOPservice Developer authenticated
with the KOOPserver adminstrator, you will probably be expedited in your
quality checking and certification process. (Yes, we have to go through
this process as you can well appreciate that anyone can construct
by incompetence, by error or by design, crippling denial
of service workflows that
have enormously negative consequences, or propagate viruses
or worms etc and other bad things.)
- If cleared, the KOOPserver will now have your KOOPservice application
advertised and available for any KOOPservice provider to offer your
application service to KOOPservice users.
(provided KOOPservice providers know your application service
exists and that it can be trusted to perform what it claims to do)
- The site advertising your KOOPservice application is usually
http://[KOOPserver:port]/apps/
- C.2. Set up your machine for a KOOPservice and
be a KOOPservice provider
- Basic requirements of your KOOPService server
- Set up KOOP Daemon on your KOOPservice server
- Command Line Background Mode
If you are on a Unix or MacOS platform, create a user account called kdaemon with the appropriate permissions necessary to offer the KOOPservice desired.
Log in as the user, kdaemon, to run the KOOP Daemon process.
If on a Windows platform, skip this step.
- Download http://w3f.bic.nus.edu.sg/koopdaemon/kdaemon.tar.gz
- tar -xvfz kdaemon.tar.gz in [HOMEDIR]/kdaemon/
where HOMEDIR is your home directory
- cd kdaemon/run_kdaemon.sh [FQDN_of_KOOPServer:port] &
Note that [HOMEDIR]/KOOPlatform/ directory containing
a licence key and config files will be created.
- The process should run in the background.
- If the process is killed for some reason, it will automatically restart.
- If you kill the run_kdaemon script process, you have to re-run the script as above.
- Browser Online Mode (alternative method)
If you are on a Unix or MacOS platform, create a user account called kdaemon with the appropriate permissions necessary to offer
the KOOPservice desired.
Log in as the user, kdaemon, to run the KOOP Daemon process.
If on a Windows platform, skip this step.
- Running via console browser or Xwindows into the server
using Java Webstart
Open up your webbrowser and go to the URL:
http://w3f.bic.nus.edu.sg/koop3/koopdaemon/daemon.jnlp
The web browser will automatically download the KOOP Daemon
and start running it as a process in the background owned by kdaemon
- Running via remote command line using Java Webstart
Change directory to the Java Webstart home directory
At the command line,
% javaws http://w3f.bic.nus.edu.sg/koop3/koopdaemon/daemon.jnlp
and the javaws will start the KOOP daemon in the background automatically.
- Because it is started by Java Webstart, logout automatically
kills the process.
- Be a KOOPservice provider
- First make sure you have a KOOPdaemon on your machine you wish
to offer your KOOPservice
- Browse through a selection of KOOPservice applications which
KOOPservice Developers have created and registered with the KOOPServer
administrators.
- Select the KOOPservice you wish to offer
- How to add a KOOPservice
- _________ How to advertise your KOOPservice on the BioWorldWideWorkflow BioWWWF
- Register
- Log into KOOPBox using
- How to configure your permissions file (not available in freeware yet)
- How to document your KOOPservice on your website
- .
|