Hi, This is a summary of how we support messaging with C5 ESB and GW.
*Carbon Message [1] * - This is the generic message representation which contains message headers and reference to extract the message body (fully type-aware and no canonicalization required) - The idea is to use this as the generic message representation across the all the products that uses carbon-transport. *Carbon Transports* - Protocol handling layer that converts the wire msg -> carbon message (receiving) and carbon-message -> wire msg (sending). - The objective is to make sure all products can use same transports with generic message representation (without any canonicalized message such as SOAP). At the moment with C4, since we don't have a generic message representation, different products has to implement their own protocol handlers/transports to cater to their specific needs. (eg: ESB, CEP etc.) *Carbon Message Processor* (API) [2] - Any component that want to consume message from transport has to implement this and plug that in. - We use this mechanism to receive messages into the GW message processor/engine through the Netty transport [3]. - In addition you can use the TransportSender in case if you want to send message out from the message processor impl through any protocol. *CarbonCallback[4] * - We don't use in and out flow model any more in the new architecture. So, both request and response flows work asynchronously with the use of callbacks. (Idea is to later replace this with RxJava) I think all these things are completely independent from ESB/GW and can be used as the generic messaging architecture for C5. [1] https://github.com/wso2/carbon-messaging/blob/master/components/src/main/java/org/wso2/carbon/messaging/CarbonMessage.java [2] https://github.com/wso2/carbon-messaging/blob/master/components/src/main/java/org/wso2/carbon/messaging/CarbonMessageProcessor.java [3] https://github.com/wso2/product-gw/blob/master/carbon-gw/components/org.wso2.carbon.gateway/src/main/java/org/wso2/carbon/gateway/internal/mediation/camel/CamelMediationEngine.java @Shafreen/Senduran : Please add if anything else is missing. Thanks, -- Kasun Indrasiri Software Architect WSO2, Inc.; http://wso2.com lean.enterprise.middleware cell: +94 77 556 5206 Blog : http://kasunpanorama.blogspot.com/
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
