This tutorial will explain how to use Airavata XBaya to register and generate a simple Web Service interface for a command-line application like Echo. The tutorial will further explain steps in creating and executing the workflow.
Note: Currently POSIX style command line applications are supported. This tutorial assumes Linux based (including mac) environments. Airavata services and XBaya GUI works on windows, but the applicatin execution environment has be to linux/mac based.
Start Airavata Server and Launch GUI¶
Before following the next instructions, make sure Airavata Server is up and running XBaya GUI is launched and Airavata Registry is configured from XBaya. Instructions are provided at Quick Start Tutorials introduction Page.
Register a simple application¶
- Register a simple command line application with Airavata Registry.
- Click on XBaya -> Register Application.
- Describe the application inputs and outputs. As an example, a simple command line
/bin/echocan be used for helloworld purposes.
- Provide a name for the application.
- Click on the panel with "Application Paramaters" and add input and output paremeters. For an example like /bin/echo, choose output as StdOut.
IO Parameter Name Type Input echo_input String Output echo_output StdOut
The Parameter Name is mandatory while the Description is optional.
- The above steps have described the application input output interface to the application. This information will be used to generate the applicate service web service description (WSDL).
Next step is to register the deployment of this application. The application can can be deployed anywhere on a local machines, or a batch execution clusters, supercomputers, grids or clouds. For this tutorial we will use local host to illustrate the concept.
- Click "New Deployment" button and choose localhost.
- Provide the executable location, for echo example it will be /bin/echo. You can try other simple unix examples like /bin/date, /bin/hostname. Any command line executable can be wrapped as a application service.
- Provide a temporary directory like /tmp. Each invocation of the workflow will create a unique working directory within this temporary location. For advanced applications this directory is used to stage inputs and use as working directory for generated outputs.
Examples values for a local host application deployment
Application Host LocalHost Executable path /bin/echo Scratch working directory /tmp \samples\echo.bat and a relevant windows scratch location instead)
Click "Add" finish the aplication deployment.
- Click "Register" to finisg application registration.
Construct a simple workflow¶
- The command line application registered in the previous steps is now registered with the Airavata Registry. Now you have the EchoApplication in the Registry.
- Right Click on the "Application Services" drop down (in left pane) and click Refresh Registry.
- Create a new workflow: XBaya -> New -> Workflow so you will see a new workflow panel loaded into XBaya.
- Drag drop the newly created application service into the worklfow pane.
- Drag drop the Input and Output ports from Components -> System Components
- Connect the application services to inputs and outputs.
Execute and monitor the workflow¶
Launch the workflow constructed in previous steps.
- Run the workflow by clicking
Run on Interpreter Server...
Or just click on the red play icon at the top panel of XBaya.
- Specify the input value a string to greet and a experiment name.
- The Workflow Interpreter and and GFac URL can be left with default values.
- Click OK to launch this worklow
- Run the workflow by clicking
The workflow will now launch and the Monitoring view at the bottom of XBaya will show you the progress of the workflow execution.
In this quick examples, the node color pretty quickly. But for long running applications and complex workflows, the node changes color from "orange" for not yet launced, to "green" for running and "grey for done". If the application fails, it is indicated by "red" color.
The example screen shot illustrates a sample progress of the worklow execution:
The steps can be repeated to register more command line appications and create simple workflows. The Workflow Samples page describes some of these workflows.