airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Amila Jayasekara <thejaka.am...@gmail.com>
Subject Re: Gateway Developer Tutorial
Date Tue, 07 Jan 2014 03:33:55 GMT
Hi Sachith,

Some answers inline.

On Mon, Jan 6, 2014 at 1:27 PM, Sachith Withana <swsachith@gmail.com> wrote:

> Thank you all.
>
> So just to be clear, it would be better if we have the Simple Gateway
> Developer Guide using the sample gateway code?
>

I am +1 for this. But sample gateway uses credential store tokens.
Therefore you need to slightly change sample gateway to invoke workflow
without credential store tokens. There are test cases in sample gateway
that does that and you should be able to easily implement this
functionality.

Objective of the gateway developer is to create a portal using Airavata API
to execute workflows in GRID and retrieve results.

So in summary I would expect following points in the article.

1. The big picture. Basically the components that gateway developer going
to interact and where they fit in the big picture.
2. Software components gateway developer needs to have (airavata client
distribution, airavata server distribution etc ...)
3. Client code explained in steps. (i.e. create connection to server using
Airavata Client, the order of creating descriptors, creating workflow,
executing workflow, monitoring, retrieving results etc ...)

Thanks
Amila


> OR
> Use two wiki articles , one explaining the big picture( as Amila
> mentioned) and the other explaining a ground up simple gateway guide.
>
> In the latter case where would the Sample gateway code fit in?
>
> We could use the 5 minute tutorial to construct a simple workflow and then
> use it with the guide.
>
>
>
> On Mon, Jan 6, 2014 at 1:20 PM, Raminder Singh <raminderjsingh@gmail.com>wrote:
>
>> +1 for using sample gateway to start with and build over it. Added
>> advantage is integration with credential store which is an important step
>> for gateways going forward.
>>
>> Raminder
>>
>> On Jan 6, 2014, at 12:57 PM, Amila Jayasekara <thejaka.amila@gmail.com>
>> wrote:
>>
>> I would also suggest to explain the big picture first. i.e. where is the
>> API client and where is the server, where are the resources in a pictorial
>> view. You may also can use sample gateway as a basis for your guide. So
>> that users has an actual code to look into.
>>
>> Thanks
>> Thejaka Amila
>>
>>
>> On Mon, Jan 6, 2014 at 12:23 PM, Saminda Wijeratne <samindaw@gmail.com>wrote:
>>
>>> Sounds good Sachith. Few things to keep in mind.
>>>
>>>    1. Describe the simple problem which you are simulating a solution
>>>    for through a simple gateway. (eg: a scientist wants to run his application
>>>    with the input datasets then wait until it finishes to view the results)
>>>    2. Might be a good idea to mention the obvious things for an actual
>>>    gateway which you are leaving-out of this tutorial for simplicity. (eg:
>>>    authentication, session management, file upload/downloads etc.)
>>>    3. You may have to specifically explain in brief things such as
>>>    authentication requirements for the Airavata Server (although the gateway
>>>    user doesn't require authentication).
>>>    4. Identify the user groups clearly. For example the gateway user is
>>>    the person who will be using the web portal. gateway developer is the
>>>    person who develops the web portal. a gateway admin is the person who
>>>    configures the web portal (in your simple gateway dev tutorial gateway
>>>    admin need not be included but I think its useful to mention who'd be
>>>    responsible for adding the workflows/descriptors perhaps through XBaya for
>>>    this simple gateway)
>>>
>>> These are just things from top of my head. Feel free to get more
>>> clarifications on them...
>>>
>>> Saminda
>>>
>>>
>>> On Mon, Jan 6, 2014 at 11:29 AM, Sachith Withana <swsachith@gmail.com>wrote:
>>>
>>>> Hi Saminda,
>>>>
>>>> I'm going to organize it base on the three major components I have
>>>> shown in my diagram.
>>>> Details wise, I would only include how the API could be used to create
>>>> the gateway. Anything beyond the API will not be explained since this is
>>>> the simple gateway guide. I would explain those details in the elaborated
>>>> version if required. Since the main expectation of the gateway developer
is
>>>> to create a gateway and use Airavata API to use the resources. So I thought
>>>> details on "How to use" the API should be enough?
>>>>
>>>> Including downloadable samples would be a great idea. I would do that.
>>>>
>>>> Here's the rough sketch. [1]
>>>>
>>>> [1]
>>>> https://cwiki.apache.org/confluence/display/AIRAVATA/Simple+Gateway+Developer+Guide
>>>>
>>>>
>>>> On Sat, Jan 4, 2014 at 10:26 PM, Saminda Wijeratne <samindaw@gmail.com>wrote:
>>>>
>>>>> Sachith, could you explain how are you going to organize simple
>>>>> gateway guide? How far details are you planning to include in it? Any
>>>>> down-loadable samples would be tempting for a developers to follow through
>>>>> to the next steps.
>>>>>
>>>>> IMO I think you should start on a rough sketch/draft of the wiki page.
>>>>> Then it'll be easier for anyone to give feedback on it.
>>>>>
>>>>> Regards,
>>>>> Saminda
>>>>>
>>>>>
>>>>> On Sat, Jan 4, 2014 at 12:07 AM, Sachith Withana <swsachith@gmail.com>wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> Apache Airavata developer guide[1] is obsolete as mentioned by
>>>>>> Saminda in the Jira [2].
>>>>>>
>>>>>> We are planning to update the Wiki Gateway developer guide so that
a
>>>>>> gateway developer is able to create the gateways using the latest
Airavata
>>>>>> API.
>>>>>>
>>>>>> We have divided the developer guide into two components
>>>>>> 1. Simple Gateway developer guide
>>>>>> 2. Elaborated Gateway developer guide
>>>>>>
>>>>>> In the simple gateway guide, we will be targeting new gateway
>>>>>> developers to use the API to create a simple yet complete gateway.
I have
>>>>>> attached the design of a simple gateway and the guide will help the
>>>>>> developer in accomplishing those components with the use of the Airavata
>>>>>> API.
>>>>>> This design contains a simple workflow with inputs.
>>>>>>
>>>>>> In the elaborated Gateway guide, we will take on executing complex
>>>>>> workflows with multiple number of nodes in different hosts ...etc,
getting
>>>>>> status of the experiment at multiple levels ( Experiment level, workflow
>>>>>> level( multiple workflows under the same experiment is not yet supported),
>>>>>> Node Level, Application Level ...etc)
>>>>>>
>>>>>> Any suggestions are welcome.
>>>>>>
>>>>>> [1]
>>>>>> https://cwiki.apache.org/confluence/display/AIRAVATA/Airavata+Developer+Guide
>>>>>> [2] https://issues.apache.org/jira/browse/AIRAVATA-944--
>>>>>> Thanks,
>>>>>>  Sachith Withana
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Thanks,
>>>> Sachith Withana
>>>>
>>>>
>>>
>>
>>
>
>
> --
> Thanks,
>  Sachith Withana
>
>

Mime
View raw message