Some people I work with find it confusing to understand what is the overall Microsoft's solution for SOA?
Well, the answer is that Microsoft has an extensive set of solutions for SOA that are comprised of technologies, products and even methodologies. The purpose of this post is to show an answer to this question by presenting a framework that combines all the different solutions Microsoft has for SOA. The frameworks presented in this post can set a useful tool for an organization that tries to understand the SOA puzzle and Microsoft's answer to it.
The first framework is the SOA Capabilities Framework:
A master set of capabilities that an organization might look for when they wish to become service oriented. This framework has two levels of detail seen well in the figure.
The first level of detail contains the Top SOA Capabilities such as application services, integration services, service oriented infrastructure, service composition and business process, UI & presentation services, design & develop, security, governance and methodologies.
The second level of capabilities that is the Detailed SOA Capabilities contains the smaller boxes. For example: Inside the Service Oriented Infrastructure top SOA capability, we have service bus, dynamic routing, registry etc. as detailed SOA capabilities.
Browsing through this framework can help us decide what are the capabilities we need and by that the organization can plan its roadmap to SOA. Every organization and every project might need a different set of capabilities and might decide to search for solutions to only part of the boxes in figure A.
Figure A – SOA Capabilities Framework – Top and Detailed SOA Capabilities
The second framework is the Microsoft's SOA Solution Framework:
This framework can be mapped quite easily to the capabilities framework by providing at least one answer to the capabilities shown in the capabilities framework. In this framework, one can see all the different products, technologies and methodologies that Microsoft provides with its ecosystem of partners and 3rd party solutions.
The building blocks in the framework include different types of solutions:
- Existing MS solutions - e.g., BizTalk, ESB Guidance, WF, MOSS, WCF, WF
- Future MS solutions - e.g., "Dublin", "Geneva" Server and "Oslo"
- Partner Solutions that integrate with the above products – e.g., Agile Point, SOA Software, Amberpoint
Figure B – Microsoft's SOA Solution Framework – Products, Technologies and Methodologies
So, the best way to use the frameworks is:
- Decide which capabilities (top level and detailed) are relevant from the SOA capabilities framework.
- Prioritize the capabilities to see which are more urgent to implement
- Check which products, technologies and methodologies from the Microsoft Solution Framework map to the selected capabilities.
- Implement according to corresponding priorities.