I want to thank Joe McKendrick, who is a fellow blogger and thought leader for recalling the statement that I made several years ago that SOA is good enterprise architecture (EA), and perhaps EA should be SOA. "Dave Linthicum predicted a couple of years back that SOA would be absorbed into EA. SOA is just good EA, he said. Has Dave's vision come to pass? Is any discussion of SOA automatically a discussion of EA, and perhaps even the other way around as well?"
While it's a bit scary to have postings/statements from two years ago brought up again, I still stand by that one. Many consider EA as a management discipline, and a way of planning and controlling, and SOA as a way of doing or a simple architectural pattern. However, I view EA as a path to good strategic architecture, where the technology aligns with the business. You can't do that without a good approach to dealing with the technology, and SOA is clearly the best practice there. Thus, good EA and SOA are no different in my mind, and SOA and EA are bound to merge conceptually. I think that is coming to pass today.
This kind of thinking has a tendency of flying in the face of traditional notions around EA. You know how it goes, some enterprise architect sits up in an ivory tower and creates presentation after presentation around platform standards, governance, data standards, MDM, ..., you get the idea. Typically without any budgetary authority, which means no ability to control anything. The end result is architecture-by-business-emergency, where stovepipe systems are tossed into the architectural mix, as the business needs them, with no overall strategy around how all of this will work and play well together over time. Agility dies a slow death.
So, traditional EA is dead, but long live EA with the concepts around SOA where there is some deep thinking around how enterprise IT assets will be addressed as sets of services that can be configured and reconfigured to solve specific and changing business problems. This gets to the value of agility, where IT can actually move to solve core business problems in a reasonable about of time. SOA is good architecture, and good architecture should be a core notion of EA. Thus, EA should be SOA, and SOA should be EA. I'll stand by that one.