Hi Bob
We are currently investigating options for migrating our existing
software solution towards an ESB, with a particular emphasis on
asynchronous IO.
Our system is essentially a switching router, accepting requests over
HTTP(S), and routing them to an appropriate service-provider.
Communication to these third-party providers is via TCP socket
request/response.
We are looking to maximise concurrency; by far the bulk of our
round-trip time is currently spent waiting for responses from these
3rd parties, so we are keen to replace our current process-per-child
model with one based on an asynchronous core, and Synapse is one of
the frameworks being considered.
Synapse already has a non blocking http/s implementation using Apache
HttpComponents-HttpCore/NIO, which gives it great performance.
However, my initial investigations suggests that there is not
currently a plain old TCP socket transport available. Can somebody
please confirm/deny this?
There was an initial raw TCP transport available with Apache Axis2, but
I have seen Andreas committing a better TCP/UDP implementation using NIO
being checked into the Synapse trunk in the last few weeks. Thus, the
combination of these two non-blocking transports will get you what you
are looking for..
asankha