Title: Airavata in Ten Minutes. Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ###Introduction 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][quickstart] 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/echo` can 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. * Example parameters
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
(Note: For servers running in Microsoft Windows operating system use point to \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` -> `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 * 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:

![12](/documentation/tutorials/airavata-in-10-minutes/11.png)

* The steps can be repeated to register more command line appications and create simple workflows. The [Workflow Samples][workflow-samples] page describes some of these workflows. [quickstart]: /documentation/quickstart-tutorials.html [workflow-samples]: /documentation/tutorials/advanced-workflow-samples.html