As seen by the Transport API Review page, most projects have very similar concepts in dealing with their messages and flows. There are many advantages if everyone used the same API:
- Reusable transports across projects - For instance, if I wrote a TCP transport, it would then work in ServiceMix, Tuscan, XFire, Celtix, etc
- Reusable interceptors across projects
- Less duplicate code
- Improve project cross pollination
- By standardizing on an API, it may make it easier for people to contribute to the additional projects - provided we can write some documentation.
(For lack of imagination, I titled this Universal Transport API for now - DD)
- A message concept which isn't tied to any particular representation
- A message exchange pattern representation
- A way to interact with Sessions that might be tied to transports?
- An interceptor/handler architecture