In the IT world, acronyms and buzzwords come and go really quickly, with only the well-received ones persisting. Service Oriented Architecture (SOA) is one such example, and apparently there’s now an evolved version called SOA 2.0, coined at the JavaOne Conference not too long ago. From what I understand, SOA 2.0 leverages off SOA by incorporating Event Driven Architecture (EDA).
In very simple terms, SOA is an architectural style that models business processes as web services and consumed by interested parties using request-reply messages. However not all business processes fit into such a mold. For example, consumers (front end clients, software components, etc) are also interested in getting business events (alerts, notifications, data and state changes, etc) from the services and responding to them accordingly. This is where EDA comes into the picture.
I believe that this concept is not new, programmers have done event-driven programming for ages, except EDA is implemented on a much higher-level where loosely-coupled communications between business components and other software modules (internal or external) can be realized.
I can’t deny that SOA 2.0 sort of makes sense as it fills the gap that SOA failed to address. As a person that’s always been more keen on details and implementation, I started thinking about how the Microsoft platform can support EDA out of box. What comes to my mind would be using WCF Callback Services to create a Publish/Subscribe eventing system. However due to HTTP’s connectionless nature, we can only use WSDualHttpBinding to create this callback mechanism over HTTP. I suppose this rules out WCF RESTful services as a means to support EDA.
Is SOA 2.0 here to stay? Only time will tell.
|Share this post:|