Joe Pluta skrev den 06-06-2008 15:15:
Thorbjørn Ravn Andersen wrote:
By having a connection for every user session you may run into a scalability problem since you require the user to log out to regain the resources allocated to that connection.
What "resources"? It's a connection to a QZRCSRVS job, limited only by the number of TCP/IP ports. You put a decent timeout on the session and it works fine. Please, give me a real world example of a situation you think would not scale.

We are talking about running Java on the AS/400, yes?

So the number of AS400 objects in Java, number of TCP/IP connections and QZRCRVS jobs scale with the number of users logged in and not the number of users active. There might be a bit of a difference for heavily loaded systems.

What is the number of simultaneous users we are talking about here?


Pooling doesn't help at all with the maximum number of users, unless you are stateless.

Sure it does. If the statefull logic is on the Java side and the statelessness is in the RPG code, there is quite a bit to get there.

Your RPG code must not expect things to come in a certain order unless you are absolutely certain that users do not jump in the middle of a sequence by reposting a form they bookmarked, or just press reload on a timed out session, etc.


This naturally requires that the backend calls are stateless - all needed information is passed from the session object - which you must do anyway since this is for web users.

Some applications can be stateless, but the best performance comes from stateful applications. If you're using the browser as a replacement for 5250 applications, then you need stateful connections, otherwise performance is unacceptable.

Naturally. I was expecting that we were looking at writing new stuff here, instead of gluing a webfront end on code not written to be web callable.

I don't want to go into a long discussion on this particular point. If you believe that all applications must be stateless, then we have a fundamental disagreement. Most business application developers I talk to agree that some applications require statefulness, and when I'm talking about a persistent connection, it's always for that class of applications.
As written above, i do not. I just say that for the java+RPG combination I believe that best performance requires that you put the session state on ONE side of the gap that the QZRSVRS connection imposes. For java using session beans, this means having all the session state in Java.

To me :)



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.