But I just loved this excellent piece by Rohit Khare, the "RK" of FoRK,
for those on d-o who don't know the master.
I'm guessing here that I'm probably the lead "OO weenie" referred
to here, and that the anonymous pundit is likely Adam Rifkin. If
not, please excuse my narcissism for thinking everything I read
is about me.
This is really good - well written, funny, and deadly accurate :-).
Rohit you *can* write,and you *must* write! I'll buy a copy furshur :-)
For the record though, speaking on defense of the weenie coalition,
or heck, just in my own defense since I'm getting tired on speaking
for populations who probably all think I'm crazy by now, here's
I'm not really an object weenie. Not in the 'polymorphism, inheritance,
yackety yack' sense anyway. Not even particularly in the design
pattern sense. I *do* believe in components - well encapsulated chunks
of functionality that exhibit queriable semantic interfaces, discoverable
and usable at runtime. I know that we're evolving that way on the object
side - I also know (or at least take your word for it) that XML will
do the same on the document side. I've said this many times before:
I'd never argue objects have to win because documents can't do it -
either is potentially computationally powerful enough, or can certainly
evolve to becoming that. All I'm arguing is that given my druthers, I'd
rather see a 'clean' model win than a 'dirty' one - it'll just make life
In addition to components, I also believe in aggregations of them:
groups, places,sessions, compound documents, frameworks, collections,
aggregates, unions, sets, bundles, gatherings, compositions, whatever
you want to call them. You guys believe in this too. And, we all believe
that these are distributed collections. And, we all know that distribution
is a whole other kettle of fish. So, we're all going to need tools to
handle it. Multicast. Reliable multicasts. Guaranteed delivery. Atomicity.
Failure detections. Partition handling. This stuff has nothing to do
with whether you're an object freak or a webnut. We all will need it.
We also need other things - security, authentication, encryption,
persistence, caching and a pile more.
I've tried to look at some of 'your' docs - specifically the XML & PEP
RFCs. You'll agree that they're not necessarily the most user friendly.
I'm glad Adam has a 'friendlier' XML page -that helps a lot. It would
be great if someone on 'your' side would do the same for PEP.
I'm willing to be converted from my objects and my Java church, if
someone can clearly show me the error in my ways. I've done it
before - I'm no longer a CORBAhead. But I still don't see your
side well enough to cross over, not by a long shot. Just as an
example of the kind of basic stuff that I don't 'get' : how the heck
do you propose to build 'smart' 'active' documents - ones that
actually contain code, and are computationally equivalent to an
object. You know - for loops, if statements, variable declarations,
that kind of thing. If you're going to tell me CGI or <OBJECT> tags,
I'm not impressed, unless you show me why I need to build
a Java object, and stick it in a <OBJECT> tag inside of a doc, instead
of just using the sucker directly as a bean?
At 12:44 PM 6/10/97 -0400, Rohit Khare wrote:
>A pundit recently asked me about ideas for a pontification session
>aimed at some OO weenies. I decided to offer some bland, tangential
>>What would I say to rile up OOheads, as a recovering OOer myself?
>>learning from the split between FoRK and dist-obj, the best attack is
>>to sow doubt about their entire religion.
Ron aside - Sorry, had to butt in here. I wouldn't refer to it as a 'split'.
Let's just say FoRK and dist-obj both are vibrant social organisms,
serving different communities with different interests. There happens
to be a large number of people subscribed to both lists, which
creates a certain
amount of confusion. Also, the creation of dist-obj was originally
inspired by the existence of FoRK. I would fondly consider FoRK
to be d-o's "big older brother". Personally, I love being on both, and
will continue to be active on both
(to the chagrin of people universally, I'm sure).
All together now, in harmony, on both lists: "_SHUT _ UP _ RON _ !!"
>>The Church of Objectology has become wildly successful in recent
>>Once just a crazy notion in some Norwegian prophet's head, it's
>>a subject of genteel profits to a legion of wide-eyed consultants. No
>>longer the wandering tribes of doctorates, cursed by the fall of the
>>Tower of Parc to forever speak SmallTalk, now they are thick upon the
>>land. Ultimately, though, bereft of ultimate papal authority (and
>>Jesuit shock troops to keep the independent thinkers in line), it has
>>fragmented into a long line of sects around latter-day saints, the
>>In every corner of the world, they spun (separate) views about the
>>Coming of Intergalactic Distributed Objects (a genuine OMG term!). Lo
>>and behold, just as dramatically as object devotees were being fed to
>>the lions in the late 80's, the client-server Revelations of the 90's
>>made them leaders among men. The imminent triumph of compound-document
>>apis, component software, and oo databases gave hope to the huddled
>>masses of COBOL developers (who were redeemed by the grace of
>>Stroustroup though OOcobol)
>>But, lo, Armageddon has struck, and the forces of IS Order are
>>everywhere by the chaotic dogs of Webs, ad-hoc Patterns, and
>>departmental Intranets. The Objectology flock remain devotedly blind
>>the smoldering slag-heap of its dawning 90's dreams: gone are
>>fourth-party agent libraries, and oo filesystems. Yea, the leaders
>>we are upon the road to Cairo, but indeed, we are blinded by the dust
>>storms of change, one day in Chicago, the next in Memphis, someday
>>While you celebrate the seeming success of IIOP, CORBA repositories,
>>and all the rest of OMG's predictions in the "Year of CORBA", in
>>you may be losing the battle under your noses. Do not act so smug
>>sitting atop your Java ORBs, because in fact, you are arguing small
>>infrastructural victories while the momentum of development has moved
>>away from carefully-planned, methodologized-half-to-death Holy Grail
>>systems to ad-hoc, rapidly evolving Web components.
>>Strucutured class/component marketplaces are losing ground to opaque
>>no-user-serviceable-parts VBXs. Collaborative, multi-user compound
>>document architectures are being replaced by HTML, baling wire,
>>OODB filesystem replacements have been shunted aside by... HTTP?!
>>Everywhere, Objectology is beseiged by Worse is Better (TM). Look at
>>you -- you're embarking on designing a new version of IIOP, and I
>>you're willing to bend over backwards as long as it converges with
>>HTTP-NG -- a golden calf indeed!
>>But... maybe you have something to be scared about. Worse, in fact,
>>be better. Why are your carefully planned customer service support
>>systems getting blown out of the water by a summer intern's web
>>for Marketing? Why is the employee identification database project
>>sidelined in favor of home page indexes on the Intranet. How,
>>did your component documentation repository get replaced by Alta
>>and javadoc? Why are the barbarians at the gate, hurling their
>>spaghetti CGIs over the walls?
>>Because, gentlemen and gentlewomen, you religion is too strong. If
>>stare long enough at the Magic Eye Shroud, everything looks like an
>>object. But the masses are taking a digital photograph, slapping it
>>a web page, and calling it the Magic Eye Shroud homepage, and *that's
>>it*. No further steps, no integration, no documented interfaces,
>>nothing that smells of object religion anywhere. Look at a product
>>catalog on the web: are there not part pages, with prices and photos
>>and descriptions and see also links? Indeed, are those web pages not
>>the shadows of objects we'd like to have living in our systems?
>>Why yes, they are, and we are playing Borg: we are seemingly
>>assimilating the Web into our religion by deigning to recast our
>>interfaces as FORMs, gateway CORBA sessions through CGI/cookies, and
>>publishing our databases as HTML.
>>The tide is running the opposite direction, though. How do we extract
>>-- not impose -- order on the flood of information our enterprises
>>already putting on the Web? Why *can't* we build an order-entry
>>that uses the Web as its catalog rather than the other way around?
>>Ex1. Companies like webMethods are turning pages into objects: they
>>have a service which goes around and extracts an interface for a
>>companies' package-tracking FORMs, palettizes them, and allows
>>user/developers to easily compose a metatracker which can track a
>>of packages across the entire set in minutes.
>>Ex 2. HTML is not a dumb rendering format for databases -- XML may
>>make it the SOURCE format for databases. Soon, part number won't be
>>conventionalized as "third bold phrase from the right", it'll be
>><PART>xxx</PART>. Can you believe that XML Document Type Definitions
>>might displace IDL?
>>Ex 3. HTTP is not a brainless host protocol for IIOP to parasite off
>>to hitch a ride across firewalls. With 1.1, it has picked up
>>caching powers and reasonable security. How does your OO system cache
>>and replicate data structures?
>>documents are objects.
>>And end-users create lots of documents.
>>Without consulting class hierarchies or repositories.
>>And they slap on some applets and scripts
>>And they go use robotic services to index, locate, and pay for this
>>Where's the Intergalactic Distributed Object future now? on the Web.
>>And perhaps, just perhaps, it won't deign to be assimilated into
>>Objectology. Occam's Razor may be at your throat... The world is
>>reaping the rewards without the religion.