[Info-vax] Programming languages on VMS
Arne Vajhøj
arne at vajhoej.dk
Wed Feb 7 12:56:05 EST 2018
On 2/7/2018 12:51 PM, Stephen Hoffman wrote:
> 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.
HTTP for request/response and message queue for async is widely used.
And even though widely used it not equivalent to good, then widely
used tend to mean multiple product choices, tools support, help
available on the internet and a decent chance of hiring people with
skills.
Arne
More information about the Info-vax
mailing list