For POJO applications that need to use RMI, or other lightweight remoting technologies such as Spring HTTPInvoker, or Hessian for example...
I have several applications that expose these types of services via interfaces in their business layer. The applications provide the service implementations, and allow any client application to invoke the service remotely through its interface.
My question is: what is the best way to get the actual
Java interface into the client code so that it can use it to invoke the service?
Should the service implementator .jar up interfaces for clients? Then have the client include the .jar in its build?
Or, should a version control system (like SVN) utilize "external" links to automatically import service interface code into it's own codebase?
Or, other?
What I'm worried about is needing to recompile many client applications when a service interface changes...
Any ideas?
I'd also like to hear any comments re: the flip side of the POJO coin (
EJB).