title: Scalabilty of Java middleware between Core banking and ATM Server
body: <p>I have a requirement to build a Java module which will act as a router between ATM Server or any other Point of Sale which accept cards, and a core banking system. 
  This module should interpret requests from the end points and do some processing before it communicate with the core baking system. The communication will be through the java implementation of TCP IP Sockets. The end points like ATM will be the server &amp; this middle ware will be the client. This application will keep on listening for the server messages &amp; should be capable of interpreting simultaneous requests in range of 1k to 2k.</p>
  
  <p>The idea is to have one client socket thread listening for server messages and handle each of the received messages in different threads. Is there any issue in my basic idea? </p>
  
  <p>Is there is any open source application available to cater my requirements?
  Thanks in advance for your advice.</p>