The SOA Federation solution offers a particular set of capabilities delivered by a combination of an SOA Intermediary, an SOA Registry/Repository, an SOA Policy Management System, and an SOA Management system.
The SOA Federation solution can be deployed independently of, or integrated with any other SOA platform or Governance solution to provide a convenient service virtualization, mediation, publication and discovery automation solution.
Service Virtualization is the creation and hosting of a new service, exposed through an SOA Intermediary. This service has its own WSDL, interfaces, endpoints and policies, but rather than executing its own business logic, it invokes another service (the virtualized service). In many ways a virtual service is a proxy for a physical service, but with a wide range of routing, mediation, security, and other governance capabilities added.
An effective SOA Federation solution should offer a simple virtualization allowing users to rapidly create and host virtual services without having to write code, or create process descriptions. The virtual service should implement its own policies and be able to declaratively mediate between inbound messages, and the requirements of the virtualized physical service.
The capabilities of virtual service include:
One of an SOA Federation solution’s core strengths is its mediation capabilities. It should offer a range of mediations including:
The SOA Federation solution should be able to mediate between a wide range of standards, message styles (SOAP, POX, etc), MEPs (REST, SOAP, MOM, etc), transports (http, https, JMS), reliability models (WS-RM, WS-RX, MOM, etc), security tokens (SAML, Kerberos, X.509, session cookies, etc). Mediation should be enabled declaratively through the standalone intermediary based on impedances between inbound messages and the requirements, capabilities, and policies of the destination service.
One of things that is often overlooked, but is most valuable, about an SOA Federation solution is the capabilities around publication and discovery automation. The SOA Federation solution includes a registry/repository with built-in workflow processes to govern the ability of service owners to publish and virtualize their services, and potential consumers to request contracts for those services.
The SOA Federation solution should facilitate this process by providing both standards (UDDI Publish API) and UI/Wizard based mechanisms service owners can use to publish and virtualize their services into the SOA Federation solution. Of course, this is not enough. The publish operation should typically not actually result in the service being generally available, but rather should result in a request to the SOA Federation system administrators to approve the publication. Once the request is approved, a virtual instance of the service should be visible to potential consumer who can then request access to it via a consumer contract provision process (see below).
Optionally, the request approval process could be part of a broader SDLC governance process, and could be subject to compliance policy validation. These capabilities are more normally considered to part of a comprehensive enterprise SOA Governance solution, and should be available as an upgrade to the SOA Federation solution.
Of course, once services are published and available in a standardized way, consumers need to be able to find them, request access to them, and consume them with confidence that the services will meet their requirements.
The SOA Federation solution should provide a standards-based registry allowing application architects and developers to search and browse for services. Once they find a suitable service (suitability being determined by a wide range of factors from description, interfaces, schemas, service metadata, attached documents, policies, published service levels, and even actual real-time and historic performance and availability data) they should be able to request access to the service with specific service levels. This access request should be subject to a simple negotiation and approval process resulting in a defined, agreed contract between the consumer and the provider.