A non java client needs to invoke my java application. Suppose the Java application doesnt do much in terms of data sent to and fro between the client and the server. I want my application to have 1. high performance and 2. low response time. I also expect a 3. huge volume of transactions. What are the pitfalls there might be if I decide to go ahead with implementing my Java Application as a Multi threaded server program ? What are the choices I have . Am I mistaken in thinking that if I go ahead with a solution like using a Webservice it will have performance issues when compared to my simple solution? My simple solution in fact aims to solve a simple problem eg - maybe query a database to return a true or false to the client.