Re: Reflective systems

Mark Baker writes:

>> I don't know about IDispatch, but IIRC, DII did not 
>> reify interfaces as first class objects (i.e. they didn't get OIDs).

Just to set the record straight, COM had first class COM interfaces for 
modelling type information.  IDL files were only one of the ways of 
getting such interfaces populated.  An object that chose to implement 
interfaces to describe its own interfaces would be completely self 
describing, and those interfaces can be accessed and manipulated using the 
same COM tools as other interfaces.  I first made use of these interfaces 
approx. 9 years ago, when COM was in pre-release form.  So, neither the 
concept nor the widespread implementation of it is new.  Implementing it 
in a single network of global scale is arguably what's new on the web.

>>  What's also needed is a uniform means of 
>> resolving an identifer.  Neither CORBA nor COM
>> has that, but the Web has GET.

I think this too is an oversimplification. In COM, all resource 
identifiers are objects that implement the IMoniker interface.  Among the 
principle purposes of that interface is to provide a uniform means of 
resolving the identifier.  In COM terms, this is called "Binding", and it 
results in an active (proxy to) the object being referenced.  That object 
may have been running in the network all along, or may have been brought 
to life from some persistent state, e.g. in a file.  I don't know whether 
it's still true, but one of the first things that was done to make the Web 
accessible to lots of COM tools was to create an URLMoniker 
implementation, that would allow web resources to be activated by the 
uniform resolution mechanisms that had been in COM all along.  Of course, 
under the covers, this often led sooner or later to an HTTP get.

Noah Mendelsohn                              Voice: 1-617-693-4036
IBM Corporation                                Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142

Received on Tuesday, 5 February 2002 18:11:48 UTC