Excerpted from DomainDrivenDesignBook
Problem: When a subsystem has to be integrated with many others, customizing a translator for each can bog down the team. There is more and more to maintain, and more and more to worry about when changes are made.
Solution: Define a protocol that gives access to your subsystem as a set of
Services. Open the protocol so that all who need to integrate with you can use it. Enhance and expand the protocol to handle new integration requirements, except when a single team has idiosyncratic needs. Then, use a one-off translator to augment the protocol for that special case so that the shared protocol can stay simple and coherent.
OpenHostService is mentioned on: MessagesByTopic