Hi Pulasthi, In addition to Eranda's suggestion - which is good IMHO, wanted to mention a few others.
1. If save.name is not mentioned, do not default it to something. Just don't save the response altogether. 2. There can be multiple namespaces in the response. So, we need a better way to represent that. I believe that a single property with an XML element in it can capture the XPath expression and the corresponding namespaces. Better to check how this is done in Synapse too. Thanks, Senaka. On Tue, Jun 4, 2013 at 7:59 PM, Eranda Sooriyabandara <[email protected]>wrote: > Hi Pulasthi, > Since now this is a WS invocation executor, I prefer OUT_ONLY instead > async as the property name (This is used in the ESB to indicate "one way" > invocation). "async" is not self expressive here. > WDYT? > > thanks > Eranda > > > On Tue, Jun 4, 2013 at 7:22 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 >> >> > > > -- > *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
