Well as you all will know is that basic components in a SOA are services that provide a service. Other components in my humble view are orchestration (composition of services) and a communication infrastructure to provide in messaging between services. Optional components like Business Activity Monitoring, Business Intelligence, Business Rule Evaluators or Security and so can provide in more desirable or needed functionality given specific situations.
Services are building blocks of a SOA and provide a specific predetermined function that adheres to open standards like WS-*, which dictates what service requirements are in case of interoperability, protocol and message format.
Orchestration is a composition of services to create a new set of functionality. This is not just a gathering of two or more services, but adding logic to for instance validate if services can be called to do work. Processes are in fact orchestrations and are not the same as service composition. Services communicate with each other through messages. So there has to be an infrastructure to provide for reliable and timely delivery of these messages.
Inside communication infrastructure routing and transformation are important identifiable components. Routing adds functionality to communication infrastructure, whereas messages can be delivered to proper service, version and/or implementation of a service. Routing can take place on content through body info of the message or by message through header info of the message. Transformation component can add functionality by means of translation of one message structure to another.
Looking at the next level from communication infrastructure is orchestration, which bears components like services of course and workflow for instance. Human workflow is interaction with end-user of a process. Workflow its self is a compilation of a set of activities.
Looking at this general story of SOA components one can map them to the Microsoft Software stack. BizTalk provides components like communication infrastructure, where one can route and transform messages. Orchestrations can be designed and implemented inside Visual Studio, where they can be compiled to assemblies which can be hosted inside BizTalk Server. Human Workflow will be provided through .NET 3.0 Workflow Foundation and can be developed yet again in Visual Studio and hosted inside Internet Information Server (IIS), or Microsoft Office SharePoint Server (MOSS). BAM, BRE are also components that can be acquired through BizTalk Server Product and Security can be setup through Windows Operating System, System Center (Monitoring, etcetera). So role of BizTalk Server in a Microsoft based SOA is huge, since it can provide a lot of components to create a SOA.
technorati: SOABizTalk 2006
Labels: BizTalk 2006, SOA