As the phrase and philosophy of “Experience Oriented Architecture” (XOA) is capturing attention in the halls of San Jose at Adobe, particularly amongst our technical services organization and enterprise business unit, I find that I want to more concretely define what I mean when I think about XOA. It’s leading to a lot of interesting debate and dialogue that is promoting some of the SOA conversations of old, to XOA conversations of new…coarse grained versus fine grained, loosely coupled versus tightly coupled, etc. So let me share some of my own thoughts, on what traits define an architecture as “Experience Oriented”.
Let me start from my original premise – that of XOA as a way to address some common failures of SOA initiatives by taking a more user-centric approach to driving out services and architecture.
Addressing the SOA failure of reuse with XOA
So one of the cited failings of SOA initiatives is the disappointment in the ROI that was anticipated around re-use. SOA contends that by driving out a service tier, these services will be reused by developers across different projects. However, this is tightly coupled to another SOA challenge — too fine grained a service, and the reuse is wrapped up in a whole bunch of bespoke effort, too coarse grained a service and the reuse doesn’t happen because of the specificity of the service. The tension between fine and coarse-grained services is palpable.
So here’s the first traits I see for XOA:
- Coarse Grained Experience Components
- Implicit Choreography and Orchestration of Fine Grained Services in the SOA tier
I’ll take them up in another post; though I’d appreciate your thoughts and comments…