Hi All, We had a meeting to discuss the subject.
Participants - Azeez, Sameera, Chanaka, Anjana, Chamil, Pubudu, Irunika and Chathurika Let me quickly explain how components are wired together using CarbonMessageProcessor, CarbonMessage and CarbonCallBack at the moment. We have Carbon-Messaging component which provides all the aforementioned common classes. Both transport developers and engine developers have to depend on these common classes to provide their own implementations as in the below diagram. However, over time it was realized that having a common abstraction is difficult and raised a few discussion points. Following are the main discussion points we had, 1) Different transport implementations require different CarbonMessage types. 2) CarbonCallBack only fits in for response/request paradigm. 3) Having to write different transport dispatchers on the CarbonMessageProcessor side. Considering all the above points it was decided that having a common abstraction for all the different types of transports is not easy. Mainly because they are inherently different from one another. After all, Carbon-Messaging [1] component was only helpful to decouple Transports from run-time engine at compile time. During run time those two components were decoupled using OSGi service registry. Hence, necessity for Carbon-Messaging repo is little. With the new design, we are planning to allow each transport implementation to have their own CarbonMessageProcessor, CarbonMessage and CarbonCallBack. Therefore, they will be used as different libraries. Following diagram depicts the concept. As you can see, the main difference is there is no single entry point from transport to Ballerina run-time as each transport will have its own MessageProcessor. To begin with we thought of working on HTTP Transport and Websockets transport. Will send another mail explaining the required changes in HTTP and Websockets transport to support the new concept. [1] https://github.com/wso2/carbon-messaging -- Regards, *Shafreen* Software Engineer WSO2 Inc Mobile : 077-556-395-1
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
