[Info-vax] Programming languages on VMS

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Feb 7 12:51:03 EST 2018


On 2018-02-02 07:00:51 +0000, DaveFroble said:

> While there may be applications doing this, I'm going to claim that 
> it's a poor design, and one prone to unknown failures.
> 
> We're talking communications here.  My biggest priority with 
> communications is verification that things actually happened.
> 
> If I'm going to transmit data, perhaps a file, I want byte counts, 
> perhaps a checksum, and a response that the data was received.  Until 
> that is verified, the sender cannot be sure that the data made it to 
> the next step.
> 
> What I do these days is have listener sockets waiting for connection 
> requests. When a request comes in, the data is processed.  If it's not 
> what is expected, the data is discarded and the connection terminated.  
> Should the data be acceptable, a response is sent back to the sender, 
> so that it can log the response as proof that the transmission was a 
> success.  After that, the data and any processing is the responsibility 
> of the received.
> 
> As for taking orders, yep, that's how it's done, including the 
> confirmation that the order was received and accepted.
> 
> Inventory inquiries, the requestor gets back the data as part of the 
> communication.

Ayup.   Writing out transfers using file versions and file transfers 
might have made quick=hack or simple-design sense a decade or three ago 
and under lower loads and in isolated and always-stable configurations 
with always-stable networks, it's a problematic design by present-day 
standards.  I've seen some entertaining failures of these designs under 
load, too.  Accesses attempted while files or directories are still 
locked during transfers, for instance.  These designs don't do well 
under load.

It'd be feasible to lock down the file transfers with (preferably) 
asymmetric encryption, but most don't bother with security, or there's 
only enough encryption and authentication sprinkled around the app to 
pass a cursory audit.

In this era, I'd usually look to enlist a message queue framework, and 
would prefer to avoid bespoke code.   There are framework ports 
available for OpenVMS.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list