Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jun 2002 17:34:05 -0500 (CDT)
From:      John Utz <john@utzweb.net>
To:        j mckitrick <jcm@freebsd-uk.eu.org>
Cc:        freebsd-java@FreeBSD.ORG
Subject:   Re: Anything like COM in Java?
Message-ID:  <Pine.LNX.4.44.0206281715000.29068-100000@jupiter.linuxengine.net>
In-Reply-To: <Pine.LNX.4.44.0206281627291.29068-100000@jupiter.linuxengine.net>

next in thread | previous in thread | raw e-mail | index | archive | help
my apologies. i meant to send that privately.

of course, now i am spamming with the apology.

i'll send some mail out apologizing for that in a minute.... :-)


On Fri, 28 Jun 2002, John Utz wrote:

> On Fri, 28 Jun 2002, j mckitrick wrote:
> 
> > | with the risk of being overly flip; you like COM because you haven't 
> > | written any full size multiple developer products with it yet!
> > | 
> > | it get's very fragile and fiddly when you get up to the multiple 100's of 
> > | interfaces.
> > 
> > We have quite a few in ours, but not hundreds.  There are basically 2
> > things I like about it:
> > 
> > GUIDs, so if I say I want a certain version of an interface, 
> > the GUID guarantees it is.
> 
> really? promise? nobody ever adds a new method to the same interface? your 
> dev team get's it perfect the first time? if they dont get it right the 
> first time ( a typical case in any development effort ) what happens then? 
> new interface and new guid? or does the new method just get added to the 
> same guid?
> 
> has anybody been dumb enuf yet to think that if they dont tell anybody
> about a method that they added, then it's 'secret'. hoho. it's secret
> until somebody runs that broken-ass* ObjectView?(is that it, i cant
> recall)  thingy and gets themselves a new header and idl file complete 
> with the 'secret' methods.
> 
> *in vc6, which was the last platform i used COM on extensively, the idl 
> wouldnt compile because it was broken. i actually got hired into a new 
> group at my old job based on the fact that i figured this out and fixed 
> the mis-emitted idl so i could use it.
> 
> > It breaks down to straight function calls for in-process servers.  No
> > overhead, less work than CORBA.
> 
> hmm, it breaks down to a call to a function pointer in a vtable, so it's 
> not *quite* that simple...but certainly less involved then CORBA, at a 
> cost of being trapped in a single OS. There *was* a DCOM port to a few 
> things, but it met with less than enthusiastic support.
> 
> > | i could explain some more practical and pragmatic challenges associated 
> > | with COM ( which i agree is pretty darn nifty in theory ), but this is the 
> > | freebsd java list.
> > 
> > Please, email me privately.  ;-)
> > 
> > | umm, CORBA? are you trying to interoperate with a non java app? any non 
> > | java app has to speak the same binary interfacing standard.
> > 
> > What I really want is the total separation of functionality that
> > components can provide.  Now, the ugly part of COM is the type library.
> > That's the necessary link.
> 
> yes, and you may eventually find yourself groaning vigourously when you 
> realize that a needed interface change is going to require you to 
> trivially edit and rebuild a whole bunch more files than you would have 
> otherwise because of this additional requirement.
> 
> this is what i meant about being fiddly.
> 
> with the caveat that i have only read about it and not coded with it, the 
> broker idea in corba seems to me to be a better solution; u do it your 
> way, he does it his way, code the broker to sort it out.
> 
> > What can I do in Java that would allow one class to dynamically bind
> > (early) to another?
> > 
> > I'm rather convinced at this point that components dramatically improve
> > project organization beyond a certain point.
> 
> organization is more rigidly enforced, but *changes* to organization are a 
> more annoying pain in the ass, and in a development environment ( *not* a 
> *product* interoperability environment ) that counts for a lot.
> 
> > My current project uses a great deal of inheritance, but components
> > really separate functions into contract interactions.
> 
> eek, worst of both worlds in my opinion, but it's only my opinion. now you 
> have to go back and fiddle with even more things if you decide that you 
> want to push back some funtionality into a parent class, or to completely 
> rethink the problem (refactor).
> 
> I think that this at some point becomes a /usr/X11/bin vs usr/bin/X11 
> issue, which is my shorthand for the idea that the pain is the same, you 
> just are choosing your pain budget differently then i do.
> 
> i am sure that over the course of the next few weeks, other things will 
> come up, but i think that i've hit the hi points from my perspective.
> 
> > How can I do this in Java?
> 
> i'm guessing EJB, but that's a guess absent experience.
> 
> > Do Interfaces work well enough for this?
> 
> no, i dont think so, because the implementation of the classes that you 
> are passing as arguments to the methods that implement the interfaces are 
> uncontrolled.
> 
> > Is there a Java binary equivalent, so the binding takes place at
> > run-time rather than compile-time?
>  
> let me know what you come up with.
> 
> to return to my thoughts on COM, i think that it's really quite cool for 
> defining inter *product* interfaces. 
> 
> for example, it's tres bitchin' to think of being able to add a new secure
> vpn mail protocol to outlook as a COM object and have it automagically
> show up ar a replacement toolbar for the default toolbar in outlook.
> 
> it's also worth recalling that WinAmp and XMMS and gimp and anything that 
> has 'plugins' have a similar interface.
> 
> but, to return to my outlook example, *Nobody's* Done It!
> 
> furthermore, nobody sell's 'improvements' that i am aware of ( by that i 
> mean a 'thing' that implements a GUID and is cooler than the original 
> implementation so you want to buy it and replace the old one.
> 
> COM was a solution to a problem that nobody has really seemed to care 
> about
> 
> MSFT continued to fiddle with it so that it would be simpler to use, but 
> they've basically given up. 
> 
> there is an absolutely hilarious verity stob essay that i shared with some
> of my other COM aware collegues:
> 
> http://www.ddj.com/documents/s=1504/ddj0108vs/0108vs001.htm
> 
> hope u get a laff. it's been fun to think of this again...
> 
> > jm
> > 
> 
> 

-- 

John L. Utz III
john@utzweb.net

Idiocy is the Impulse Function in the Convolution of Life


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.44.0206281715000.29068-100000>