© Copyright IBM Corporation 2010Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.1
Uni Hamburg – Mainframe Summit 2010 z/OS – The Mainframe Operating
Part 5 – Application Support
Redelf JanßenIBM Technical Sales Mainframe Systems
© Copyright IBM Corporation 2010
Unit objectives
After completing this unit, you should be able to:
●Describe the support provided for object-oriented application development on z/OS
●Describe the purpose of the Language Environment
© Copyright IBM Corporation 2010
Traditional applications
Programming languages
Object technology
UNIX applications
Traditional applications
© Copyright IBM Corporation 2010
Application program
Input data
Outputdata
Process data to perform a particular task
What is an application?
© Copyright IBM Corporation 2010
Query
Transactionapplication program
Access shared data on behalf of online user
Reply
AtomicityConsistencyIsolationDurability
What is a transaction?
© Copyright IBM Corporation 2010
Transaction processing monitors
●A transaction processing monitor is a program that monitors a transaction as it passes from one stage in a process to another.
●TP monitors ensure that a transaction processes completely, or if an error occurs, that appropriate actions are taken.
●TP monitors connect multiple clients to multiple servers to access multiple databases.
●CICS Customer Information and Control System● IMS
Information Management System●MQSeries
Message Queuing
© Copyright IBM Corporation 2010
Transaction TerminalRegions
ApplicationRegions
DataRegion
DataRegion
ProgramLibrary
Log File
CICS Transaction Server for z/OS
© Copyright IBM Corporation 2010
Transaction InputQueue
Application
DataManager
DataManager
ProgramLibrary
Log File
OutputQueue
IMS Transaction Manager
© Copyright IBM Corporation 2010
Program A
Enqueue message
Program B
Dequeue message
MQSeriesQueue Manager
MQSeriesQueue Manager
System 1 System 2
MQSeries
© Copyright IBM Corporation 2010
Database management systems
●Database management systems allow multiple independent users to have concurrent access to a central repository of information.
●Database management systems provide data integrity by ensuring that all steps within a unit of work are completed successfully or all changes are backed out.
●Database management systems provide centralized security for the database and allow installations to control which users have access to specific data within the database.
© Copyright IBM Corporation 2010
IMSControl (IMS TM)
DLI IMSBatch (IMS BMP)
IMSOnline (IMS MPP)
CICS
Hierarchicaldatabase
Onlinelog
appl
appl
z/OS system
appl
IMS Database Manager (Hierarchical database)
© Copyright IBM Corporation 2010
DB2 IMS CICS DB2
z/OS system
SQL
SQL
DB2 Universal Database (Relational database)
Log Relationaldatabases
Log Relationaldatabases
© Copyright IBM Corporation 2010
Traditional applications
Programming languages
Object technology
UNIX applications
Programming languages
© Copyright IBM Corporation 2010
XC R_LIST(100),R_LIST Clear the range listLG 12,VIRT64_ADDR Get starting address to pagefixSTG 12,R_START Save it in range listLGHI 4,5 Load number of pages to fixSTG 4,R_PAGES Save it in range listSLR 12,12 Generate primary-space aletST 12,R_ALET Save it in range listLA 4,R_LIST Get address of rangelistLLGTR 4,4 Make it a 64-bit pointerSTG 4,RLISTPTR Save it
AssemblerPROCEDURE DIVISION.
EXEC CICS READ DATASET("INFILE")RIDFLD(INFILE-KEY)SET(ADDRESS OF VAR-RECORD)
LENGTH(RECORD-LEN)END-EXEC.MOVE VAR-RECORD TO WS-RECORD-HOLD.
COBOL
IF (HDLR_CTOK(1:8) .EQ. FOR1003) THENINPUT_FIELD_PTR = QDLOC(HDLR_CTOK, 6)INPUT_FIELD(QDINT4(HDLR_CTOK, 7)) = '0'FIXUP_CTOK(1:8) = CEE0CEFIXUP_CTOK(9:12) = Z'00000000'RESPONSE = 60
ENDIF
FORTRAN/* Now print the string in the file */
fp = fopen("PROG.DAT","rb");rc = fgets(buffer,sizeof(buffer),fp);if (rc == NULL){
perror(" Error reading from file ");exit(99);
}printf("%s", buffer);
C/C++
PUT SKIP LIST( RS_STRING || REASON_CODE ); IF RETURN_CODE = 0 THEN
DO; /* Write the signature and its length to the output file. */FILE_OUT_LINE = SIG_LEN_STRING || SIGNATURE_LENGTH;WRITE FILE(SIGOUT) FROM( FILE_OUT_LINE );FILE_OUT_LINE = SIG_STRING || SIGNATURE;WRITE FILE(SIGOUT) FROM( FILE_OUT_LINE );
END;
PL/1
Traditional programming languages
© Copyright IBM Corporation 2010
Source code
Executablecode
Languagecompiler
Compilers
© Copyright IBM Corporation 2010
C C++ COBOL PL/I FORTRAN
Language Environment
Subsystems
CICS DB2 IMS
Operating systemz/OS z/VM
The Language Environment - z/OS
© Copyright IBM Corporation 2010
Initialize program
Indicate errors(for example MSG)
* Mathematical functions* Date* Time
Allocate storage
Call another program
Handle errors
Terminate program
User programLE resident routines
LE dynamic routines
-
In LE Link Library-
Linked with user program
-
In LE Runtime Library-
Loaded dynamically
Services of Language Environment
© Copyright IBM Corporation 2010
Traditional applications
Programming languages
Object technology
UNIX applications
Object technology in z/OS
© Copyright IBM Corporation 2010
Conventional programming
Program
Data
Object-orientedprogramming
Program + Data
What is object technology?
© Copyright IBM Corporation 2010
ApplicationIn-house objects Vendor objects
Object-oriented technology
© Copyright IBM Corporation 2010
Open AccountClose AccountDepositWithdrawal
NameAcct.No.Balance
Checking Account
Name Data MethodOpen AccountClose AccountPayment
NameAcct.No.Inter.RatePrinciple
Loan Account
Name Data Method
Open AccountClose Account
NameAcct.No.
AccountName Data Method
Generic ClassGeneric Class
Open AccountClose AccountDepositWithdrawal
J.Baker#123456$ 2,500
Checking Account
Name Data Method
Inhe
ritan
ce
Classes
Object =real Account
Classes and objects
© Copyright IBM Corporation 2010
HTTP
JVM
and
cor
e cl
asse
s S
cala
bilit
y
wORKLOAD
MGMT
Application Server Instance
HTT
P S
erve
rO
RB
Dae
mon
Corporate Databases
Transaction Servers
z/OS
HTTP client
J2EE compliant client
IIOP
J2EE compliant objects
Container
WebSphere Application Server for z/OS
J2EE and Enterprise Java Beans
© Copyright IBM Corporation 2010
Traditional applications
Programming languages
Object technology
UNIX applications
UNIX applications
© Copyright IBM Corporation 2010
Application programs
Shell
Utilities
Kernel
Hardware interface
Hardware
Coded in
dev user
/
Filesa
End-user interfaceCommand interpreter
EditorCompilerFile handling commandsProcess control/synchronizationFile systemHardware driver
Hardware independencefor kernel
C
C
C
C
Ass/C
UNIX basic structure
© Copyright IBM Corporation 2010
Traditional z/OSservices
Traditionalapplication
UNIXapplication
z/OS data sets HFS/zFS files
Network
UNIX System Services overview
© Copyright IBM Corporation 2010
z/OSapplications
Mixedapplications
UNIXapplications
z/OS services
Application programming interfaces
MVSdata sets
HFS
UNIX services
Application development