Gregor Hohpe from ThoughtWorks talked about asynchronous messaging in TSS. It's informative. For example, Gregor identified 6 so-called root patterns:
- channel
- message
- routing. Loose coupling means making less assumptions so we also make no assumptions about where the message ends up.
- transformation. Wants to integrate with existing system? Try translator pattern; it's all about how to transform existing data.
- end point. End point is really the intersection between the messaging world and the object-oriented world - about how a Java application puts a message on the channel and how that connection point works.
- system management, to address common challenges of system management, debugging and monitoring.