× 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.



First, a defn of terms. There is client server where the server is on a
remote system. There is CS where access is provided to a shared system
resource such as a printer or tcp/ip server. There is CS where an appl
implements a "background" processor". And last, there is CS where
interactive display work is offloaded to a background html
translator/router.

Within this broad CS tent there is the issue of the transport mechanism
used. How does the client transmit its request to the server. How is the
response sent back to the client. I define two methods:  the queue and the
pgm call.

My argument focuses on whether the queue or the pgm call should be used to
implement the background processor and the html translator. The reason this
came up in the first place is because I think IBM's historic underpowering
of our system and its current day CFINT practice skew the decision in favor
of the queue, leaving the architecturally superior pgm call under used.

The pgm call has the following advantages over the queue:
- system mgmt of transactions ( pgm call stack shows current state of the
transaction)
- debug ( can trace, step the transaction from begin to end )
- User level security ( access to each transaction ( chg credit limit of
customer ) can be secured by GrtObjAut to the pgm that performs the
transaction )
- Exception handling ( build into the pgm call model )
- system logic flow documentation ( dsppgmref, probe/abstract show
transaction frow from begin to end )
- Pgm parameter support ( simple way to pass data between client and
server )

The queue has advantages also. It is more efficient to centralize the heavy
hitting updates of an appl in a central background job.

The queue enables good operations mgmt features:  hold the queue, shut down
the server, monitor how much activity is flowing thru the server.   ( but is
also provides the negative potential of a server job crashing and impacting
your entire system. Ever have a time when no pick tickets are being printed
and hours later discover that the background job has a level check ? )

Another good argument is that if you are going to queue intersystem,  you
should queue intrasystem also, since this gives maximum flexibility over how
the application is deployed over time and at each installation. My response:
I state/guess that a low pct of CS appl need this flexibility, that RPC
might be able to be used, and that the pgm call interface seen by the client
should still be used, just that the called server would be rewritten to
queue ( or RPC ) when needed.

The performance advantage of the queue is what I am focused on. The historic
underpowering of the system forced appl designers to queue when it was
better, for appl logic simplicity,  to call, resulting in appl that are more
complex and harder to maintain than they have to be.

And now, I think, we have the queue being chosen as the means to decouple
"dynamic dspf to html translation and delivery to the end browser" from the
CFINT crippled interactive job to a CPW galore batch job.  My only product
unseen objection with this is that if the pgm call would work better than
the queue, this is more evidence that CFINT causes appl on our system to be
more complex and functional than they need to be.

A few direct responses to this post that I am responding to:

You have to program to the requirement. If the rqr calls for a list of info
on a terminal, you code a subfile, if access to info is needed from a
browser, you code for that. The methods and skills the pgmr uses to
implement the rqr make a big difference in how complex the resulting appl
is.

I see client pgm A calling business logic pgm B as an example of
client/server.


Steve Richter



----- Original Message -----
From: "Joe Pluta" <joepluta@PlutaBrothers.com>
To: <midrange-l@midrange.com>
Sent: Tuesday, November 13, 2001 12:58 AM
Subject: RE: OO benefits? (was Re: Fast400 Value to iSeries community is
less than zero )


> Subfiles require more steps than simple screens.  You need to know many
more
> keywords, and you have to write to the subfile and then to the subfile
> control, setting indicators and so on.  It is much simpler to fill an
array
> with data and output the array on a standard record format.
>
> So from your argument, I surmise that you don't use subfiles.
>
> That of course, is a bit tongue in cheek, but I hope you see my point.
> There are times when a little added complexity on the front end justifies
> the costs over the long run in terms of maintainability, scalability, and
a
> whole host of other areas.
>
> Client/server is more complex, certainly.  So is web development.  If
you're
> the only programmer in a one-person IS department, either one may require
> more development resources than you can provide.  In that case, by all
means
> stick with monolithic green screen programs as long as you can justify the
> "it's too much work" excuse to your users and management.
>
> But if there's just one person available to write the API code for the C/S
> infrastructure, then the application programmers don't even need to know
> about the queueing details.  I'm sure you realize that all the C/S
> infrastructure can easily be encapsulated in APIs in such a way that the
> application programmer never sees it.  Then it's sort of like arguing that
> it's better to use the single record rather than a subfile, because a
> subfile does so much more under the covers that the programmer has to be
> aware of.  That's not a justifiable argument, nor is the argument of not
> using a C/S API because it does queueing under the covers.
>
> But, hey, I'm unlikely to convince you.  It seems your mind is set that an
> API that calls a queueing mechanism is just too much complexity to add to
a
> program.  If that's your opinion then, no, client/server architecture is
> definitely not for you.
>
> Joe Pluta
> www.plutabrothers.com
>
>
> > -----Original Message-----
> > From: Steve Richter
> >
> > So I am suspicious of client/server increasing complexity because
> > their are
> > more steps the pgmr needs to know about in a cs tran than a pgm call
tran.
>
> _______________________________________________
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
> To post a message email: MIDRANGE-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
> or email: MIDRANGE-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/midrange-l.
>
>





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.