Weblog:   All Software Should Be Network Aware
Subject:   All Software Should Be *Message* Aware
Date:   2003-07-03 05:01:58
From:   mikesummers
I would argue that no application should be "network" aware, but rather that all applications should be "message" aware.

Most of Tim's list belongs in the OS. If we then extend the "File Types and Programs" registry to be network message aware all the application programmer has to do is be able accept asynchronous messages.

The buddy-list as group idea is clever and simple, good idea.

Discovery is a problem, CORBA Trader and UDDI/WSDL fail to handle the dynamic nature of what most of us want to do.

Something simple like IPV6 broadcast and a pattern match on the XML interface signature of "registry" entries should solve the problem nicely. In lieu of IPV6 we'll have to figure out some sort of decentralized solution, perhaps a variation of P2P.

Interesting thread.


Full Threads Oldest First

Showing messages 1 through 2 of 2.

  • Tim O'Reilly photo All Software Should Be *Message* Aware
    2003-07-03 09:37:21  Tim O'Reilly | O'Reilly AuthorO'Reilly Blogger [View]

    I'll buy this formulation. But from the cheap seats, it all comes down to the same thing. Whether it's in the platform, where all apps can make use of the functionality, or simply a set of conventions that enough application developers adopt so that the web of cooperating applications acts like a platform, we get what we want. (Some of the difference between what I say and "in the OS" is the looser definition of "the OS" that you can take from Unix/Linux and the Internet. I like to say that some OSes are "one ring to rule them all" and others are "small pieces loosely joined." In a "small pieces loosely joined" OS, features aren't in the OS so much as they are in the conventions that govern inter-application interactions. I use the word "conventions" rather than "rules" because there is no cop to enforce them. No "operating system" specifies the interaction between internet end points, but Jon Postel's "robustness principle" says a lot about how end points *ought* to act.)

    Message aware might capture a lot of this functionality, but I'm not sure all of it comes down to messaging.

    Finally, wrt IPv6 broadcast, you should look at the clever way that rendezvous uses local multicast with the DNS protocol to achieve ad hoc networking.
    • All Software Should Be *Message* Aware
      2003-07-03 13:07:41  mikesummers [View]

      I contend that not putting this in the OS (and by this I mean a process dispatched to by [x]inetd) breaks 'small pieces loosely joined' (and I agree splj is a good thing). It also breaks abstraction and encapsulation, more good things.

      Beyond this there are implementation pragmatics like what happens to a mesage that arrives and there's no app looking for it? If the target app is not running and the "networking" is in the app the bits fall on the floor. The the message router is at the OS level then it can spawn the receiving application.

      It seems to me this is all about messaging. Even an RPC is a message, just with a guaranteed response. I'm not sure why we should treat an in-bound XML message of a certain "type" as anything other than a double click (single for KDE-types) on a document. What is it that you have in mind that's not a "message"?

      Thanks for the pointer to rendezvous, I'll check it out.


Showing messages 1 through 2 of 2.