I had a similar requirement a year or so ago that I fulfilled with POE: we had a huge distributed EJB system that had constant, difficult to diagnose TCP/IP problems and just would not scale well. I replaced the vile binary JMS and EJB communications with a simple ASCII protocol (that was human-readable), turned the server into a client (in TCP/IP terms) and in the middle, put a tiny ASCII chat server, hardly modified from POE cookbook chat server (http://poe.perl.org/?POE_Cookbook/Chat_Server). The communications were just like a chat room system with individual client systems joining the conversations or "rooms" they required as data feeds. As far as I know it's still running today!