I'm asking this best-practices question on behalf of a customer.
They have a Caché-based application, and an Ensemble production deployed in front as an ESB to provide web service API access to the back end application. They're looking for a best practice approach for the scenario where the Caché back end is calling a third-party web service. Should that go through Ensemble too? It's sort of a philosophical design question/debate.
The current approach without going through Ensemble would be for Caché to import the service WSDL into proxy classes and invoke those directly from the application code. If the answer to the above question is yes (third-party WS calls SHOULD go through the ESB), what is the best way? One option would be to invoke a restful service in Ensemble from the Caché app. Another would be to expose a web service from Ensemble. That would mean both Ensemble and the back-end application would have to import a WSDL.