You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Milinda Lakmal Pathirage (JIRA)" <ji...@apache.org> on 2010/06/08 08:37:11 UTC

[jira] Created: (ODE-841) Migrating BPEL Extension support to ODE trunk

Migrating BPEL Extension support to ODE trunk
---------------------------------------------

                 Key: ODE-841
                 URL: https://issues.apache.org/jira/browse/ODE-841
             Project: ODE
          Issue Type: New Feature
          Components: BPEL Runtime
    Affects Versions: 1.3.4
            Reporter: Milinda Lakmal Pathirage
            Assignee: Milinda Lakmal Pathirage
             Fix For: 1.3.5


Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Waruna Ranasinghe (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12887647#action_12887647 ] 

Waruna Ranasinghe commented on ODE-841:
---------------------------------------


I have finished work on long running extensions.
I have introduced a new AbstractLongRunningExtensionOperation class. 
The extender of the above class should implement 2 abstract methods.
       One method is to invoke the long running external service or an equivalent
       The other method is to do your work after receiving the response from the external service

I have also introduced AbstractExtensionCorreationFilter class. This class should be extended in-order to get the correlation values from the response message. 
The implemented class should be mentioned in the ode-axis2.properties file (i.e.  ode-axis2.extension.correlation.filter=class name)
The QName of the filter also should be mentioned in the deploy.xml file, so that the filter is used to add a correlation key to the the provide's partner link 

<provide partnerLink="b4pPartnerLink" correlationFilter="filter:sampleFilter">
       <service name="apprv:ClaimServiceCB" port="ClaimPortCB"/>
</provide>


I'll attach the patch asap.
comments and suggestions are welcome


> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>         Attachments: ODE-841.patch
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Bob Brodt (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910180#action_12910180 ] 

Bob Brodt commented on ODE-841:
-------------------------------

Any estimates when this feature will be available, and in which version (1.3.5 I hope?)
Thanks for all your hard work!

Bob

> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>         Attachments: ODE-841-complete.patch, ODE-841.patch
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Rafal Rusin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882980#action_12882980 ] 

Rafal Rusin commented on ODE-841:
---------------------------------

Let's do it via extension activity interface, since
1. it's a good idea to be able to implement other custom activities with similar capabilities
2. not make brick with everything for BpelRuntimeContextImpl


> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>         Attachments: ODE-841.patch
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Milinda Lakmal Pathirage (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882944#action_12882944 ] 

Milinda Lakmal Pathirage commented on ODE-841:
----------------------------------------------

While implementing BPEL4People extension on top of current extension infrastructure, I noticed that we must give the extension developer the advantage of JACOB and Channels. 

For example, let's take BPEL4People scenario. Once BPEL engine invoke the task engine to create a task, BPEL process must go to a state where it waits for the response task engine without blocking any threads. And when the task is completed and when task engine send the notification to the process, process should start from the place where it waits for a response from task engine. this situation is same as one-way <invoke> followed by a <receive>.  But we let the extension developer the chance to handle the selection of correct process instance. 

After a quick hack, I was able to facilitate this by adding some extra attributes to deploy.xml provide configurations, changing integration layer, introducing new Channel and couple of other hacks to the BpelRuntimecontextImpl. But it's a very ugly hack and we should provide a better way of handling this situation by making the extension development and deployment mechanism more flexible.

We are still working on figuring out a better solution for this. It's really helpful if community can tell what they think about providing this kind of flexibility for BPEL extension development and if you guys have better alternative please feel free to comment on this.

> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>         Attachments: ODE-841.patch
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Waruna Ranasinghe (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12883019#action_12883019 ] 

Waruna Ranasinghe commented on ODE-841:
---------------------------------------

@Tammo Yes, patch is completed. I merged all the test for Extensions as well and the tests are passed.

> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>         Attachments: ODE-841.patch
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882083#action_12882083 ] 

Tammo van Lessen commented on ODE-841:
--------------------------------------

Cool, thanks. No, the refactoring is not (yet) needed. It has been introduced to allow for having multiple OModels in parallel, but we don't have this yet in trunk and would also prefer an approach with less code duplications.

I remember that I actually wanted to change the extension validator part to become a extension compiler, but I think I can do this when merging your patch. Is the patch complete now (given the fact that we don't want to port the refactoring)?

> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>         Attachments: ODE-841.patch
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Waruna Ranasinghe (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Waruna Ranasinghe updated ODE-841:
----------------------------------

    Attachment: ODE-841-complete.patch

This is the complete patch with extension support. (You may ignore the previous ODE-841.patch)
This includes the long running extensions as I have mentioned in the previous comment.

 

> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>         Attachments: ODE-841-complete.patch, ODE-841.patch
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Waruna Ranasinghe (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12879374#action_12879374 ] 

Waruna Ranasinghe commented on ODE-841:
---------------------------------------

Hi all,
I started porting BPEL extension support to trunk.
For now, I have completed compilation part.

I will continue implementing rest of it as well.

> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-841) Migrating BPEL Extension support to ODE trunk

Posted by "Waruna Ranasinghe (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Waruna Ranasinghe updated ODE-841:
----------------------------------

    Attachment: ODE-841.patch

The patch is generated against revision 957131

I have included all the functionalities required for bpel extensions in to BpelRuntimeContextImpl. 
But in the experimental branch (2.0), BpelRuntimeContextImpl class was re-factored in to BpelRuntimeContextImpl and RuntimeInstanceImpl. Do I need to do the same in the current trunk as well? 

> Migrating BPEL Extension support to ODE trunk
> ---------------------------------------------
>
>                 Key: ODE-841
>                 URL: https://issues.apache.org/jira/browse/ODE-841
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Runtime
>    Affects Versions: 1.3.4
>            Reporter: Milinda Lakmal Pathirage
>            Assignee: Milinda Lakmal Pathirage
>             Fix For: 1.3.5
>
>         Attachments: ODE-841.patch
>
>
> Current trunk doesn't have BPEL extension support even though extension support is there on 2.x-experimental branch. Also when dealing with long running extensions like BPEL4People, it's hard implement that type of extensions with the current support provided by ODE 2.x-experimental branch. First we need to port extension support in 2.x-experimental branch to trunk and then improve the support for long running extensions. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.