[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