Yes, I took that approach and have had it working well in production for over a year now. The Utility layer of the service inventory has 1) a Notification Service (supporting inbound and outbound email, fax, sms); 2) A Blob Service to handle storage and retrieval of all binary objects (this started out as the ImageService but now has FileSystem as well as SQLServer data factories, plus rich support for file translation build in, eg. PDF to TIFF, HTML to PDF etc), 3) A Log Service for all auditing and exception reporting, and 4) A federated Single-Sign-On service. The Entity layer of the service inventory has a service for each major entity and these call the utility services as required. Note: As I needed high scalability in a load balanced environment, I changed the InstanceContextMode to be PerCall rather than Session based, and changed the security model to use Windows Identity Framework.
Dec 13, 2010