synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hiranya Jayathilaka <hiranya...@gmail.com>
Subject Re: New Blocking Sender implementation
Date Mon, 26 Aug 2013 02:24:15 GMT
Hi Isuru,

Can you also provide a patch for configuration language guide (mediators.xml)?

Thanks,
Hiranya

On Aug 20, 2013, at 6:25 AM, Isuru Udana <isudana@gmail.com> wrote:

> Hi Hiranya,
> 
> I have attach a patch to [1] with suggested modifications. A sample and an integration
test is also attached to [2].
> 
> [1] https://issues.apache.org/jira/browse/SYNAPSE-969
> [2] https://issues.apache.org/jira/browse/SYNAPSE-970
> 
> Thanks.
> 
> 
> 
> On Tue, Aug 20, 2013 at 8:14 AM, Isuru Udana <isudana@gmail.com> wrote:
> 
> 
> 
> On Tue, Aug 20, 2013 at 12:13 AM, Hiranya Jayathilaka <hiranya911@gmail.com> wrote:
> And one more thing. 
> 
> I noticed that when the callout mediator is configured with an endpointKey, the key is
resolved only once (at the first message). Try to make it so that the mediator will resolve
the key on each message. That way the callout mediator can take advantage of the underlying
caching + dynamic endpoint update system.
> I will do this modification along with the inline endpoint support.
> 
> Thanks. 
> 
> Thanks,
> Hiranya
>  
> On Aug 19, 2013, at 8:21 AM, Isuru Udana <isudana@gmail.com> wrote:
> 
>> Hi Udayanga,
>> 
>> On Mon, Aug 19, 2013 at 7:01 PM, Udayanga Wickramasinghe <mastershield2007@gmail.com>
wrote:
>> 
>> 
>> 
>> On Sun, Aug 18, 2013 at 9:58 AM, Isuru Udana <isudana@gmail.com> wrote:
>> Hi All,
>> 
>> Currently we have following two main places we use a blocking client to invoke services.

>> 1. Callout Mediator 
>> 2. Forwarding Message Processor 
>> 
>> Both these components use the axis2 service client to invoke services in a blocking
manner. 
>> Since the implementation is very simple, provided functionality is very limited.

>> 
>> Currently we have following major limitations. 
>> 
>> * Supports only SOAP 
>> * Message format conversion is not supported 
>> * QOS functionality (WS-Security, etc.) are not supported 
>> * Cannot specify an endpoint as the service endpoint reference (In message processors
we can specify an Address endpoint. But none of the other endpoint types and other endpoint
functionality is supported) 
>> 
>> I have implemented a new blocking client which can be used as a common blocking sender
for both above components. 
>> This new implementation will provide the following functionality. 
>> 
>> * Support all leaf endpoint types 
>> * Support for REST 
>> * Support Endpoint functionality. 
>>       - Endpoint format conversions (soap11,soap12,pox, etc.) 
>>       - WS-Security, WS-A 
>>       - Endpoint Timeout (nhttp transport specific functionality is not supported)

>> * message format conversions (ability to use messageType/ContentType properties)

>> 
>> I have attached this implementation as patch to SYNAPSE-966 [1].
>> I have also attached a patch[2] to migrate the Callout mediator to this implementation.
>> A sample with documentation and an integration test is also attached at [3].
>> 
>> +1 
>> This would be a great addition. I think synapse library support for a blocking client
would also be a good idea. Specially because many users tend to create complex workflows with
Synapse using either service chaining ,etc without any obvious high performance requirement
(leveraging asynchronous non blocking capability of Synapse). I think a synapse library would
provide a high level abstraction as well as portability for easily creating such workflows.

>> 
>> I think those service chaining workflows can be simplified by introducing a Callout
like behavior for the send mediator.
>> It will make the service chaining scenarios much simpler and we will able to leverage
asynchronous non blocking transports as well.
>> I have already done significant amount of work on implementing this feature. 
>> If I get enough time to test the implementation completely before this release, I
will provide a patch to review. 
>> 
>> Thanks.
>> 
>> If others interested, I can provide patches to migrate Message processor to this
implementation and more samples.
>> 
>> [1] https://issues.apache.org/jira/browse/SYNAPSE-966
>> [2] https://issues.apache.org/jira/browse/SYNAPSE-967
>> [3] https://issues.apache.org/jira/browse/SYNAPSE-968
>> 
>> Thanks.      	 
>> Isuru
>> 
>> -- 
>> Isuru Udana
>> Senior  Software Engineer; WSO2 Inc.; http://wso2.com
>> 
>> email: isudana@gmail.com 
>> blog: http://mytecheye.blogspot.com/
>> twitter: http://twitter.com/isudana
>> 
>> 
>> 
>> 
>> 
>> 
>> -- 
>> http://www.udayangawiki.blogspot.com
>> 
>> 
>> 
>> -- 
>> Isuru Udana
>> Senior  Software Engineer; WSO2 Inc.; http://wso2.com
>> 
>> email: isudana@gmail.com 
>> blog: http://mytecheye.blogspot.com/
>> twitter: http://twitter.com/isudana
>> 
>> 
>> 
> 
> --
> Hiranya Jayathilaka
> Mayhem Lab/RACE Lab;
> Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
> E-mail: hiranya@cs.ucsb.edu;  Mobile: +1 (805) 895-7443
> Blog: http://techfeast-hiranya.blogspot.com
> 
> 
> 
> 
> -- 
> Isuru Udana
> Senior  Software Engineer; WSO2 Inc.; http://wso2.com
> 
> email: isudana@gmail.com 
> blog: http://mytecheye.blogspot.com/
> twitter: http://twitter.com/isudana
> 
> 
> 
> 
> 
> 
> -- 
> Isuru Udana
> Senior  Software Engineer; WSO2 Inc.; http://wso2.com
> 
> email: isudana@gmail.com 
> blog: http://mytecheye.blogspot.com/
> twitter: http://twitter.com/isudana
> 
> 
> 

--
Hiranya Jayathilaka
Mayhem Lab/RACE Lab;
Dept. of Computer Science, UCSB;  http://cs.ucsb.edu
E-mail: hiranya@cs.ucsb.edu;  Mobile: +1 (805) 895-7443
Blog: http://techfeast-hiranya.blogspot.com


Mime
View raw message