[Carbon-dev] Data Services Mediator for ESB
Srinath Perera
srinath at wso2.com
Wed Jan 18 22:31:25 EST 2012
Hi Anjana,
> This is suppose to be a possible replacement for DB-* mediators. Those
> mediators also basically worked in the same way. The proposed data services
> mediator is only suppose to work in in-memory calls. It won't make any
> remote calls, basically it will not do any SOAP calls. What we do is,
> internally create the data service representation and call it directly, same
> in the case if the data service is already deployed as an Axis2 service, we
> can get the required data service object from that service and invoke our
> operations directly. Also as for the question made by Srinath, whether if
> till do a SOAP call if the data service is in another node, no it won't. It
> won't make sense to use this, then you can simply make an usual SOAP call,
> using "send" or "callout" mediators.
I disagree as that forces the user to write two sets of codes when DS
and ESB are in two nodes. In generally, we try most of our constructs
work such a way that moving parts to a different node is a
configuration change rather than code change (e.g. Registry, IS etc).
IMO we should handle this case in the same manner.
--Srinath
>
> Cheers,
> Anjana.
>>
>> thanks,
>> waruna
>>
>> sent from my mobile.
>>
>> On Jan 18, 2012 5:04 PM, "Dinusha Senanayaka" <dinusha at 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.
>>>
>>> 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 at wso2.org
>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> Carbon-dev at 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 at wso2.org
> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
--
============================
Srinath Perera, Ph.D.
Senior Software Architect, WSO2 Inc.
Visiting Faculty, University of Moratuwa
Member, Apache Software Foundation
Research Scientist, Lanka Software Foundation
Blog: http://srinathsview.blogspot.com/
Photos: http://www.flickr.com/photos/hemapani/
Phone: 0772360902
More information about the Carbon-dev
mailing list