Hi Amila, On Sun, Jan 22, 2012 at 8:59 AM, Amila Suriarachchi <am...@wso2.com> wrote:
> > > I think this is not a problem of data related operations. But for a > mediator there is non concept of service and operations. It just take an > xml and output an xml. So it is like invoking an operation directly. If you > look at the rules service and mediator configuration this service and > operations are there only with web service part. Rule mediator does not > have them (Event architecturly there is no relationship with web service > and mediator). > I see the confusion there. The idea on using "operations" in the mediator was to keep the original data service format intact. As in, to re-use the same data service configuration format, so we won't have to create a new separate configuration for that part. And in our current data service configuration, what we have are operations/resources. So we can look it at as an API, rather than a set of operations in a service. And what the mediator does is, pick a certain operations from a set of operations in an API, and call it. Cheers, Anjana. > > But I also see some use case here as you have mentioned. Where users do > need to enrich some xml messages with additional data. (for an example if > ESB receives a customer Id this can be used to add all the customer > formation with his last orders etc.. which will be send to another > service). In this example[1] instead of using a data service we should have > used the data service mediator to do that. > > thanks, > Amila. > > [1] > http://wso2.org/library/articles/2012/01/integrating-different-systems-with-wso2-esb > > >> So the proposal was actually, not to necessarily ship this mediator by >> default with the ESB, but to make it a separate feature and to install it >> on-demand for anyone interested. >> >> Cheers, >> Anjana. >> >> >>> Thanks, >>> Hiranya >>> >>> >>> On Sat, Jan 21, 2012 at 11:52 AM, Amila Suriarachchi <am...@wso2.com>wrote: >>> >>>> >>>> >>>> On Fri, Jan 20, 2012 at 3:00 PM, Dinusha Senanayaka >>>> <dinu...@wso2.com>wrote: >>>> >>>>> Hi Amila, >>>>> >>>>> Thanks for the clarifications and feedbacks. >>>>> >>>>> On Fri, Jan 20, 2012 at 5:16 PM, Amila Suriarachchi <am...@wso2.com>wrote: >>>>> >>>>>> I had a chat with Dinush and suggested to have some thing like this >>>>>> as in rule service. This is also similar to callout mediator >>>>>> calling a data service. Difference is not using the soap/Axis2/tcp >>>>>> layers. >>>>>> >>>>>> <dsMediator serviceName="" operation=""> >>>>>> <source xpath="//" >soapBody|soapHeader|$foo|$bar</source> >>>>>> <target xpath="//" >>>>>> resultXpath="">soapBody|soapHeader|$foo|$bar</target> >>>>>> <dbConfig type="inline|registry"> >>>>>> >>>>>> </dbConfig> >>>>>> </dsMediator> >>>>>> >>>>>> In this model data service is looked as some thing take an xml and >>>>>> outputs an xml. source is the way mediator finds the xml to >>>>>> invoke DS and target is the place it stores the result xml. >>>>>> >>>>> >>>>> Earlier what we have suggested is to map the input parameters one by >>>>> one using xpath or provide them as inline or map the whole set of >>>>> parameters @ once using xpath. In new suggested way, we have only above >>>>> last option and need to have the xml that can be directly used to call >>>>> operation or do some xslt transformation and make the incoming soap body >>>>> to >>>>> have that xml. >>>>> >>>> >>>> When you say using xpath then we need to think against which OMElement? >>>> that can be soapBody, soapHeader or an xml stored in a property. >>>> >>>> yes it is better to have parameter xpath support. I thought Data >>>> Serivice support that at the .dbs level. If not it may be more meaning full >>>> to add that the data service level. >>>> >>>> Can you please send a sample mediator configuration with the .dbs file >>>> for paramter xpath case? >>>> >>>> thanks, >>>> Amila. >>>> >>>> >>>>> >>>>>> The source can be soapBody, soapHeader or a property and we can get a >>>>>> portion of that using xpath. >>>>>> Then again when the result came back it can be saved in any place and >>>>>> a part of the result can be selected using resultXpath and can be stored >>>>>> in >>>>>> a location given by xpath. >>>>>> >>>>> >>>>> >>>>> Regards, >>>>> Dinusha. >>>>> >>>>>> >>>>>> thanks, >>>>>> Amila. >>>>>> >>>>>> >>>>>> On Thu, Jan 19, 2012 at 7:25 PM, Amila Suriarachchi >>>>>> <am...@wso2.com>wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Jan 18, 2012 at 5:03 PM, Dinusha Senanayaka < >>>>>>> dinu...@wso2.com> wrote: >>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> We are going to develop a ESB mediator which can be shipped as a >>>>>>>> feature and once this feature is installed within ESB, the DS mediator >>>>>>>> can >>>>>>>> be used to make data services calls in-line, without making actual SOAP >>>>>>>> requests, but it will use in-memory calls to invoke data service >>>>>>>> operations. >>>>>>>> >>>>>>> >>>>>>> I think first you need to think the features this mediator going >>>>>>> provide for an ESB user and hence what type of interface expect from the >>>>>>> mediator configuration. >>>>>>> For an example I am not seeing much relevance of service/operation >>>>>>> resource here. >>>>>>> Then think about the mediator configuration according to that and >>>>>>> implement. >>>>>>> >>>>>>> For an example Rules also has to support both as a web service and a >>>>>>> mediator. >>>>>>> >>>>>>> The idea of rule mediator is to use it as >>>>>>> >>>>>>> 1. Transformer >>>>>>> 2. Rule based content routing >>>>>>> >>>>>>> If we take the mediation aspect there is not need to have the WS- >>>>>>> aspects. >>>>>>> For an example ws component only shift with BRS server and Mediation >>>>>>> component only shift with ESB. >>>>>>> >>>>>>> For an instance in the transformation case it can either get the >>>>>>> soapBody apply rules and send the result to soapBody (or some part >>>>>>> given as >>>>>>> an Xpath) >>>>>>> >>>>>>> thanks, >>>>>>> Amila. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> So this will add the capability to have .dbs file in registry or >>>>>>>> some other file location and invoke the data-service operations without >>>>>>>> deploying the .dbs as a data-service and process the response within >>>>>>>> the >>>>>>>> ESB. >>>>>>>> >>>>>>>> Possible mediator configuration will look as follows: >>>>>>>> >>>>>>>> <!-- normal request --> >>>>>>>> <dsCall serviceName/servicePath="..."> <!-- >>>>>>>> serviceName is used when calling to a actually deployed data-service >>>>>>>> within >>>>>>>> current service configuration & >>>>>>>> >>>>>>>> servicePath is used to invoke a operation from .dbs file which has not >>>>>>>> deployed --> >>>>>>>> <operation/resource name/path=".." /> <!-- >>>>>>>> operation name or resource path to be invoke --> >>>>>>>> <params expression="xpath"> >>>>>>>> <!-- xpath expression is optional, which can be defined to take all >>>>>>>> input >>>>>>>> parameters. --> >>>>>>>> <param name="name1" value="value1" /> <!-- if >>>>>>>> the xpath expression in "params" is not provided then provide the >>>>>>>> parameters in line --> >>>>>>>> <param name="arrayName1" value="arrayVal1" /> >>>>>>>> <param name="arrayName1" value="arrayVal2" /> >>>>>>>> <param name=".." expression="xpath" /> <!-- >>>>>>>> inline parameter value can be provided through xpath --> >>>>>>>> <params> >>>>>>>> </operation> >>>>>>>> <target expression="xpath" /> >>>>>>>> <!-- If the xpath is not provided, response message after invoking the >>>>>>>> operation will added as fist child element of >>>>>>>> >>>>>>>> the SOAP body. If an xpath expression is provided then it will set in >>>>>>>> the >>>>>>>> given location. >>>>>>>> </dsCall> >>>>>>>> >>>>>>>> <!-- batch request --> >>>>>>>> <dsCall serviceName/servicePath="..."> >>>>>>>> <operation/resource name/path=".."/> >>>>>>>> <params expression="xpath"> >>>>>>>> <batch expression="xpath"> >>>>>>>> <!-- xpath expression can be used to define parameter set for a one >>>>>>>> batch >>>>>>>> --> >>>>>>>> <param name="name1" value="value1" /> >>>>>>>> <param name="arrayName1" value="arrayVal1" /> >>>>>>>> <param name="arrayName1" value="arrayVal2" /> >>>>>>>> <param name=".." expression="xpath" /> >>>>>>>> <batch> >>>>>>>> <batch ..>...</batch> >>>>>>>> <params> >>>>>>>> >>>>>>>> </dsCall> >>>>>>>> >>>>>>>> <!-- boxcarring --> >>>>>>>> <dsCall serviceName/servicePath="..."> >>>>>>>> <boxcarring> >>>>>>>> <request> >>>>>>>> <operation/resource name/path=".." /> >>>>>>>> <params expression="xpath"> >>>>>>>> <param name="name1" value="value1" /> >>>>>>>> <param name="arrayName1" value="arrayVal1" /> >>>>>>>> <param name="arrayName1" value="arrayVal2" /> >>>>>>>> <param name=".." expression="xpath" /> >>>>>>>> <params> >>>>>>>> </operation> >>>>>>>> </request> >>>>>>>> <request ...></request> >>>>>>>> </boxcarring> >>>>>>>> >>>>>>>> <target expression="xpath" /> >>>>>>>> >>>>>>>> </dsCall> >>>>>>>> >>>>>>>> Appreciate any feedback and ideas. >>>>>>>> >>>>>>>> Regards, >>>>>>>> Dinusha. >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Carbon-dev mailing list >>>>>>>> Carbon-dev@wso2.org >>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Amila Suriarachchi* >>>>>>> >>>>>>> Software Architect >>>>>>> >>>>>>> WSO2 Inc. ; http://wso2.com >>>>>>> lean . enterprise . middleware >>>>>>> >>>>>>> phone : +94 71 3082805 >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Amila Suriarachchi* >>>>>> >>>>>> Software Architect >>>>>> WSO2 Inc. ; http://wso2.com >>>>>> lean . enterprise . middleware >>>>>> >>>>>> phone : +94 71 3082805 >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Carbon-dev mailing list >>>>>> Carbon-dev@wso2.org >>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Carbon-dev mailing list >>>>> Carbon-dev@wso2.org >>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Amila Suriarachchi* >>>> >>>> Software Architect >>>> WSO2 Inc. ; http://wso2.com >>>> lean . enterprise . middleware >>>> >>>> phone : +94 71 3082805 >>>> >>>> >>>> _______________________________________________ >>>> Carbon-dev mailing list >>>> Carbon-dev@wso2.org >>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>> >>>> >>> >>> >>> -- >>> Hiranya Jayathilaka >>> Associate Technical Lead; >>> WSO2 Inc.; http://wso2.org >>> E-mail: hira...@wso2.com; Mobile: +94 77 633 3491 >>> Blog: http://techfeast-hiranya.blogspot.com >>> >>> _______________________________________________ >>> Carbon-dev mailing list >>> Carbon-dev@wso2.org >>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>> >>> >> >> >> -- >> *Anjana Fernando* >> Senior Software Engineer >> WSO2 Inc. | http://wso2.com >> lean . enterprise . middleware >> >> >> _______________________________________________ >> Carbon-dev mailing list >> Carbon-dev@wso2.org >> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >> >> > > > -- > *Amila Suriarachchi* > > Software Architect > WSO2 Inc. ; http://wso2.com > lean . enterprise . middleware > > phone : +94 71 3082805 > > > _______________________________________________ > Carbon-dev mailing list > Carbon-dev@wso2.org > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > > -- *Anjana Fernando* Senior Software Engineer WSO2 Inc. | http://wso2.com lean . enterprise . middleware
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev