- There are situations where a single message from a device may not make sense to the enterprise application. The enterprise application might need a group of messages. One of these scenarios was discussed in a earlier blog on MQTT "Collecting messages from different sources - Energy use case" . The device measures temperature, humidity and light intensity and send them as separate messages. But the receiving application would need them together. A collector node can wait for those messages and collate those 3 messages and send a single message having all those three entities in the format required to the enterprise application.
- A simplified online ordering system is a very popular use case discussed in this article. This sample demonstrate how the administrative and the warehouse department processes can be integrated together with collector node. Another form of this sample is available in the infocenter.
- Collector node can collect messages for a set period too. If reports needs to be generated on a timely basis based on the messages flow, this node can be used. Let's say, a reporting application needs to run every hour in a order processing system. This reporting application needs to generate a summary of the orders that were submitted. In this case, a collector node timeout settings would help collecting all the messages and collate them and send it to the report generation application.
- There are scenarios where the retailer needs to order items from a vendor in bulk to avoid transportation costs. But the orders from the customers of the retailer comes at different times of the day. The order messages can be sent via a collector node which can collate all the order based on the vendor and generate a single inventory order that can be sent to the vendor. A timer node connected to the collector node can help in the implementation here.
- Tracking some unusual event which is combination of other normal events is yet another use case for collector node. Let's say the trucks owned by a courier agency keep publishing information about the location. Its unusual if there are 2 trucks in the same location within a period of one hour. Developing a application without using a collector node would involve lot of complexity around tracking and keeping record of locations for a period of time. Collector node would be a right choice here when used with correlation path and correlation pattern.
In summary, a collector node can help reduce lot of application development effort to store and retrieve data at various stages of a process. This just lists a small set of use cases, you can thinking of using WebSphere Message Broker and the collector node in it for several other scenarios