{{ This is a little long. If you don't want to wade through all of it,
cut to the summary at the end. }}
I have just read the current drafts.
Whilst I am impressed at the work that has gone into them, particularly
in the effort to turn parts of the ILU product into a formal standard, I
can't help wondering whether the world needs (or would benefit from)
yet-another-distributed-object-system standard.
The mux protocol looks good and, although wire-protocol design is a
little outside my immediate expertise, something of this nature may be
of enormous benefit to the web and the Internet. (At this point I expose
my lack of expertise in wire protocol design: I don't know how much of
the problem is already solved by HTTP/1.1.)
I believe however that if the W3C is going to pursue the standardised
use of a distributed object system, then casting aside the exising
knowledge, expertise, tools that are in widespread use in this arena
today is inadvisable. The OMG has spent a decade getting much of this
technology to a point where, whilst it is not in any technical sense
ideal, has very broad consensus and, in some cases, ISO recognition.
Granted CORBA has its limitations, but it's out there, it works, and a
large (and growing) group of people are driving it forward.
By way of forestalling questions about CORBA vs RMI vs DCOM. My CORBA
bias is likely to be known to some people on this list, but for the
rest, be assured, I believe that CORBA is a good thing and will speak
very much from that standpoint:
- I see RMI as a great thing for Java developers (yours truly included),
but don't imagine that Java will ever be so good that all other
languages will be replaced by it, nor do I believe that there will never
be something better than Java, so a single language solution is of
limited value. To the extent that RMI and CORBA can interoperate, they
will anyway. Sun has already announced its intention to make RMI capable
of operation over GIOP/IIOP in addition to its own RMDP. The Java->IDL
mapping is having the effect of respecifying much of RMI. Partial
convergence has already begun.
- I see DCOM as well placed courtesy of the Microsoft stamp on its hide,
but this also appears to be its largest defect. Whilst Microsoft is
making overtures towards the Open Group, the technology remains somewhat
insular and almost entirely single-vendor. DCOM is not being actively
extended to interoperate with other distributed object systems. CORBA by
contrast is being evolved to provide DCOM-style multiple interfaces.
Forestalling another likely question/comment: GIOP/IIOP is pretty
horrible from a bandwidth standpoint. This renders its use on the
Internet somewhat constrained. There would certainly be benefit in
producing a leaner wire protocol. To the extent that it makes sense to
do so, this could be done in conjunction with the mux protocol. Nothing
in CORBA prohibits this and, indeed, if large numbers of web players
(particularly browser/server developers) endorsed such a protocol, there
is a possibility that the OMG might be persuaded to incorporate it (or
something similar) into CORBA.
So, to cut my missive short:
- The web needs a leaner, smarter wire protocol
- The world does not need another distributed object standard
- Even though other standards will continue to exist, CORBA will take on
the functionality of and interoperability with important technologies.
The OMG is rather large, and not about to pop out of existence and thus
nor is CORBA.
- CORBA could use a leaner, smarter wire protocol.
- If the W3C's agenda is the advancement of the web, then perhaps the
best thing for the HTTP-NG group to be doing is producing a leaner,
smarter wire protocol for bulk data delivery and, if deemed desirable,
for remote object interaction. Neither of these things requires nor
benefits from the defining of another object standard.
I hope that it is not too late to alter HTTP-NG's direction.
- Raz