airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suresh Marru <sma...@apache.org>
Subject Re: Questions about Custom Application Registration and Complex Input/Output Data
Date Thu, 20 Nov 2014 15:28:20 GMT
Hi Alfredo,

Sorry we could not follow up, I am at a conference and only paying fractured attention. Can
you please login to Airavata Instant Messenger (http://s.apache.org/hipchat) and lets interactively
get this quickly. For now, please see the walk through below:

> > > Assuming this scenario: I have a local application (named "MyApp") developed
in a certain language (let's assume python or C++) which takes some string as launching arguments,
(string1 string2 string3), it does some processing and creates a more or less complex "output"
during it's process. I want to generate an interface application on airavata of that application.
My questions are:

This is a scenario supported by Airavata in a first class way. Too bad you are having to work
in the middle of refactoring, but navigate it. 

> > > a) When creating the registration script for airavata of MyApp, the 3 argument
string that my application needs are translated as 3 separated InputDataObjectType (of string
type)?

Yes thats exactly what you will need to do. Three string inputs with three InputDataObjectType
objects. I would suggest you play around with this on a test portal which will let you walk
through this - http://test-drive.airavata.org/pga/public/  (please ask for a test user name
password on hip chat).

> > > b) Assuming a simple case where "output" is composed by a string indicating
the result of the processing, how is this "output" associated to the output of the airavata
interface which I'm creating? it's always what happens comes with the stout of the system
or there is a specific procedure to follow into MyApp or before create the registration script?

Output are little tricker to automate. Please see this thread for details - http://airavata.markmail.org/thread/hd7azhp7w7o7eqyq


The easier way is, if you application (or a wrapper) can print OUTPUT_NAME_USED_IN_REGISTRATION=value,
then airavata can pick it up. There used to be a way to just tell get me all standard out.
Can any of Airavata contributors confirm this?

> > > c) (Related to question b) If the Input (or the Ouput) of an application is
a complex object (not simple object such as string or int but more or less complex structures)
wow can translate that into the airavata Interface? .Is it supported? Do I need to register
class/structure on apache thrift server and use the thrift-generates interfaces directly into
my application in order to associate a possible airavata OutputDataObjectType?

In the current version only simple types are supported. But this is a good use case, you can
please create a JIRA issue requesting this new feature, and we will look into it.

Again please login to the IM and ask any questions you may have. Thanks for your persistence
and patience. You are not at all harassing, you are being a great contributor to Airavata
by means of all these questions. We very much like it and would encourage you to continue
to do so.

Suresh


On Nov 20, 2014, at 9:10 AM, SmashRod Alfredo <smashrod@hotmail.it> wrote:

> 
> Hi Everyone,
> Since I haven't received replies in last 10 days and the open issues are for me now very
blocking I just refresh my currently still open questions trying to simplify the explanation.

> I have a local application on my machine that is invoked with a couples of argument (for
example 2 strings), do it's processing and create some results (more or less complex). Is
it possible to wrap the execution of my local application with airavata in such a way that
i can register the application on my local airavata-server and subsequently create experiments
using the airavata-generated application interface?
> How should the application invocation arguments be translated when I create the application
interface? How can I get as output of experiment the results of my applications? Which are
the steps that I should follow?
> 
> Thank you again and sorry for my harassment but these questions have become completely
blocking in the last days...
> 
> Alfredo
> 
> From: smashrod@hotmail.it
> To: dev@airavata.apache.org
> Subject: RE: Questions about Custom Application Registration and Complex Input/Output
Data
> Date: Thu, 13 Nov 2014 16:47:35 +0100
> 
> Hi Suresh and Raminder,
> Thank you so much for all the explanations and the references,  there will be really
useful!
> 
> Thanks again for your support,
> 
> Alfredo
> Date: Thu, 13 Nov 2014 10:12:25 -0500
> Subject: Re: Questions about Custom Application Registration and Complex Input/Output
Data
> From: smarru.apache@gmail.com
> To: dev@airavata.apache.org
> 
> Hi Alfredo,
> 
> I will answer this easier one first. 
> 
> You guessed it right, as it stands now, the token is a handle to a credential which is
used for compute resources. As for local resources, we can pretty much send something and
i will get ignored. The current token is described in a paper by Amila Jayasekara described
at [1] or [2] for a direct link.
> 
> One of the many reasons Airavata is holding up on a 1.0 release is to clear usage of
the API in a secured way. In general, we are modeling similar to how Evernote uses Thrift
API [3]. We recently had a good long review in this context by experts [4], we will soon have
a technical paper describing Airavata API security and identity management and should have
a implementation soon there after. 
> 
> Thanks for your interest in Airavata,
> Suresh
> [1] - http://dx.doi.org/10.1109/CCGrid.2014.95
> [2] - https://scholarworks.iu.edu/dspace/bitstream/handle/2022/17379/ccgrid_2014_credential_store.pdf?sequence=1&isAllowed=y
> [3] - https://dev.evernote.com/doc/
> [4] - http://trustedci.org/
> 
> On Nov 13, 2014, at 9:21 AM, SmashRod Alfredo <smashrod@hotmail.it> wrote:
> 
> Hi Suresh and Everyone,
> I have another question to add to my previous meanwhile,
> what do sshTokenId and gsisshTokenId mean (into launchExperiment method)? In the samples
are hard-coded values.. are they really influent? At least using localhost as computeHost
it's unnecessary to use/generate them right?
> 
> Thanks again,
> 
> Alfredo
> 
> > Subject: Re: Questions about Custom Application Registration and Complex Input/Output
Data
> > From: smarru@apache.org
> > Date: Tue, 11 Nov 2014 16:54:39 -0500
> > To: dev@airavata.apache.org
> > 
> > Hi Alfredo,
> > 
> > Thank you for these thoughtful questions. I will get back to you in detail ASAP.
> > 
> > Suresh
> > 
> > On Nov 11, 2014, at 1:00 PM, SmashRod Alfredo <smashrod@hotmail.it> wrote:
> > 
> > > Hi everyone!
> > > 
> > > I understand how to retrieves specific experiment results directly into a customized
version of CreateLaunchExperiment java class. 
> > > 
> > > There are more open issues that I would like to ask you:
> > > 
> > > Assuming this scenario: I have a local application (named "MyApp") developed
in a certain language (let's assume python or C++) which takes some string as launching arguments,
(string1 string2 string3), it does some processing and creates a more or less complex "output"
during it's process. I want to generate an interface application on airavata of that application.
My questions are:
> > > a) When creating the registration script for airavata of MyApp, the 3 argument
string that my application needs are translated as 3 separated InputDataObjectType (of string
type)?
> > > b) Assuming a simple case where "output" is composed by a string indicating
the result of the processing, how is this "output" associated to the output of the airavata
interface which I'm creating? it's always what happens comes with the stout of the system
or there is a specific procedure to follow into MyApp or before create the registration script?
> > > c) (Related to question b) If the Input (or the Ouput) of an application is
a complex object (not simple object such as string or int but more or less complex structures)
wow can translate that into the airavata Interface? .Is it supported? Do I need to register
class/structure on apache thrift server and use the thrift-generates interfaces directly into
my application in order to associate a possible airavata OutputDataObjectType?
> > > 
> > > I hope to have been sufficiently clear exposing my doubts,
> > > 
> > > Thanks for your replies
> > > 
> > > Alfredo
> >


Mime
View raw message