I’ve been working on a major report on this topic:
Title: Building Interoperability And Federation Into Your SOA Platform Strategy
As large and heterogeneous enterprises reach greater SOA maturity, enterprise architects often find that different business areas or domains need different things from an enterprise-level SOA platform. Accommodating these requirements may require architects to segment their SOA platform strategy and build in an extra level of interoperability and federation between different SOA domains. SOA platform federation may be driven by heterogeneity of SOA infrastructure and products across domains, but can also occur in a homogeneous platform that is configured differently for each domain. Architects should separate true business requirements from accidents of history which may reflect weak architectural governance, decide which patterns of interoperability and federation are truly necessary, and then expand the SOA platform strategy to accommodate these requirements.
One of the things I needed to do in this report was define SOA federation. In researching the report (mainly by interviewing six SOA architects in IT organizations, and also a few key industry thought leaders like Marc-Thomas Schmidt at IBM, Miko Matsumura at Software AG, Hub Vandervoort at Progress Software, and some folks who worked for BEA at the time, but are no longer there), I learned that there is some overlap and confusion between the definitions of interoperability and federation. So here’s what I came up with in the report, working with Randy Heffner and Larry Fulton to refine the definitions, and also taking feedback from the folks I interviewed, like Skip Snow:
SOA interoperability is the ability of SOA services and infrastructure to seamlessly work together, through the exchange of information using common formats and protocols, which may be accomplished, at least in part, using mediation.[i]
SOA federation enables multiple domains of SOA services and infrastructure to interoperate, seamlessly and transparently across an entire enterprise, by delegating among these SOA domains responsibilities such as service location, security, activation, mediation, policy enforcement, ensuring high quality-of-service (QoS), and many others.
Of course, you may need to read the whole report before you can really comment, but I’m interested, what do you think now, just based on this language? What do you know about SOA federation? And what problems have you been encountering from a lack of federation, from the Balkanization of your SOA into a bunch of SOA silos?
[i] IEEE defines interoperability as the ability of two or more systems or components to exchange information and to use the information that has been exchanged. Institute of Electrical and Electronics Engineers. IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries.