<< July 7, 2006 | Home | July 9, 2006 >>

Web Services Standards

It's getting close.

(I saw this on Panic From Fuzzy.)

I have a couple of these posters on my cube wall. This one looks somewhat complete. There are 62 little boxes that cover roughly what J2EE or CORBA covers. That sounds like a lot of stuff to learn. However, most of these stuff have a counterpart in previous generation, mature, technologies like CORBA:

WS-*CORBAJ2EE
XML CDR HTML
Schemas IDL structs Java type system
SOAP GIOP HTTP, JMS
WSDL IDL Java interfaces
WS-Transaction OTS JTA
UDDI Naming, Trading Services JNDI
WS-MS ? JMX
WS-BEPL UML 2.0 JBI
WS-Security CORBA Security J2EE Security
WS-Transfer DDS java.lang.Void
WS-Notification Notification Service JMS

So if you have been doing distributed computing for a while, none of these is big news to you. Note also that most of the standards are still in draft form. There will be some consolidations of the specs as implementation experience grows.

The hope is always that the specifications will stabilize, implementations will be more complete, and tooling will catch up. And for a while we will have a set of standards to work against, using tools that make doing everything easier.

Until Microsoft (or should it be Google this time) decides that they don't like it, and does something even weirder. "Web Services is dead," they would then claim.

And we would start all over again.

Actually the next round of things have already been started. It's called AJAX. And at its core is a better XML called JSON:

{
  "glossary": {
    "title": "example glossary",
    "GlossDiv": {
      "title": "S",
      "GlossList": {
        "GlossEntry": {
          "ID": "SGML",
          "SortAs": "SGML",
          "GlossTerm": "Standard Generalized Markup Language",
          "Acronym": "SGML",
          "Abbrev": "ISO 8879:1986",
          "GlossDef": {
            "para": "A meta-markup language, used to create markup languages such as DocBook.",
            "GlossSeeAlso": ["GML", "XML"]
          },
          "GlossSee": "markup"
        }
      }
    }
  }
}

And believe it or not, the thing is a JavaScript object. We are back to putting objects on the wire again.