airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sachith Withana <swsach...@gmail.com>
Subject Re: Workflow handling in the Application Catalog
Date Mon, 09 Jun 2014 04:02:13 GMT
Thanks Raman.

You are exactly correct.

I have three questions.

1. We should store the DAG only. But the problem is that DAG contains which
applications are used, and how they are connected.( which output goes to
which input). This is a lot of data that is already available in the .wxf
files that we use. So basically what you are proposing is shred the .wxf
files and store them in the App Catalog?

2. If I remember correctly, the workflows we used had web services as nodes
(SimpleMath workflow) , and they were not available in the registry as
applications before hand. How do you propose we handle that scenario?

3.  Overall, what's the purpose of having .wxf files ( WSDLS) as workflows
since now that we will only be using it to transfer data between the
client( XBaya) and the server correct?


On Thu, Jun 5, 2014 at 7:32 PM, Raminder Singh <raminderjsingh@gmail.com>
wrote:

> Sachith,
>
> Workflow is a set of applications configured to work together. User need
> to define its individual applications and the next step is to create a
> workflow to configure the applications together. We should not save
> applications used in the workflow as part of workflow. String saved in
> workflow is a DAG (Directed acyclic graph) and it has reference to
> applications (currently services). Other details saved in the workflow are
> conditional blocks (if, for, while conditions), connections (input-output)
> and defaults inputs configured by the user. Doing this it will keep the
> structure of workflow DAG simple and application defined can be used in
> multiple workflows or run standalone if needed.  Please let me know if you
> have more questions
>
> Thanks
> Raminder
>
>
> On Jun 5, 2014, at 3:59 AM, Sachith Withana <swsachith@gmail.com> wrote:
>
> So what you are suggesting is instead of saving a one big string, we
> should shred it and store the nodes and their relationships separately so
> that it can be queriable?
>
> But XBaya and the Workflow Interpreter would still be using the string
> right?
>
>
> On Tue, Jun 3, 2014 at 9:08 PM, Saminda Wijeratne <samindaw@gmail.com>
> wrote:
>
>>
>>
>>
>> On Sat, May 31, 2014 at 6:42 AM, Sachith Withana <swsachith@gmail.com>
>> wrote:
>>
>>>
>>>
>>>
>>> On Thu, May 29, 2014 at 10:23 PM, Saminda Wijeratne <samindaw@gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Thu, May 29, 2014 at 1:15 AM, Sachith Withana <swsachith@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> When designing the Application Catalog for single Applications, I ran
>>>>> into the issue of supporting workflows in the Application Catalog.
>>>>>
>>>>> Should we store the workflows ( workflow files) and keep ids, which
>>>>> would be the handles for those workflows?
>>>>>
>>>> Thanks for bringing this up Sachith. In your opinion how do you think
>>>> the workflow should be represented through the CPI? Workflow string or
>>>> Thrift object with workflow metadata distinguished or Thrift object with
>>>> all workflow data distinguished or any other way? I suppose we need to
>>>> figure-out what should be queried in a workflow.
>>>>
>>>
>>>
>>> For the functional purposes I think it would be better to store the
>>> workflow the way it is right now purely because we wouldn't want this to
>>> affect the Workflow Interpreter behavior. But we can store meta-data about
>>> the workflows to whatever the features we would want to support. Is there a
>>> way to get the applications residing in a workflow without explicitly
>>> passing it to get the meta-data?
>>>
>> Workflow nodes specifically does directly correspond to applications but
>> service descriptors. The current workflow model object have functions to
>> return these service descriptors.
>>
>>
>>>
>>>
>>>>
>>>>> We would have to keep track of the applications that are in that
>>>>> workflow so that the deployment related data would be reused.
>>>>>
>>>>> Similarly to the single Applications, the sharing and other features
>>>>> would be available for the workflows as well.
>>>>>
>>>>> Is there any more details that I should be concerned about when
>>>>> implementing the aforementioned approach?
>>>>>
>>>> IMO we can generalize workflows as a composite application with special
>>>> properties. For example a workflow could simply be another deployment for
>>>> an Application interface. wdyt?
>>>>
>>>
>>>
>>> I agree. I'll send you the current design I have which generalize this.
>>>
>>>
>>>>
>>>>
>>>>> If we are planning to add searching capability with the workflows as
>>>>> well, then we'd have to store the applications that are used in the
>>>>> workflows, separately in the database as well instead of storing it as
a
>>>>> whole.
>>>>>
>>>> You mean node information here when you say "applications" right?
>>>>
>>>
>>> yep. wdyt?
>>>
>> I think it brings us back to whether want to save the workflow as a
>> single blob or as separate data for the graph. IMO what we send to the
>> registry should be a complex workflow object and we should be able to query
>> those objects from the registry based on their properties. How registry
>> saves this complex object (as a single blob, metadata+single blob or
>> metadata+graph data) is immaterial for the user of the registry/app catalog.
>>
>>
>>
>>>
>>>>
>>>>> Any suggestions/comments on the matter is highly appreciated.
>>>>>
>>>>> --
>>>>> Thanks,
>>>>>  Sachith Withana
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks,
>>>  Sachith Withana
>>>
>>>
>>
>
>
> --
> Thanks,
> Sachith Withana
>
>
>


-- 
Thanks,
Sachith Withana

Mime
View raw message