07/05/08 :: [SOA] Remoting is Dead [permalink]
Steve Vinoski killed remoting in his latest column. He finally understands that programming constructs such as function or method definitions are not semantically adequate to define inter-action contracts across a connected system. This is why everybody abandoned these constructs almost a decade ago and focused on a "contract-first" approach when implementing their Service Oriented Architectures. This is where the value of XML technologies, including XML Schemas, Web Services, including WS-Policies, come to play. Do they represent the perfect contract definition tool box? Hell no, but because of the remoting bunch (that includes Steve) we still don't have a reasonable commonly agreed inter-action contract definition language. ebXML had a decent one, and we could have adopted similar principles years ago in the Web Services space, if only the remoting bunch had any clue about what they were doing instead of focusing on "interoperability" only.
It is because of people like Steve that we had to bring the baggage of RPC into the realm of SOA. It is because of people like Steve (and other Remoting gurus that could not think outside of the CORBA or DCOM black hole) that we are where we are today, still stuck in a synchronous CRUD-oriented client/server programming model.
And what Steve has to offer today? Nothing at all, he is still confused about what "inter-action" means. He is getting closer: he gets that "asynchrony" is better than "synchrony". A uniform contract? No, surprisingly this word seems to have disappeared from his language. Even his rhetoric around Web Services and RPC has disappeared. That must be hard not to write about his favorite piece of boloney.
So, what did he use instead? Steve's advice is that:
[you] are better off with Message Queuing or RESTful HTTP, depending on the nature of [your] application.
How pathetic. People would be better off choosing between strings or shoe laces. In 2008, this is all the remoting bunch can do. They have miserably failed and have no where to go. They simply have no clue. no clue at all.
Steve, the day you will understand that an inter-action is leveraging a message inter-change capability you will have made a giant leap forward from the "contract-less" world that you would like us to jump into. It is not because the semantics of the contract were not adequate that you are better off without a contract. ebXML or Web Services delivered that capability but because of you and people like you we could not get standards, frameworks and products that fully expressed this idea.
There is simply no other way forward than replacing a corny Synchronous CRUD-Oriented Client/Server programming model by a modern Asynchronous Inter-Action Oriented Peer-to-Peer programming model.