I wanted to add some references to using CORBA in a stateless fashion specifically to provide very high scalability.
There are two papers on Douglas Schmidt's website (
http://www.cs.wustl.edu/~schmidt) that specifically address this:
http://www.cs.wustl.edu/~schmidt/PDF/load_balancing1.pdfhttp://www.cs.wustl.edu/~schmidt/PDF/load_balancing2.pdfJust to make a few quick comments about how CORBA deals with these kind of abstractions:
1) CORBA objects are not synonymous with object instances; and objects are held in stateful memory unless implemented to.
2) A CORBA ServantLocator can map N "objects" to actual instances, where N can be much greater than the number of real instances.
3) Effective use of the IdAssignmentPolicy enables CORBA objects to encode state into the object reference (and therefore out of the protocol).
My experience with CORBA indicates that there are *many* parameters under the control of the developer and that CORBA meets all of the goals that Anders Hejlsberg laid out for stateless communication.
However, I completely understand that the complexity and small exposure of these features dooms CORBA to a niche technology. The best I can hope for now is that the power of CORBA and the clear benefits of HTTP scalability can be merged into an elegant solution.
John Heintz
> > Comments on this Article
> >
> > 1. Please refrain from turning technical articles into
> a
> > platform for passive-aggresive non-MS technology
> bashing.
> > Implying that CORBA/IIOP is an inherently flawed
> > technology because low skilled "system architects" and
> > "designers" didn't know how to use it correctly is just
> > plain foolish. In any case, where does MS's previous
> > contribution to this space (DCOM, COM+ etc) factor into
> > this ? Perhaps MS should critique its own technologies
> > rather than taking the opportunity to try and discredit
> > its competitors.
> >
> I must say, I sense a lot more MS-bashing in your comment
> than there ever was non-MS bashing in the interview.
> Anders was talking about an idea more than a specific
> technology in the section about remote objects. The
> example he gave was CORBA, but it was clear to me as I sat
> there that he was talking about all remote object
> architectures. He also didn't bash them in all situations.
> He said that up to a local area network they work well,
> they just don't scale to the internet. He may have had a
> secret plan to bash CORBA, but I saw it as an appropriate
> example given that CORBA was the big dream for
> inter-language inter-operability. Now web services seems
> to be that big dream.
>