02/15/08 :: [SOA] SaaS: CRUD-Oriented Architecture - II  [permalink]

|

Well, it did not take long to find a post echoing some of my concerns about SaaS (albeit expressed with a lot more talent). Greg Olsen CTO of CogHead wrote this post that substantiates what I expressed here. A lot of the SaaS vendors jumped head first into building their SaaS offering on CRUD-oriented architectures. Creg claims:

We are now at point where implementors of SaaS capabilities are being disrupted by newer SaaS capabilities. Services that are built largely from other services are a reality, and offer many clear advantages.

Wow? why didn't I think of that before? Sorry, I really don't enjoy being sarcastic, but can you not be? You keep telling people the problem is CRUD-oriented architecture and they don't listen, they even flame you sometimes (and I don't even tell you what they are trying to do to you). But the reality is as long as people will be CRUDing around, we will drawn in the same architectural vortex we have been almost ever since information systems landed on a computer (computers are really good at computing -if you know what I mean). You want a proof that people are still CRUDing around? look no further than Joe Gregorio's latest post on how to do RESTful partial updates. The comments are hilarious, including the discussion with James Snell. We are now down to "a variable is a resource" argument. It really reminds me of the pi-calculus days when Assaf and Howard Smith were marveling at "a variable is a process". This is also reminiscent to Steve Vinoski's uniform interface incantations.

Guys, wake the f--- up, without a composition model you are doomed, as doomed as the first generation SaaS vendors. It should not take a rocket scientist to figure that out, but I guess it does. Greg continues:

The move to SaaS applications built on SaaS is a much more profound shift than the move from on-premise applications to SaaS applications.

By leveraging service options like Amazon’s EC2 and S3, a small company can deploy a complex, highly available and scalable multi-user software application — without huge upfront investments in hardware or software infrastructure. Likewise, a very small company can build a simple, narrowly focused service and can cost-effectively sell it to a mass audience. Neither of these companies would have been possible only a short time ago.

A new software service economy is rapidly unfolding and is causing disruption in the software industry. Ironically, some of the first victims of this new economy may be some pioneers of the software-as-a-service movement.

CRUD oriented architectures are a thing of the past, on-premise or off-premise. The ones left without a composition model will be immediate casualties. REST will not have time to adjust to this wave of services coming our way because no one in the REST community is thinking about composition other than at the presentation layer, nor people will have time to build these services in a RESTful way. Common guys, even Joe can't write a URL without a verb in it.

Consumption via composition is the only viable model.