I'm reading SOA with .NET and Windows Azure at the moment and I am wondering whether anyone has any advice (or experience) of adapting PatternsInAction to work with SOA patterns?
I am planning on doing the following:
1. Create a Service Application for the utility services
This will have services for centralised utility functions (e.g. logging, sending Emails).
2. Create a Service Application for entity services
Have this service for all agnostic functions related to my domain entities (e.g. GetCustomer() )
3. Create a Service Application for Task services
This service application would contain all services with non-agnostic functionality (basically acting as an aggregator of the entity and utility services required to carry out a specific part of an actual business process).
I am also wondering where to best incorporate Validation Abstraction?
Any comments or suggestions would be very welcome!
James Edwards, Nov 16, 2010
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