Question or it. The most appropriate may be anything from a bare socket from java.net.* and custom serialization, and to JMS or Akka. The bad news is that no one, including the author of the question does not know what is really needed )) according to the uncertainty of the question, such as "between two jar applications", it seems, at this stage of development for several early search for ready-made "libraries for data exchange". First you need to formulate the requirements to the Protocol and, in fact, to define it... what data, under what conditions, between what, on what networks.