Airavata in Ten Minutes.

The purpose of this tutorial is to give an advanced understanding of how Airavata works. For a basic understanding please refer the 5 minute tutorial.

Introduction

This tutorial will explain how to use Airavata XBaya to register and create a simple Web Service for an command-line Echo application. Then, invoking the echo service by using a workflow. Please follow up the below steps to run the simple web service sample. Note: Currently Airavata will work with Linux distributions and Mac and we do not support all the Apache Airavata components to work on Windows.

Prerequisites

Airavata 0.1 or later
OS Linux or Mac Prefered
Java 1.6 or higher

Tutorial

  1. Build from source or download the latest Airavata release pack from downloads link
  2. Extract the distribution archive (the rest of this document assumes the path to extracted directory is AIRAVATA_HOME)
  3. Now Run the following scripts in the given order below to start the components of Airavata.

    AIRAVATA_HOME/bin/jackrabbit-server.sh - This will start Jackrabbit repository on port 8081.

    AIRAVATA_HOME/bin/airavata-server.sh - This will start SimpleAxis2Server on port 8080

    AIRAVATA_HOME/bin/xbaya-gui.sh - This will start XBaya GUI application.

  4. The release package will contains an echo command-line application in AIRAVATA_HOME/samples/echo.sh. Now you will register this application and wrap it as a Web service using XBaya. Use following screenshots to register an application

  5. First, we will register a Host Description using menu XBaya-> New -> Host Description... If Registry location is unknown, there will be a popup asking for an Registry URL. Giving URL: http://localhost:8081/rmi (keep the default values as it is) with registry username and password as admin/admin. After adding registry successfully you will see a Host Desciption Register form

    1

    2

  6. Give name and address of the host. Use Localhost and 127.0.0.1 for this tutorial

    3

  7. Second, we will register a Service Description using menu XBaya -> New -> Service Description... This information is used to describe our web service i.e. service name, input parameters, and output parameters. Since our echo.sh need String as an input and will produce String as output, insert the following value. Note*: output parameter name must be echo_output in order to use with this echo.sh sample.

    4

    5

  8. Lastly, we will register a Deployment Description using menu XBaya -> New -> Application Description... It describes how GFac will invoke a command-line application for a specific Web Service (Service Description) on a particular host (Host Description).
    Give a name, an executable location, and a temporary directory to store runtime data. Since we have only a Service Description and a Host Description, it is automatically selected. Note:When you fill the Executable location replace AIRAVATA_HOME path with your extracted location.

    6

    7

  9. Now you have the Echo service in the Registry. The next step is to add the registered description as a component in an XBaya workflow and use it to compose a workflow. For a simple workflow composing, please refer to airavata-in-5-minutes tutorial. After you adding Service Description, you will see EchoService item comes under JCR Component menu.



8

5. Now, it's time to invoke the workflow created in Step 4. To invoke this workflow click on Run -> Run workflow or just click on red play icon at the top of menu then it will popup a dialog box which you need to provide your input Value (Notification topic and GFac URL will work with default values). Fill up the Input Value with the given XML content you can see in the below screenshot.

9

  1. Now you have invoked the workflow and you will direct in to the Monitoring menu at the bottom of XBaya which will show you the progress of the workflow invocation.

    12