« Paste XML as Serializable Type | Main | My MIXperience: Don MacAskill »

2007.05.03

Some Interesting History

Here's a little bit of fiction for you, with a prefaced disclaimer. I'm not anywhere near claiming that these thoughts are moderately well-formed.

"Hey, this web stuff is cute. OK, back to the real stuff. [CORBA, DCOM], anyone?"

"Hey, what the !*@&#^#? I can't connect my [CORBA, DCOM] over the net. Hmmm...."

"Hey! If I could just go through port 80, I could connect my [CORBA, DCOM] bits over the internet. Cool!"

"HEY!?!?! Why is this firewall looking at my content? Argh."

"Hey! What if, instead of IIOP, I encoded this stuff as XML? It'll be slow, but .... COOL!"

 "Hey, what would be great is if I had a generalized envelope so that I could add in a bunch of orthogonal features like transactions and security and reliability! But what to call it? ... How about, um, SOAP? Cool!"

"Hey. What would be great is if I had a nice, generalized OM for distributed programming that sits on top of all of this infrastructure so that I can almost transparently switch between programming models and stuff. That's be cool! I'd rule the world! What do I call it? Hmmm.... how about, um, 'Indigo?' Cool!"

"Hey -- how the $&%^% to we do HTTP GET?"

D'oh. I find this interesting. So, basically, at the end of the day, there is a baseline understanding of how the web was designed and currently works that was largely ignored/dismissed in the soap world and specifically in the Connected Systems Division until this Biztalk SDK. Many of us, myself included, drank to kool-aid on soap early on, because we wanted to connect systems together, and we liked messaging or we liked distributed objects, and we didn't stop long enough to grok fully the web. As I did more web stuff, I realized that I didn't really care about a lot of the stuff that was layered into the SOAP/WS stack, and I did really need and love the beauty of GET and friends.

Do we need SOAP? Sometimes. Maybe. It is nice for layering in security when transport security isn't good enough.

Do we need contracts? Sometimes. Maybe. It can help make the services and resources more accessible to the broad mass of developers. But in many cases, the service provider ships SDKs as well, and that makes the contract less necessary at the expense of coupling. Also, you often get a set of examples of documents, and you just 'hack something up.' Often, the contracts that are already out there (HTTP, RSS/ATOM, etc.) are good enough.

So, it is interesting to me to watch guys like Clemens Vasters and Don Box (and Steve Maine, though I think he was less heavily involved in 'expectorating' the WS-splat and a lot more heavily involved in consuming and evangelizing prior to getting into the big house) starting to shed the WS-Splat baggage and just GET it. And I think that they are being pragmatic about it and trying to scratch the 80% itch (GET) really well, but they are adding in a decent set of support for the REST (ha, pun, ha ha, er, um...) of the story without being to religious about being RESTful. And when questions come up like [paraphrased] "Well, shouldn't you layer soap into that?" they look very relaxed and calm as they say [paraphrased] "Nah, you're not going to need it here." From the outside, it looks a little cathartic.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83451806669e200d834febf5453ef

Listed below are links to weblogs that reference Some Interesting History:

» Design for the real world from Bill de hÓra
Jeff Newsom: "I find this interesting. So, basically, at the end of the day, there is a baseline understanding of how the web was designed and currently works that was largely ignored/dismissed in the soap world and specifically in the... [Read More]

Comments

"Do we need contracts?" Always. The misunderstanding is in answering "what is a contract?" Design-time checked overspecifications are not the only form of contract. For example, the HTTP spec is a contract. The Atom Protocol spec is a contract that builds on that. If I were to build an order management system on top of the APP, I could give you a specification that builds on APP. As you noted, an "SDK" or even just "a set of tests" is often a sufficient executable format for those contracts. Given my order management spec and a reasonable set of tests that excercise it, developers should not have any trouble using that order management system.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Comments are moderated, and will not appear until the author has approved them.

November 2008

Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
Blog powered by TypePad

We Like