REST is the best, SOA can go away!

2 thoughts on “SOA

  1. Tim Holmes

    I don’t agree. REST is resource oriented which tends to lead to a mediation layer (== to presentation layer in Web design). Stuff beneath this layer needs to be organised, governed and a service orientated approach can help do this depending upon the complexity.

    So you probably need to qualify what you mean by SOA.


    1. bryandollery Post author

      HATEOAS is resource based. REST is, typically, a mix of resource access and RPC.

      By SOA I mean the architectural patterns usually associated with service delivery and discovery. I understand that there is a need to deal with legacy applications in the enterprise, hence patterns of enterprise architecture, which primarily deal with patterns for enabling legacy systems to be treated as services by homogenizing them and registering their interfaces and protocols in a registry. However, for the most part this is academic and organizations generally continue to report poor return on investment for this architectural nirvana.

      The internet is the most successful architecture ever invented, and beyond a really basic protocol there is almost nothing to it. No central registry for interfaces, no homogonized data formats, only ad-hoc and rapidly changing rest based interfaces. This simplicity of design is what has led to it’s success. It is easily accessible and plastic, and organizations that are adopting REST and HATEOAS are reporting great success, without harmonization and without all the formality that surrounds the SOA camp (of which I have been a part for many years).

      So, I think that SOA has largely failed, and that’s mostly because of its complexity and because a lot of the information that is trapped in legacy systems is largely useless anyway. In my experience, any really important service/data/software is redeveloped every decade anyway, and the tech staff within the company know of its existence without the need for a registry.

      I know that IBM would disagree vehemently with this because they’re currently writing systems that use WS-* in order to be automagically upgradeable, adaptable, and distributed, but the internet is bigger, better, and stronger, and has never needed the level of complexity that IBM is throwing at this problem.

      Anyway, I wasn’t being serious Tim 🙂



Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s