Tuesday, November 08, 2005

That thing called SOA

Yes, I believe (Service Oriented Architecture) SOA is a buzzword. Marketing departments use this as a punchline. Architects use this as convincing word to hire them or to believe them.

But really what is SOA? I think compared to OOP and AOP, which are programming-oriented, SOA is different altogether. SOA is both a collection of technologies (like AJAX) and it is also a paradigm, moreso, an idiom. SOA is there to enable consumption and reconsumption of reusable components, a.k.a. services. From my own point of view, true SOA can be achieved through the following:

  • J2EE

  • JSR 168 a.k.a. portlet/portal interoperability

  • JSR 181 a.k.a. Web Services metadata annotation

  • XML

  • BPEL

  • SOAP, WSDL, UDDI

  • Matured tools for development, deployment and administtration

  • Concrete and reliable AOP/OOP designs

  • ...and perhaps, RSS

  • ...and perhaps, with something more


It will really take some time before an architecture is a true service oriented architecture. It is not as simple as you have a set of classes and making the libraries available for reuse. Come on, this is already in place since the legacy mainframe/Unix days. True SOA is about maturity, both in the development process in the software itself. Got SOA?

You can find the original post and post comments here.