PROGRAMMING COBOL APPLICATIONS WITHOUT

ITEM: RTA000046727



QUESTION:                                                                       
My customer plans to develop character-based COBOL applications to run          
in a multi-user AIX environment. From a transaction processing point of         
view, the customer is asking what products are required to build these          
applications.                                                                   
                                                                                
They will be database applications, using DB2/6000 and MF COBOL. I have         
indicated to the customer that these products would be all that is              
required to build multi-user applications on a single system image. We          
had a high level discussion about the COBOL external file handler, its          
embedded SQL support, and the DB2/6000 support for 2 phase commit. But          
my customer is still not confident that he has everything he needs to           
build these applications.                                                       
                                                                                
He asks, "What transaction monitor is doing the CICS-like work that            
occurs in a legacy CICS/MVS environment? Terminal and printer control?          
If I don't have CICS/6000 how do I do it?"                                      
                                                                                
We also discussed the CICS/6000 products, but I indicated that unless           
this will become a distributed OLTP application, there may not be any           
advantages to have the CICS products, especially when programming in            
COBOL.                                                                          
                                                                                
Could you please offer discussion about how COBOL and DB2/6000 work             
together in developing on-line applications? Please mention how things          
compare to CICS environment and why/why not CICS would be an advantage?         
                                                                                
---------- ---------- ---------- --------- ---------- ----------                
A:  If you create a multi-user application without using CICS/6000 then         
each occurrence of a user invoking the application will run in a separate      
process.  You will want to use the Micro Focus Cobol options for linking        
the application such that the code is brought into memory once, and             
each user shares that executable.  In this environment there is no              
transaction manager that terminates your transaction when you are               
inactive.  Your working storage stays in memory during your think/respond       
time.  If the system memory is overcommited, the AIX operating system           
will swap inactive user's working storage to the paging space to free           
up memory pages for the active users.  Since everyone is accessing the          
executable, it will not get paged out.  DB2 sees each of these users            
separately and spawns an agent for each of them to communicate with DB2.        
Applications generating print requests will use the AIX print queueing          
backed to handle these print requests.                                          
    The advantage of this approach is it makes application design               
and coding simpler.  This is the "normal" programming method for                
most unix applications.  The downside is this method causes more               
system overhead (lots of processes for AIX to manage) and results               
in the need for larger machines and more memory.                                
    Applications coded to a transaction manager like CICS/6000 or               
Top-End, Tuxedo, or Encina Monitor cause the users to share resources           
by having users serviced by multi-threaded application code running             
in a shared process.  The monitor opens a restricted number of these            
processes and gives the administrator more control of how many processes        
are kept open for what kinds of work.   This provides a level of                
application load balancing the customer is used to on the mainframe.            
The downside is the need to install and maintain a more complex                 
operating environment including DCE, Encina, and the CICS lpp's.                
This method is encouraged when you need to service a very large                 
number of users, and the application has well defined, predictable              
queries that can be canned.  It is also recommended where there are             
large amounts of think time between transactions.  This method frees           
up system resources from the user during that think time.                       
    These advantages/disadvantages are roughly the same as the customer         
is used to in choosing application design on the mainframe.  The                
CICS/6000 environment is comparable to what they are used to in CICS/MVS.       
The alternative method (without CICS) is more comparable to the                 
mainframe  CMS environment.                                                     
                                                                                
---------- ---------- ---------- --------- ---------- ----------                
                                                                                
                                                                                
This item was created from library item Q668481      CVDFS                      
                                                                                
Additional search words:                                                        
ADVANTAGES APPLICATION APPLICATIONS CICS CICS6000 COBOL COMPILERS               
CVDFS DISADVANTAGE IX LANGUAGE OZNEW PROGRAMMING RISCL RISCSYSTEM              
SEP94 SOFTWARE 6000                                                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                               


WWQA: ITEM: RTA000046727 ITEM: RTA000046727
Dated: 06/1996 Category: RISCL
This HTML file was generated 99/06/24~12:43:18
Comments or suggestions? Contact us