Applications Messaging Standard

John Taylor jontayler at gmail.com
Thu Feb 15 13:28:39 PST 2007


On 15 Feb 2007, at 21:07, Doug Tody wrote:

> On Thu, 15 Feb 2007, John Taylor wrote:
>
>> Hi Doug,
>> Sorry if my terminology clouded the issue,  though I do believe  
>> this is an issue of user-friendliness.
>> As I see it, either the messaging infrastructure always sits at a  
>> known location, or its connection info must be made known to any  
>> clients.
>
> Or both; see for example my recent mail in reply to Mark.
>
> Files are fine for persistent storage or for configuration info  
> such as
> saving user preferences, but are lousy for interprocess communication.

Calling it interprocess communication is making it sound grander than  
it is (although it may be literally true).   Only one process will  
ever write data, and it's a once-per-session occurrence.  We've been  
using this system for over a year now in PLASTIC, and double that in  
the AstroRuntime without any significant problems beyond the odd  
orphaned file.


> IP (sockets) on the other hand, were designed for this purpose.
> A simple solution is to provide a well-known port for discovery
> (basically just a simple keyword-value cache; back it up with an
> environment variable or whatever to config the address)), and hand-off
> to dynamically allocated ports for session stuff.  This can all be  
> done
> at the protocol level without an API, is universally available, and is
> really not much more complex than using a file.  Probably less  
> complex,
> when you consider the subtle issues that files have for this purpose.

I'd be interested to know how much easier or harder it would be to  
use IP from relatively primitive programming environments such as IDL  
(that's not a slur on IDL...it's very sophisticated in other ways).   
One question I have is what would happen on a multiuser machine?   
Would you need some system process running on the one shared well- 
known port?



>
> Ultimately you probably need both: IP for interprocess communication,
> and files (or possibly the registry on a Windows platform) for
> configuration and saving user preferences.

Saving user prefs is possibly a separate issue as they don't  
(usually) have to be shared between unrelated apps so it's entirely  
down to the application author how best to do that.  Woe betide them  
if they store large config files in ~tony.

John




>
> 	- Doug



More information about the apps mailing list