This is a design question.
We are implementing a REST-ful Web Service in Java, and our design will separate the thin service layer from the domain layer. Our domain layer can be encapsulated in its own .jar because it is completely separate and unaware of the service layer. The service layer will be servicing some of our non-Java clients, and I want to know, is it poor design to allow Java clients to directly use the Java API? In my opinion it isn't necessary for the Java software to go through a web service, but one could argue that the web service is a more standardized interface and all software should go through it. Can I have some reasons for or against allowing Java clients to directly use the domain layer API?