+1 on making this generic - The example below seems to imply that a customer can call any service ?? I thought we were to provide an interface to implement (in the Java sense) and a proper WSDL / WADL for that service. i.e define the parameters that will be passed to the service and the format of the response coming back .
You also need some kind of timeout mechanism - i.e. how long will you wait before deciding that the transition process is stuck and has failed. Also, what is the logic for actually executing the transition or not ? Is this something I need to put in the response ? Are you checking an HTTP return code ? Last this is very SOAP focused. Why can't I call a REST service ? Isabelle. __________________________________________________ Isabelle Mauny Director, Product Management; WSO2, Inc.; http://wso2.com/ email: [email protected] - mobile (Spain) : +34 616050684 - mobile (Sri Lanka) +94 (0)774777663 On Jun 4, 2013, at 3:52 PM, Pulasthi Supun <[email protected]> wrote: > Hi All, > > Did a few changes based on the feedback provided. > > 1. Changed BpelExecutor to WSExecutor > > 2. each {@somename} will be replaced by checking if there is an attribute or > and property by this name priority will be given to attributes > > 2. The new configuration looks as follows > > <execution forEvent="Promote" > > class="org.wso2.carbon.governance.registry.extensions.executors.WSExecutor"> > <parameter name="async" value="false" /> > <parameter name="response.destination" > > value="/_system/governance/apimgt/applicationdata/provider/aaaaaaaaa/aaa/1.0.0/api" > /> > <parameter name="save.type" value="attribute" /> > <parameter name="save.name" value="wsresponse" /> > <parameter name="response.xpath" value="//as:result" /> > <parameter name="response.namespace" value="http://wso2.org/bps/sample" > /> > <parameter name="response.namespace.prefix" value="as" /> > <parameter name="epr" > > value="http://{@hsost}:{@port}/services/AdderProcess.AdderProcesshttpAdderProcessBindingEndpoint/" > /> > <parameter name="payload"> > <p:AdderProcessRequest xmlns:p="http://wso2.org/bps/sample"> > <!--Exactly 1 occurrence --> > <x xmlns="http://wso2.org/bps/sample">{@xvalue}</x> > <!--Exactly 1 occurrence --> > <y xmlns="http://wso2.org/bps/sample">{@yvalue}</y> > </p:AdderProcessRequest> > </parameter> > </execution> > > Required parameters > > epr - End Point Reference of the > payload - The Payload that needed to invoke the > Optional parameters > > async - Define whether the BPEL process to be called in an synchronous or > asynchronous manner by default synchronous approach is used > In the asynchronous mode no response will be saved ( Default - > synchronous ) > response.destination - defines the path of the resource to which the response > will be saved ( Default - The current resource path ) > save.type - defines whether the response is to be saved as an property or > attribute ( Default - attribute) > save.name - defines the name of the property of attribute that response is > saved to ( Default - respnose) > response.xpath - defines the xpath that is to be used to extract an value > from the response xml ( Default - if not provided the whole response xml will > be saved as an string ) > response.namespace - namespace of the response > response.namespace.prefix - namespace prefix used in the xpath > Regards, > Pulasthi > > > On Sat, Jun 1, 2013 at 9:41 PM, Pulasthi Supun <[email protected]> wrote: > Hi All > > I also agree with Janaka , this was started off with the aim to allow BPEL > processes to be called during an lifecycle transition hence it was initially > treated as an BPEL Integration.So it would be appropriate to rename this as > web service executor since the design is already capable of invoking any web > service. > > Regarding Eranda's question. > What you mean by a response of a business process? Can you please give an > example use case for a process sending a response. > > BPEL is exposed as a web services so as in normal web service BPEL processes > may reply back with an response. > > Thanks, > Pulasthi > > On Sat, Jun 1, 2013 at 2:37 AM, Senaka Fernando <[email protected]> wrote: > Hi Eranda, > > I agree with Janaka. A process that we invoke from an executor need not > always be a BPEL, it can actually be any endpoint. If it happens to be a BPEL > process, we can provide some specific interfaces (if required later on), but > right now - I mean at this level - everything Pulasthi mentioned is generic > for both BPEL and any regular WS. Therefore, we should not be having the word > BPEL in these sample configurations. > > Thanks, > Senaka. > > > On Sat, Jun 1, 2013 at 2:23 AM, Eranda Sooriyabandara <[email protected]> wrote: > Hi Janaka, > > > On Sat, Jun 1, 2013 at 2:04 AM, Janaka Ranabahu <[email protected]> wrote: > Hi Pulasthi, Senaka, > > Why are we saying "BPEL Integration"? BPEL process is also exposed as a > service. So shouldn't this be generic to any service call? From what I see, > what you should have is a executor that can do a web service call. The > parameters of the service call can be taken from either a G-Reg resource or > from the LC configuration or can be passed from the UI it self. I don't see a > point in limiting that to only BPEL. > > AFAIU, If we think in that level, actually we don't need to write such this, > because it's not a hard task to write a executor which invoke a web service > where we can limit it to a sample. Instead here we are trying to address a > solution and this will be the initial stage where we can extend this further > where we can invoke a BPEL process in the executor and the details of the > process instance will be shown, may be in a transition UI. > > thanks > Eranda > > > > Please correct me if I'm wrong. > > Thanks, > Janaka > > > On Fri, May 31, 2013 at 4:16 PM, Eranda Sooriyabandara <[email protected]> > wrote: > Hi Pulasthi, > > Please find the comments inline. > > On Fri, May 31, 2013 at 10:00 AM, Pulasthi Supun <[email protected]> wrote: > Hi All > > I am working on the $subject. The aim of this feature is make it possible to > invoke BPEL processes during Lifecycle state transition in G-Reg for example > with this feature it will be possible to call an BPEL process when a > "Promote" is done. > > This is achieved via a transitions executor and the BPEL process will be > invoked through an web web-service call. following is an sample Lifecycle > configuration > > <data name="transitionExecution"> > <execution forEvent="Promote" > > class="org.wso2.carbon.governance.registry.extensions.executors.BpelExecutor"> > <parameter name="bpel.epr" > > value="http://10.200.3.107:9763/services/AdderProcess.AdderProcesshttpAdderProcessBindingEndpoint/" > /> > <parameter name="bpel.payload"> > <p:AdderProcessRequest > xmlns:p="http://wso2.org/bps/sample"> > <x > xmlns="http://wso2.org/bps/sample">/_system/governance/{@resourcePath}/{@xvalue}</x> > <y > xmlns="http://wso2.org/bps/sample">/_system/governance/{@resourcePath}/{@yvalue}</y> > </p:AdderProcessRequest> > </parameter> > </execution> > </data> > > > +1 for this approach. > > > > The transition execution needs to be provided with the following details > > End Point Reference of the BPEL > The End point can either be given directly or trough an > property or artifact attribute > Ex. <parameter name="bpel.epr" > value="/_system/governance/{@resourcePath}/{@epr}"/> > The Payload that needed to invoke the BPEL process. > The values of the payload can be-- > Nuwan Dias > > Member, Management Committee - Solutions Technology Group > Senior Software Engineer - WSO2, Inc. http://wso2.com > email : [email protected] > Phone : +94 777 775 729 defined either directly or trough an property or > artifact attribute > Ex. > <data name="transitionExecution"> > <execution forEvent="Promote" > > class="org.wso2.carbon.governance.registry.extensions.executors.BpelExecutor"> > <parameter name="bpel.epr" > value="/_system/governance/{@resourcePath}/{@epr}"/> > <parameter name="bpel.payload"> > <p:AdderProcessRequest > xmlns:p="http://wso2.org/bps/sample"> > <x > xmlns="http://wso2.org/bps/sample">/_system/governance/{@resourcePath}/{@xvalue}</x> > <y xmlns="http://wso2.org/bps/sample">6</y> > </p:AdderProcessRequest> > </parameter> > </execution> > </data> > Optional - Define whether the BPEL process to be called in an synchronous or > asynchronous manner by default synchronous approach is used > In the asynchronous mode no response will be saved > Optional - Define the location to store the response > Optional - Define whether the response should be saved as an property or > artifact attribute > Optional - Define the name of the property or attribute to store the response > > What you mean by a response of a business process? Can you please give an > example use case for a process sending a response. > > Also if we can go further, we may able to show the current Activity name > executing in the process. When we fully support business process > visualization in G-Reg we may able to use that information for visualizing > the current state of the process instance in G-Reg. > > > Any feedback and comments are welcome > > > thanks > Eranda > > -- > Eranda Sooriyabandara > Software Engineer; > Integration Technologies Team; > WSO2 Inc.; http://wso2.com > Lean . Enterprise . Middleware > > E-mail: eranda AT wso2.com > Mobile: +94 716 472 816 > Linked-In: http://www.linkedin.com/in/erandasooriyabandara > Blog: http://emsooriyabandara.blogspot.com/ > > > > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > > > > -- > Janaka Ranabahu > Member - Solutions Management Committee; > Senior Software Engineer; WSO2 Inc.; http://wso2.com > > E-mail: [email protected] > M: +94 718370861 > > > Lean . Enterprise . Middleware > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > > > > -- > Eranda Sooriyabandara > Software Engineer; > Integration Technologies Team; > WSO2 Inc.; http://wso2.com > Lean . Enterprise . Middleware > > E-mail: eranda AT wso2.com > Mobile: +94 716 472 816 > Linked-In: http://www.linkedin.com/in/erandasooriyabandara > Blog: http://emsooriyabandara.blogspot.com/ > > > > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > > > > -- > Senaka Fernando > Member - Integration Technologies Management Committee; > Technical Lead; WSO2 Inc.; http://wso2.com > Member; Apache Software Foundation; http://apache.org > > E-mail: senaka AT wso2.com > P: +1 408 754 7388; ext: 51736; M: +94 77 322 1818 > Linked-In: http://linkedin.com/in/senakafernando > > Lean . Enterprise . Middleware > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > > > > -- > -- > Pulasthi Supun > Software Engineer; WSO2 Inc.; http://wso2.com, > Email: [email protected] > Mobile: +94 (71) 9258281 > Blog : http://pulasthisupun.blogspot.com/ > Git hub profile: https://github.com/pulasthi > > > > -- > -- > Pulasthi Supun > Software Engineer; WSO2 Inc.; http://wso2.com, > Email: [email protected] > Mobile: +94 (71) 9258281 > Blog : http://pulasthisupun.blogspot.com/ > Git hub profile: https://github.com/pulasthi > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
