Buddhima Wijeweera interned in the Technology Group - Integration team at their department of Computer Science & Engineering. Their two internship projects were to create a resequencing message processor and a JDBC message store for the ESB. The resequencer is a message processor that sends messages out in the proper sequence by preserving the order, as the ESB currently processes messages through different routes that change the original order. The implementation finds the starting sequence number and manages the flow of messages through the proxy, in-sequence, message store selected by the resequencer, and to the endpoint.
2. As An Intern I’m Working For
Technology Group – Integration
Team - ESB
3. Internship Projects
Create a Resequencing Message Processor for ESB
Create a JDBC Message Store For Synapse
4. Resequencer
What is resequencer
What is currently happen
Requirement
Implementation
How it works
5. Resequencer is
A message processor in ESB
Sending out messages in a sequence
Preserving the order of sending messages
6. Current situation
ESB gets messages
Mediates in different routes
All routes are not similar
Order of messages after processing is different
Endpoints send messages to services
7. Requirement
At some point in ESB messages should have the order
Implement the Resequencer Enterprise Integration Pattern in ESB
Link: http://www.eaipatterns.com/Resequencer.html
8. Implementation
Finding Starting Sequence Number
Flow of Messages
10. Flow Of Messages
Proxy
In-sequence
Message Store
Selection done by
Resequencer
Rest of processing
Endpoint
11. How it works
Messages mediate through ESB
At some point messages fall in to a message store
Resequencer attached to that store do a linear search on the
sequence number inside messages
If it find out the message with the sequence number it expects,
handover that message to respective sequence
13. Special Advantages
Depends on current Message Processor implementation
No special kind of store is needed
Resequencer has an in-built algorithm to identify starting number
Sending to a sequence enables user to do more with selected
message
More options to configure process
14. Limitations
Currently can be applied with an In-Memory Store
To avoid this new project on creating a JDBC Message Store support for
ESB has begun
15. Test Automation Period
ESB Test Automation
Conditional Router Mediator
Filter Mediator
In mediator
Validate Mediator
Scheduled Message Processor
Client Patch Automation
Checking nhttp support
Persistency of message processors and stores
Fault Message validation
Service WSDL through proxy