You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airavata.apache.org by Saminda Wijeratne <sa...@gmail.com> on 2012/12/22 00:11:55 UTC

Exposing Workflow Context changes to the API user

This is a more descriptive explanation of the offline suggestions we got
for WorkflowContextHeader.

It was suggested that we should have a much simpler way to allow users to
define the Workflow Context information when running an Experiment via the
API. Currently what we have is the WorkflowContextHeaderBuilder [1] class
which contains the following context information for the user to change,
*Security Context* - customized security measures
*Service Endpoints* - use the user give service endpoints for interpreter
service/gfac/message box etc.
*Output data handling* - how to handle different intermediate output data
*Workflow Scheduling* - customized job scheduling options
*Monitoring Context* - <something to do with monitoring running workflow
instances>
Each of the above are xml schema objects which users are required to
manipulate to define the custom workflow context settings.

In order to simplify following was recommended to be exposed as separate
entities,
Workflow Scheduling
Output data handling
Security Context

I started creating beans for Workflow Scheduling as following

WorkflowSchedulingSettings [2]
|_NodeSettings(0..n)
|-node Id
|-service Id
|-host settings
|    |-host id
|    |-use ws-gram
|    |_gatekeeper epr
|_hpc settings
|-job manager
|-cpu count
|-node count
|-queue name
|_max wall time


I've added relevant getters/setters/adders/re-setters to manage above data
for workflow scheduling. Your thoughts are welcome for improvements.

Thanks,
Saminda

1.
https://svn.apache.org/repos/asf/airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
2.
https://svn.apache.org/repos/asf/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java

Re: Exposing Workflow Context changes to the API user

Posted by "Mattmann, Chris A (388J)" <ch...@jpl.nasa.gov>.
Guys check out the Metadata Keys that we use in the CAS-PGE portion of
Apache OODT:

http://s.apache.org/Qef

They represent a lot of the metadata that we use and track in pedigree and
provenance.

Might be something to model Airavata's after...

Cheers,
Chris


On 12/31/12 12:55 PM, "Saminda Wijeratne" <sa...@gmail.com> wrote:

>Note that some of the phrases for function/property names could be
>confusing for users (perhaps too technical???), If you spot possible
>places
>on such confusion, feel free to point them out so that we can fix them.
>
>Following is the structure of the bean I created for the Workflow output
>data handling settings
>
>WorkflowOutputDataSettings [3]
>|_OutputDataSettings(0..n)
>|- output data directory
>|- data registry
>|_ is data persistent?
>
>Comments are welcome...
>
>Thanks,
>Saminda
>
>3.
>https://svn.apache.org/repos/asf/airavata/trunk/modules/airavata-client/sr
>c/main/java/org/apache/airavata/client/api/WorkflowOutputDataSettings.java
>
>On Fri, Dec 21, 2012 at 6:11 PM, Saminda Wijeratne
><sa...@gmail.com>wrote:
>
>> This is a more descriptive explanation of the offline suggestions we got
>> for WorkflowContextHeader.
>>
>> It was suggested that we should have a much simpler way to allow users
>>to
>> define the Workflow Context information when running an Experiment via
>>the
>> API. Currently what we have is the WorkflowContextHeaderBuilder [1]
>>class
>> which contains the following context information for the user to change,
>> *Security Context* - customized security measures
>> *Service Endpoints* - use the user give service endpoints for
>>interpreter
>> service/gfac/message box etc.
>> *Output data handling* - how to handle different intermediate output
>>data
>> *Workflow Scheduling* - customized job scheduling options
>> *Monitoring Context* - <something to do with monitoring running workflow
>> instances>
>> Each of the above are xml schema objects which users are required to
>> manipulate to define the custom workflow context settings.
>>
>> In order to simplify following was recommended to be exposed as separate
>> entities,
>> Workflow Scheduling
>> Output data handling
>> Security Context
>>
>> I started creating beans for Workflow Scheduling as following
>>
>> WorkflowSchedulingSettings [2]
>> |_NodeSettings(0..n)
>> |-node Id
>> |-service Id
>> |-host settings
>> |    |-host id
>> |    |-use ws-gram
>> |    |_gatekeeper epr
>> |_hpc settings
>> |-job manager
>> |-cpu count
>> |-node count
>> |-queue name
>> |_max wall time
>>
>>
>> I've added relevant getters/setters/adders/re-setters to manage above
>>data
>> for workflow scheduling. Your thoughts are welcome for improvements.
>>
>> Thanks,
>> Saminda
>>
>> 1.
>> 
>>https://svn.apache.org/repos/asf/airavata/trunk/modules/commons/workflow-
>>execution-context/src/main/java/org/apache/airavata/common/workflow/execu
>>tion/context/WorkflowContextHeaderBuilder.java
>> 2.
>> 
>>https://svn.apache.org/repos/asf/airavata/trunk/modules/airavata-client/s
>>rc/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.ja
>>va
>>


Re: Exposing Workflow Context changes to the API user

Posted by Saminda Wijeratne <sa...@gmail.com>.
Note that some of the phrases for function/property names could be
confusing for users (perhaps too technical???), If you spot possible places
on such confusion, feel free to point them out so that we can fix them.

Following is the structure of the bean I created for the Workflow output
data handling settings

WorkflowOutputDataSettings [3]
|_OutputDataSettings(0..n)
|- output data directory
|- data registry
|_ is data persistent?

Comments are welcome...

Thanks,
Saminda

3.
https://svn.apache.org/repos/asf/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowOutputDataSettings.java

On Fri, Dec 21, 2012 at 6:11 PM, Saminda Wijeratne <sa...@gmail.com>wrote:

> This is a more descriptive explanation of the offline suggestions we got
> for WorkflowContextHeader.
>
> It was suggested that we should have a much simpler way to allow users to
> define the Workflow Context information when running an Experiment via the
> API. Currently what we have is the WorkflowContextHeaderBuilder [1] class
> which contains the following context information for the user to change,
> *Security Context* - customized security measures
> *Service Endpoints* - use the user give service endpoints for interpreter
> service/gfac/message box etc.
> *Output data handling* - how to handle different intermediate output data
> *Workflow Scheduling* - customized job scheduling options
> *Monitoring Context* - <something to do with monitoring running workflow
> instances>
> Each of the above are xml schema objects which users are required to
> manipulate to define the custom workflow context settings.
>
> In order to simplify following was recommended to be exposed as separate
> entities,
> Workflow Scheduling
> Output data handling
> Security Context
>
> I started creating beans for Workflow Scheduling as following
>
> WorkflowSchedulingSettings [2]
> |_NodeSettings(0..n)
> |-node Id
> |-service Id
> |-host settings
> |    |-host id
> |    |-use ws-gram
> |    |_gatekeeper epr
> |_hpc settings
> |-job manager
> |-cpu count
> |-node count
> |-queue name
> |_max wall time
>
>
> I've added relevant getters/setters/adders/re-setters to manage above data
> for workflow scheduling. Your thoughts are welcome for improvements.
>
> Thanks,
> Saminda
>
> 1.
> https://svn.apache.org/repos/asf/airavata/trunk/modules/commons/workflow-execution-context/src/main/java/org/apache/airavata/common/workflow/execution/context/WorkflowContextHeaderBuilder.java
> 2.
> https://svn.apache.org/repos/asf/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/api/WorkflowSchedulingSettings.java
>