× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.




On 10/07/2006, at 12:58 AM, Vernon Hamberg wrote:

I am in complete agreement with you in this matter. I'm glad you
tackled it. Allow me to mention a couple scenarios in common use that
might further bolster your points and help us in our thinking about
queue usage of any kind.

1. IBM's own MQ product is a guaranteed delivery mechanism that uses
various kinds of queues - major financial institutions use it all the
time. Simple program calls can't handle this kind of thing.

MQ was ripped out of CICS. CICS is essentially a transaction processor. Given that CICS is used by major financial institutions whatever transport mechanism it uses MUST be reliable. IBM saw the opportunity to sell the queue management part of CICS as a separate product. MQ doesn't use queue objects as we know them but they are still queues. MQ doesn't use MI queues because they've written cross-platform code to handle the queuing concept.

Simple program calls can't handle this but Remote Procedure Call can. What you lose with RPC is the asynchronous aspect of the process. With any form of program call you are saying "I want this done NOW" but with any form of queuing you are saying "I want this done but I don't care when".


2. The basic inner mechanism of Windows is message queueing - VB and
C and Delphi and whatever insulate us from that mechanism, but to get
real control of certain things, you SNDMSG to Windows and other
processes asynchronously pick them up. Different from DTAQs in
several ways but similar in principle.

Same as most GUI environments. OS/2 Presentation Manager and Java work the same way.

3. What you have described repeatedly and well is what I understand
to be the contract model of development - a "user" and a "service"
contract to behave certain ways, such as that the user will validate
data and deliver it to the service in the form the service expects to
see, then the service will process it and return certain data as
agreed upon. I think we do this implicitly, but there is a framework
in which this is more defined, IIRC. Even a development environment
called Eiffel, I think.

Eiffel? Now there's a language I haven't thought about in over 10 years. Yes, all compilation units effectively enter a contractual arrangement with the consumer. In most programming languages the implementation of that contract is left to the programmer. Bertrand Meyer had many interesting ideas and this is one he implemented in the Eiffel programming language. Not sure if this idea was his alone or initiated by one of the other OOP names but as far as I know Eiffel is the only development environment to enforce it.

4. RPC - remote program calls, for some reason, creep into my
thinking here. Or call it asynchronous processing or think about MQ.

See comments above.

5. As to robust production code that depends on this kind of thing,
it is well known that much of the iSeries code is using user indexes
and user queues (an even lower-level variant of a data queue). I
guess IBM has made a mistake depending on these "unreliable" things. <vbg>

Not so much USER queues and USER indices but certainly the MI variants of the basic queue and index object types.

Obviously IBM made a mistake--not only with the implementation of CPF, OS/400, i5/OS but also with pricing and marketing of i5 hardware. Equally obviously they should employ Steve immediately to take over and fix all these problems post-haste.

Am I off base here, Simon, or does this go along with your thoughts?

No you're not off-base. Judging by the comments from others sticking their tuppence-ha'penny into this topic the only one off-base is Steve. That's OK, he can continue to do things in whatever way he likes as long as he stops suggesting that just because HE has problems with some technique, that technique is not valid for anyone else and therefore should be avoided.

Regards,
Simon Coulter.
--------------------------------------------------------------------
   FlyByNight Software         AS/400 Technical Specialists

   http://www.flybynight.com.au/
   Phone: +61 3 9419 0175   Mobile: +61 0411 091 400        /"\
   Fax:   +61 3 9419 0175                                   \ /
                                                             X
                 ASCII Ribbon campaign against HTML E-Mail  / \
--------------------------------------------------------------------



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.