Mohan: Thank you very much, it's a very descriptive article, was very
useful!

Nirmal: I do not think you are wrong. The only concern here is to have a
clear separation between a JMS Output Adapter and a AMQP Output Adapter.
Otherwise the existing JMS Output Adapter could be updated without a
problem.

Kishanthan: Thank you very much!



On Sun, Dec 22, 2013 at 11:22 PM, Kishanthan Thangarajah <
[email protected]> wrote:

> Hi Imesh,
>
> Just a suggestion.
> We recently added the support for AMQP transport for ESB based on RabbitMQ
> Java Client [1]. So if it helps, you can take a look at that too as an
> option, when you start writing this adaptor.
>
> Thanks,
> Kishanthan.
> [1] http://www.rabbitmq.com/api-guide.html
>
>
>
> On Sun, Dec 22, 2013 at 5:00 PM, Imesh Gunaratne <[email protected]> wrote:
>
>> Hi,
>>
>> Thanks Lasantha for your feedback.
>>
>> No, there won't be any processing happening in CEP based on the AMQP
>> properties. The idea is to support the AMQP protocol when writing from CEP
>> to the message consumer. As a result AMQP properties could be included in
>> messages using event formatters.
>>
>> Nirmal, the reason why I proposed to implement a new adapter is that JMS
>> and AMQP would mean two different things (as you have mentioned) in the
>> context of messaging:
>>
>>    - JMS is a standard* messaging API for Java platform*
>>    - AMQP is a specification which provides a *standard messaging
>>    protocol across all platforms*.
>>
>> Therefore I think an AMQP Output Adapter would provide a much clear view
>> and add more value to CEP when communicating with AMQP based, non Java
>> message consumers.
>>
>> Yes as I have pointed out earlier the idea is to implement the AMQP
>> Output Adapter by re-using the features in JMS Output Adapter.
>>
>> Thanks
>>
>>
>>
>> On Sun, Dec 22, 2013 at 1:18 PM, Lasantha Fernando <[email protected]>wrote:
>>
>>> Hi Imesh,
>>>
>>> +1 for implementing an AMQP output adapter. I think it will be very
>>> useful to add it as a supported adapter type for CEP.
>>>
>>> Will there be any processing happening based on the AMQP properties
>>> within the CEP? Or is it simply that an AMQP message needs to be sent with
>>> properties to the AMQP based broker?
>>>
>>> Thanks,
>>> Lasantha
>>>
>>>
>>> On 22 December 2013 10:34, Imesh Gunaratne <[email protected]> wrote:
>>>
>>>> Hi All,
>>>>
>>>> In Apache Stratos (incubating) 4.0.0 we are using WSO2 CEP for
>>>> aggregating statistics events sent by load balancers and cartridge agents
>>>> (agents in VM instances). The aggregated values are used by the Autoscaler
>>>> for taking autoscaling decisions.
>>>>
>>>> Here the events are sent to CEP using the default input adapter (via
>>>> Thrift) and the aggregated events are sent to an AMQP based message broker
>>>> using the JMS Output Adapter. Event formatters have been used for defining
>>>> the formats of the output messages.
>>>>
>>>> *A Sample Event Formatter:*
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <eventFormatter name="AverageRequestsInflightEventFormatter"
>>>>   statistics="disable" trace="enable" xmlns="
>>>> http://wso2.org/carbon/eventformatter";>
>>>>   <from streamName="average_in_flight_requests" version="1.0.0"/>
>>>>   <mapping customMapping="enable" type="json">
>>>>
>>>> <inline>{"average_in_flight_requests":{"cluster_id":"{{cluster_id}}","network_partition_id":"{{network_partition_id}}","value":"{{count}}"}}</inline>
>>>>   </mapping>
>>>>   <to eventAdaptorName="JMSOutputAdaptor" eventAdaptorType="jms">
>>>>     <property
>>>> name="transport.jms.Destination">summarized-health-stats</property>
>>>>   </to>
>>>> </eventFormatter>
>>>>
>>>> The above is a sample event formatter which defines an aggregated
>>>> event. Similarly there is a collection of events sent by CEP to the message
>>>> broker. For each event there is an event formatter defined.
>>>>
>>>>
>>>> *The Requirement:*
>>>> Here there is a requirement to include a set of AMQP Properties [1] in
>>>> the output message. These properties may include name value pairs specific
>>>> for each event:
>>>>
>>>> *A Sample AMQP Message*
>>>> Message Properties:
>>>>
>>>> event_class_name: 
>>>> org.apache.stratos.messaging.event.health.stat.AverageInFlightRequests
>>>>
>>>> Message Body:
>>>>
>>>> {"average_in_flight_requests":{"cluster_id":"{{cluster_id}}","network_partition_id":"{{network_partition_id}}","value":"{{count}}"}}
>>>>
>>>>
>>>> *The Proposal:*
>>>> As I understood this functionality is not supported by the JMS Output
>>>> Adapter at the moment and I think it's logical since AMQP features should
>>>> not be included in JMS Output Adapter.
>>>>
>>>> As a solution to this requirement I would like to implement an AMQP
>>>> Output Adapter on top of the JMS Output Adapter to support this
>>>> functionality [2]. I will send more implementation design details in
>>>> another mail as I progress.
>>>>
>>>> Really appreciate your thoughts on this.
>>>>
>>>> [1]
>>>> http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol#Message_format
>>>> [2] http://docs.wso2.org/display/CEP300/Output+Event+Adaptors
>>>>
>>>>
>>>> Many Thanks
>>>> --
>>>> *Imesh Gunaratne*
>>>> Technical Lead
>>>> WSO2 Inc: http://wso2.com
>>>> T: +94 11 214 5345 M: +94 77 374 2057
>>>> W: http://imesh.gunaratne.org
>>>> Lean . Enterprise . Middleware
>>>>
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> *Lasantha Fernando*
>>> Software Engineer - Data Technologies Team
>>> WSO2 Inc. http://wso2.com
>>>
>>> email: [email protected]
>>> mobile: (+94) 71 5247551
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> *Imesh Gunaratne*
>> Technical Lead
>> WSO2 Inc: http://wso2.com
>> T: +94 11 214 5345 M: +94 77 374 2057
>> W: http://imesh.gunaratne.org
>> Lean . Enterprise . Middleware
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> *Kishanthan Thangarajah*
> Senior Software Engineer,
> Platform Technologies Team,
> WSO2, Inc.
> lean.enterprise.middleware
>
> Mobile - +94773426635
> Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>*
> Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
*Imesh Gunaratne*
Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057
W: http://imesh.gunaratne.org
Lean . Enterprise . Middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to