I have been able to deploy a CICS application on Tuxedo ART 11gR3 on RHEL 5.
But I can only access the application thorugh 1 Tn3270 window. Until I finish the applictaion, I cant use it from the 2nd terminal window.
I am trying to figure out how can I get the application to accept multiple concurrent requests.
The only way I was able to add more clients was through changing the ARTSTRN section of the ubbconfig file from MIN=1 , MAX=1 to MIN=2, MAX=3.
In fact, this is my setting which is the same as the sample_03 deployment file:
a single ARTSTRN server can handle multiple requests (that is MIN=1/MAX=1 shouldn't be an issue), you would want more than 1 of these when you have high load. The tn3270 requests come in through TCPL (listener) server, which dispataches them to TCPH (handler) processes. TCPH then connects to ARTSTRN to handle transactions and trigger programs.
Could you provide ubbconfig details for these servers as well as your transactions.desc, programs.desc, and tranclass.desc resource configuration data? It may be easier to email these to me directly at firstname.lastname@example.org.
I will post the files shortly, but first I wanted to get a better understanding of the way the transaction works in ART CICS Runtime.
I have a program PGA that does a CICS LINK to program PG1. So basically PGA expects a call back from PG1 and PG2 and so on. So basically my problem is that I am only getting one transaction showing at a time, its NOT working concurrent as I would like it to.
Here is the following:
SB00;SIMPAPP;pg for simpapp;RSSBT000
SB01;SIMPAPP;pg for simpapp;RSSBT001
SB02;SIMPAPP;pg for simpapp;RSSBT002
SB03;SIMPAPP;pg for simpapp;RSSBT003
INQ1;SIMPAPP;pg for simpapp;CUSTINQ1
PGA;SIMPAPP;pg for simpapp;PGA
RSSBT000;SIMPAPP;pg for simpapp;COBOL; ;ENABLED #the first program of transaction SA00
RSSBT001;SIMPAPP;pg for simpapp;COBOL; ;ENABLED
RSSBT002;SIMPAPP;pg for simpapp;COBOL; ;ENABLED
RSSBT003;SIMPAPP;pg for simpapp;COBOL; ;ENABLED
CUSTINQ1;SIMPAPP;pg for simpapp;COBOL; ;ENABLED
PGA;SIMPAPP;pg for simpap;COBOL; ;ENABLED
PG1;SIMPAPP;pg for simpapp;COBOL; ;ENABLED
PG2;SIMPAPP;pg for simpapp;COBOL; ;ENABLED
TRCLASS1;SIMPAPP ; A tranclass bidon for tests; 1
TRCLASS2;SIMPAPP ; A tranclass bidon for tests; 2
I have not heard back from you or any other Tuxedo expert for a week now. Can you please let me know how should I move forward? I am kind of stuck with this transaction problem.
It appears that Tuxedo does a tpbegin() when my program starts, however I want to do transactions in each of my sub-programs.
Currently this is not allowing me to have multiple sessions until one transaction ends. Its behaving more like a ARTSTRN1 server and not a ARTSTRN server. I tried the sample application, and that one behaves as it should, but is it because the sample_03 program is using CICS XCTL instead of CICS LINK?
As Mark said, you problem is not relevant with the option MIN/MAX of server ARTSTRN, when you have high load or throughput, you could configure multiple ARTSTRN. The TRANCLASS and server ARTSTR1 is only used when some transactions are requested to have only one active instance in one CICS region. This behavoir is as the same as that in Mainframe.
I think the issue you found is caused by using CICS LINK in CICS program.
In CICS runtime, CICS LINK and XCTL are both used to call another CICS program, but there are some differences between them.
when invoke "CICS LINK", the main program(transaction) will not "CICS RETURN" to release the line held in ARTSTRN until the all sub-programs invoke "CICS RETURN" or "GOBACK". It means the main program(transaction) will block the ARTSTRN server until all sub-programs return, and ART CICS runtime will handle each transaction in conversation mode, so if the transaction does not release the line held in ARTSTRN, the ARTSTRN server will not be free to handle another transation. That's why you could not start the 2nd transation in ARTSTRN. In fact we also keep the same behavior as the Mainframe for this.
When invoke "CICS XCTL", the main program(transaction) will not wait for the sub-program return but will continue to go ahead until "CICS RETURN", so it will not block the ARTSTRN server, that's why sample_03 could work normally.
Yes, there are no problems. because your transaction is just like a long conversation, and it will always keep on line until all sub-programs return, so if you have 10-20 users, you have to configure multiple ARTSTRN servers, such as MIN=10, MAX=20, but there is one thing you need to take care is that you should have enough COBOL license if you use MicroFocus, since each ARTSTRN server will use one COBOL license. Insufficient COBOL license will cause ARTSTRN server boot failed.