It’s nice (and humbling) to know that people read one’s blog. I got a note from a reader that said:
“I understand that SOA is more concerned with business services integration and EA is concerned with dealing with enterprise-level infrastructure and business components.
If you could, would you be able to provide a brief definition of them both in your own words that clearly distinguish the differences? (that’s different from my one?)”
Good question. SOA, I’ll give it a try (forgive the pun). This is strictly off the cuff, my cuff, recognizing that there are plenty of places to dig up various definitions of the two.
Enterprise Architecture – The documenting and mapping of corporate strategic initiatives and strategies to the technological underpinnings that need to be in place to optimally deliver on those strategies. What makes EA more than an intellectual or academic exercise is that it provides the governance scaffolding to ensure that the required work gets done to plan and deliver on required/key IT products/services/capabilities. Importantly, EA is not focused on any one technology or technology bucket in isolation, but how they work in consort to ultimately provide business capabilities.
Service Oriented Architecture – An architectural approach to creating software applications and system integrations which focuses on the notion of Services; reusable software components that leverage open standards. This provides a vehicle for companies to create applications more rapidly than ever before through composite service assembly/orchestration. Because they are Service-based, they are, at the same time, more flexible. Though SOA itself has nothing to do with any specific technology (it is architecture and an approach), Service creation/assembly/orchestration is often enabled through technologies such as Java, XML, and Web services.
Is that useful?