[Info-vax] Any Way to Pass Arrays of Strings from C to Basic?

Arne Vajhøj arne at vajhoej.dk
Fri Nov 8 21:09:55 EST 2019


On 11/8/2019 5:06 PM, seasoned_geek wrote:
> On Friday, November 8, 2019 at 9:42:49 AM UTC-6, Dave Froble wrote:
>> On 11/8/2019 8:23 AM, seasoned_geek wrote:
>>> On Thursday, November 7, 2019 at 10:35:45 PM UTC-6, Dave Froble wrote:
>>>> Messaging is rather simple, but, it seems all anyone wants to do anymore
>>>> is find someone else's tool to do the job, regardless of fit.
>>>
>>> Kind of like your previous expectations of an XML parser.
>>>
>>> Messaging is simple only if one takes the Linux/PC/Windows brain
>>> dead mentality of "oh well, those messages are gone." When you
>>> have to have 100% delivery with 100% execution of all messages,
>>> even those in process during a hard crash, without manual
>>> intervention, THAT is when you have to use MQ Series and ACMS. No
>>> other combination can get you that. None. >>
>> With a proper protocol messaging is simple.  Now, the implementation can
>> be a bit more complex, having to monitor and adjust to communication
>> failures and such.
>>
>> 1) Hey, I got a message for you, it is 99 bytes of data
>> 2) Ok, I'm here, send the message
>> 3) send the message and wait for a response, with timeout
>> 4) Ok, I got 99 bytes of data
>> 5) consider the message complete, remove from queue
>>
>> If at any step there is a failure, go back to step #1
>>
>> Lots of details omitted, but, the concept is simple.
>>
>> Note that what the recipient does with the data is outside the
>> messaging.  Security is outside the messaging.
 >
> No, actually, it's not. When you are architecting a system the
> security and life of each and every message is your responsibility.
> What you are describing is _exactly_ what the wanna-be operating
> systems (Linux/Windows) actually do. Completely disregard the
> responsibility for the lifespan of a message. They treat everything
> like email. If ya didn't get it )(*&)(*& ya. >
> When you are receiving stock and direct ship orders which are tens of
> thousands of dollars from numerous points around the globe, all
> trying to make the "free shipping" cut-off window and waiting until
> the last nanosecond to hit send, you can't take that approach. Your
> messaging system must continue the life of that message through to
> completion no matter how many nodes in a cluster get taken out. When
> the system reboots it must automatically reset and restart rolling
> back all journalled partial transactions. >
> Most importantly, your messaging system must provide for dynamic
> throttle control. ACMS is hands down the best at this. You don't want
> 5000 messages arriving in the same 10 minute window, each kicking off
> their own process which requires sourcing of parts across a global
> distribution channel burying your box and causing deadly embraces
> because a group of orders ordered the same group of parts all in
> different sequence and now none of them can be fully sourced because
> they are all locking something another needs.
It is very difficult to do DIY.

But there is no need for DIY today.

There are plenty of on the shelf solution.

One pick a message queue. You like IBM MQ, but there are
a couple of handful of commercial and open source
message queues available today.

One configure queues as durable. One configures the
cluster. One configure the connections to be transactional.

One configure the application container or write a few
lines of code to make execution use connection pool / object
pool / thread pool. There is builtin support for that
in most tech stacks today.

Arne







More information about the Info-vax mailing list