From owner-freebsd-java Fri Jun 28 15:50:47 2002 Delivered-To: freebsd-java@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B1B2D37B40F for ; Fri, 28 Jun 2002 15:49:13 -0700 (PDT) Received: from jupiter.linuxengine.net (jupiter.linuxengine.net [209.61.188.254]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9121C44047 for ; Fri, 28 Jun 2002 15:35:12 -0700 (PDT) (envelope-from john@utzweb.net) Received: from jupiterweb.commercevault.com (jupiterweb.commercevault.com [209.61.179.16] (may be forged)) by jupiter.linuxengine.net (8.11.6/8.11.0) with ESMTP id g5SMY5R08802; Fri, 28 Jun 2002 17:34:05 -0500 Date: Fri, 28 Jun 2002 17:34:05 -0500 (CDT) From: John Utz X-X-Sender: john@jupiter.linuxengine.net To: j mckitrick Cc: freebsd-java@FreeBSD.ORG Subject: Re: Anything like COM in Java? In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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