11/07/07 :: [SOA] Bill de Hora Responded to my REST Posts [permalink]
Bill responded to my post. Thanks BIll for putting so much effort but I won't respond in detail because we will never convince each other but I can convince my manager with what I wrote. I don't think I said things that were different than what Sanjiva said at QCon, though I can easily admit he did it a 100 times better.
I think he summarizes well the discussion between RESTifarians and the REST of the real-world:
I have to wonder about this kind of criticism - it's like criticizing a car for not being a boat - but why are you looking at cars?
Well the reason why we have to go through this kind of discussion is precisely because we need boats and the RESTifarians are trying to sell us cars for every transportation need. For them buses, airplanes and boats are useless since we have cars. When they will hit the water, they'll build a bridge. The REST of us are simply requesting to be left alone.
This is the same type of discussion I had with Nick Malick. Just like Nick, the RESTifarians come up with arguments that only hold in LaLaLand and the rest of us have to deal with the consequences. We, in the trenches, have to justify our choices (more complex and more expensive) to our employers and co-workers because someone wants to rule the world with a sub-optimal technology. Look at this post from Stefan taking notes on Steve Vinoski conference at QCon. No offense Steve, but if Stefan took notes from what you said, you sound just as good as an ESB salesman.
- REST is hypermedia, but not only suitable for browsers
- major difference to SOA: certain constraints to achieve desirable properties
- performance, scalability, portability, simplicity, visibility (ability to monitor and mediate)
- modifiability, extensibility, evolvability, reliability (handling failure and partial failure), failover, load balancing
- SOA guy: everybody wants those properties, including all SOA systems
As SOA has no constraints, it doesn’t help you there
This my version of an ESB salesman:
- ESB is middleware, but not only suitable for EAI
- can do SOA too with these ESB capabilities:
- performance, scalability, portability, simplicity, visibility (ability to monitor and mediate)
- modifiability, extensibility, evolvability, reliability (handling failure and partial failure), failover, load balancing
- SOA guy: everybody wants those properties, including all SOA systems
Bill's answer shows that we live in a complete different world. RESTifarians argue that :
a) if your favorite technology doesn't do what you need, you call a friend to write a post or a thesis and voila, you have a standard that everyone can use
b) modern application semantics are not necessary, constraints are enough
If you want to see the real mess that REST is going to get you into, please take a look at AWS. If you are Amazon or Google you can deal with this mess, if you are an IT organization you can't. IT is dying of all the hacks and tricks that have been invented over the past 15 years to fix an application model that is simply broken. For once we have application semantics (including REST) that enable us to construct composite software from reusable assets. RESTifarian are denying our rights to use what we think is the right direction for IT.
The funny thing is that even though you say (and think) that REST is great and should be used where applicable, this is not enough for these people. They want complete victory, eradicate the world from all form of middleware, HTTP rule. They can't even listen to themselves anymore. They are trying to sell you the "scalability' of the Web when hardly anyone need to build systems like this (except Amazon, Google and Yahoo). Is that a scam guys? are you playing the tail-head thing? are you trying to grab the tail and you will add the semantics as needed those very same semantics that are available today often at no cost? If this is your plan, I am disgusted.