>A while ago I asked Udi Dahan about his view on exposure and discovery of enterprise services.
My original Q:
"Do you have any best practices/real life examples on how to expose/discover enterprise services? (both internal and external services)
Naming conventions? (eg. [company].[Department].[SomeName]??)
If not using an ESB, what are the options for discovery and what do you prefer? (DNS? , UDDI ?)
If using an ESB how do you go about? , Best Practices?"
Udi answered this with a podcast
I agree with Udi that using asyncronous messaging patterns with a logical "middelman"/topic in between producer and consumer will simplify the "exposure" part of the problem to the simple matter of deciding on a name for that topic. The advise here was to go a bit deeper (even as deep a separate topic for each messagetype) to get better control and monitoring of service activity. I like the idea and will definitly try to go down this road in some upcoming SOA-project.
As for "discovery" this is mostly a design time issue so this should not be performed runtime but instead be controlled using SOA Governance .