Airavata Software Suite

Apache Airavata is a software toolkit with features to compose, manage, execute, and monitor small to large scale applications and workflows on computational resources ranging from local clusters to national grids and computing clouds. Airavata builds on general concepts of service oriented computing, distributed messaging, and workflow composition and orchestration. The services primarly communicate using SOAP messages. In addition to the basic Web services specifications like SOAP and WSDL, the Web services also support WS-Addressing and WS-Messaging. WS-Addressing is used to provide an asynchronous communication mechanism for the services to communicate. All the communication channels are secured using https as the transport layer.

Airavata features Dynamic Service Binding where in a proxy service accepts an input message intended to a target application Web service instance invoked by a workflow engine. The proxy service binds an appropriate running Web service instance by looking up in XRegistry. When no Web service instances are available, a new instance of the GFac service is created.

Airavata Components

XBaya Workflow Suite - includes a GUI for workflow composition and monitoring. The workflows can be interpreted at each step providing dynamic interactive capabilities. The composed workflow can be exported to various workflow languages like BPEL, SCUFL, Condor DAG, Jython and Java. The defacto workflow enacting engine used is Apache ODE. GFac - an application wrapper service that can be used to wrap command line-driven science applications and make them into robust, network- accessible services. This component is build on Axis2 web service stack. XRegistry - a registry service for storing deployment information about wrapped application services and constructed workflows. WS-Messenger - a publish-subscribe based message broker implemented on top of Apache Axis2 web services stack. It implements the WS-Eventing and WS-Notifications specifications and incorporates a message box component that facilities communications with clients behind firewalls and overcomes network glitches. As an example, the workflow execution engine sends out events in various stages, including start, end, failure, successful invocation, of its workflow execution.