I had an interesting telephone conversation with Philip Boxer recently about the potential growth of SOA and Enterprise Architecture. We agree that there are some limitations to what these things can do, at least as they are currently practised. We've both got ideas for additional concepts and techniques that could be added, to cope with new classes of problem and greater degrees of complexity, and Philip is now working at the SEI to develop some of his ideas further.
The question is - would an extended SOA still count as SOA. Would an extended EA still count as EA? I tend to think it does. When I talk about the future potential of SOA and EA, I think this includes all the conceptual and practical extensions that could possibly be imagined. (Of course, that's not to say all this potential will be realised.)
Obviously I have to be careful not to confuse SOA (to-be) with SOA (as-is). When I am advising people what they can do with SOA today, I am mindful of what is achievable at the current state of the art, but I also think it is useful to consider how SOA (and SOA-based solutions) may evolve.
But Philip cautions me not to extend SOA so far that it becomes an entirely different animal. In his view, there are some classes of problem that SOA will never be organised to manage, something else is required. This ‘something else’ is the way the user organizes and aligns their use of services – what we might call processes of collaboration. I am tempted to regard that something else as another extension to SOA, but Philip thinks this is to lose the essential usefulness of SOA – to provide services with the greatest possible scope as economically as possible.
There is a related question here - how well established is the prevailing notion of SOA. I think that's an important dimension of technology maturity by the way - not the maturity of organizations using SOA (which is the subject of various SOA capability maturity models) but the maturity of SOA itself. A mature technology doesn't have people arguing about what it's all about, it just has people getting on and using it, what Bruno Latour calls a black box. (This notion of maturity is nothing like the same as the Hype Curve.) Mature technologies remain pretty stable until some disruptive innovation comes along. But when a technology is immature, there is an complex shifting pattern of many different innovations, and it doesn't make sense to single out any one innovation as "disruptive".
So if I consider some future extension to be part of SOA, I am assuming that the exact boundaries of SOA won't be widely agreed any time soon.