Hi,

Since the existing implementation of MS/MP is quite un-maintainable, we
thought of revamping the existing implementation.

Link[1] contains the rough component diagram of the existing MS/MP
implementation. According to this design most of the work is done by the
MessageStore class. It was implemented with basic queue operations and act
as a proxy to the actual message stores such as in-memory-maps and
JMS-Queues. However, this design didn't cope well with scenarios such as
reliable messaging. For example, we came across a lot of integration issues
while we were testing ESB-4.7.0 with WSO2-MB.

Moreover, though message processors are implemented using Quartz, the
existing implementation hasn't utilized it's APIs to the full extent.

In addition to that current implementation is implemented basically
focusing on SOAP messages. And In the current implementation none of the
endpoint functionality is supported (security, RM, etc.). Only the Address
endpoint type is supported. Endpoint types like Http Endpoint is not
supported.

link[2] contains the rough component diagram of the new implementation of
MS/MP. New implementation is designed with a view of message producers and
message consumers. As this makes easier to implement the requirements
associated with store-and-forward concepts. According the new design
MessageStore class act as a Manager and provides consumers and producers as
required to message processors and mediators in contrast to providing
methods to do queue operations. Along with this design following are the
tasks we are planning to complete.

   - Re-implement JMS message-store and JMS message-processor interfaces
   - Proper connection handling
   - moving classes to synapse
   - Utilize Quartz in a proper way
   - Fixing UI issues
   - Unit/Integration tests
   - Supporting all types of messages (Anyway,
   existing implementation already supports most of the message types)
   - Improve RESTful integration
   - Support endpoint functionality (Security, RM etc.)
   - Support Address, Default, WSDL, Http endpoints

We have broken-down the implementation into three parts.

Implement Message Stores (Ishan)
Implement Message Processors (Shafreen)
Implement stuff related to sending messages out from the ESB (Isuru)

We are planning to complete the core-implementation within this week. In
the following week, we are going to do a comprehensive test against the new
implementation.

[1]
https://docs.google.com/a/wso2.com/drawings/d/1U8z_rWaI8tRw6i6iDHtX6S_g0_BxgLLC3HfIS6Iyd5E/edit?usp=sharing

[2]
https://docs.google.com/a/wso2.com/drawings/d/1AYKL9T3bDqQxH8Ik4pbb0GDoznyQAiAPrIwVVZFzZHQ/edit?usp=sharing

-- 
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

Reply via email to