zos terms and concepts

38
8/4/2019 zOS Terms and Concepts http://slidepdf.com/reader/full/zos-terms-and-concepts 1/38 ® IBM Software Group © 2006 IBM Corporation Enterprise COBOL Education Using Rational Developer for Enterprise COBOL Education Using Rational Developer for System Z System Z z/OS Terms and Concepts z/OS Terms and Concepts  Jon Sayles, IBM EcoSystems Team

Upload: chinnaiah-gopineni

Post on 07-Apr-2018

234 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 1/38

®

IBM Software Group

© 2006 IBM Corporation

Enterprise COBOL Education Using Rational Developer forEnterprise COBOL Education Using Rational Developer for

System ZSystem Z

z/OS Terms and Conceptsz/OS Terms and Concepts

 Jon Sayles, IBM EcoSystems Team

Page 2: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 2/38

2

IBM Trademarks and Copyrights

© Copyright IBM Corporation 2007,2008. All rights reserved.

The information contained in these materials is provided for informational purposesonly, and is provided AS IS without warranty of any kind, express or implied. IBMshall not be responsible for any damages arising out of the use of, or otherwiserelated to, these materials. Nothing contained in these materials is intended to, norshall have the effect of, creating any warranties or representations from IBM or itssuppliers or licensors, or altering the terms and conditions of the applicable licenseagreement governing the use of IBM software. References in these materials to IBMproducts, programs, or services do not imply that they will be available in all countriesin which IBM operates.

This information is based on current IBM product plans and strategy, which aresubject to change by IBM without notice. Product release dates and/or capabilitiesreferenced in these materials may change at any time at IBM’s sole discretion basedon market opportunities or other factors, and are not intended to be a commitment tofuture product or feature availability in any way.

IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, andother IBM Rational products and services are trademarks or registered trademarks ofthe International Business Machines Corporation, in the United States, othercountries or both. Other company, product, or service names may be trademarks orservice marks of others.

Page 3: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 3/38

3

Course Contributing Authors

Thanks to the following individuals, for assisting with this course:

David Myers/IBM, Ka Yin Lam/IBM,

Page 4: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 4/38

4

Purpose of This Document

Course Name: COBOL Foundation Training - with RDz

Course Description: Learn the COBOL language, RDz and learn z/OS terms, concepts and development skills in this course.

Pre-requisites: Some experience in a 3rd or 4th Generation Language is expected. SQL is also recommended.

Course Length: 10 days

Topics (Agenda)

Getting Started - installing and configuring RDz - and the course materials, and using Eclipse to edit COBOL

z/OS Terms and Conceptsz/OS Terms and Concepts

COBOL General Language Rules

Basic COBOL Statements

Data records and table handling

Debugging Programs - Note: Deep dive on using RDz for common COBOL programming errors (001, 0C4, 0C7, infinite loops, fall-thru, etc.)

Input/Output and Report Writing Patterns

Sequential File Match/Merge Patterns

COBOL Subprograms and the Linkage Section

Structured Programming Concepts and Coding Patterns

Advanced Character Manipulation, COBOL Intrinsic Functions, Date and Time coding patterns, and Language Environment calls

OS/390 Concepts and JCL

Compile/Link & Run Procs on the mainframe

Indexed file Coding Patterns

Sort/Merge and Master File Update Coding Patterns

Accessing DB2 Data and Stored Procedures

COBOL in the Real World:

– CICS - lecture only

– IMS (DL/I and TM) - ditto

– Batch processing - ditto

– Java calling COBOL

– COBOL and XML Statements

– SOA and COBOL - creating and calling Web Services

– Web 2.0 using Rich UI

Page 5: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 5/38

Page 6: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 6/38

6

UNIT

Topics:

z/OS Terms andz/OS Terms and

ConceptsConcepts

  z/OS Hardware Terms and Conceptsz/OS Hardware Terms and Concepts

z/OS Software Terms and Concepts

COBOL and z/OS Integration

Appendices

Page 7: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 7/38

7

Topic objectives

After completing this topic, you should be able to:

Describe the characteristics and define the following IBM hardware:

Mainframes 3390 disk packs

LPARs

EBCDIC

Multi-tier environments

Page 8: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 8/388

Why Learn About the z/OS?Why Learn About the z/OS?

 

1. Very difficult to re-engineer the1. Very difficult to re-engineer the (up to 40 years of) production business functionalityproduction business functionality

running on a mainframerunning on a mainframe (generally not cost-efficient & risky)

2. What they do for I/T shops – they do extremely well2. What they do for I/T shops – they do extremely well (proven & reliable): Large-scale capacity – by every standard of measurement:

Support for 1,000s, 10,000s, 100,000s concurrent users

100,000s 1,000,000s TPS (transactions per/second)

Hosting for dozens/hundreds of databases/files, measured in terabytes

High-speed/secure/stable network access

Able to support mixed environments and workloads. One box often hosts:

OLTP (On-Line Transaction Processing), Batch processing, Ad-hoc processing

Several testing regions

Multiple logical (virtual) "machines" split from single box

Even runs multiple operating systems concurrently (z/OS, Linux, z/VM)

Extremely stable/secure production environment: If a mainframe box goes down once/per year it's unusual

Recovery and data integrity mechanisms unparalleled

Efficient, self-regulating operating system:

Slicing/Prioritizing CPU cycles flexible, simple, cost-effective MIPS

Prior generation names:

OS/390, s/390 (system 390) …. s/370 (system 370), MVS (Multiple Virtual Storage)

Page 9: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 9/389

Terms and Concepts – HardwareTerms and Concepts – Hardware

The IBM TotalStorage Enterprise Storage Server (ESS) Model 800

Capacity up to 56 Terabytes (that's 5,600 Gigabytes)

Prior generation of technology names: DASD (Direct Access Storage Device

IBM z/900 seriesIBM z/990 series

"The zSeries is the enterprise class e-business server optimized for integration, transactions and data of the next

generation e-business world."

IBM s/90 G5/G6

Smallest workloadsIBM z/Series 800

(LinuxLinux) - smaller workloads

IBM i/900 series

Mid-range Mainframe

Formerly: AS/400

IBM z/10 series

Page 10: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 10/38

Page 11: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 11/3811

Disk Devices

Current mainframes use 3390 disk devices

The original configuration was simple with a controller connected to the processor

and strings of devices attached to the back end The DS8000 Enterprise Storage Server is a device that can manage disk devices

It emulates a large number of control units and 3390 disks. It can also bepartitioned and connect to UNIX and other systems as SCSI devices.

There are 11/196 Terra-bytes of disk space up to 32 channel interfaces, 16/256Giga-bytes cache and 284/Mega-Bytes of non-volatile memory

IBM 3390 Disk Unit

IBM 3990

Control Unitchannels

Page 12: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 12/38

Page 13: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 13/3813

Modern Multi-Tier Mainframe SystemsModern Multi-Tier Mainframe Systems

Business ApplicationBusiness Application

ServerServerBrowserBrowser

ClientClient

Client TierClient Tier Middle TierMiddle Tier

BrowserBrowser

ClientClient

Enterprise TierEnterprise Tier

PresentationPresentation

LogicLogicBusiness ObjectsBusiness Objects

LegacyLegacy

SystemsSystems

DatabaseDatabase

ServerServer

ClientClient

See Slide NotesSee Slide Notes

Page 14: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 14/3814

UNIT

Topics:

z/OS Terms andz/OS Terms and

ConceptsConcepts

Hardware Terms and Concepts

  z/OS Software Terms and Conceptsz/OS Software Terms and Concepts

COBOL Program and z/OS Integration

Appendices

Page 15: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 15/3815

Topic objectives

After completing this topic, you should be able to:

Describe the characteristics and define the following IBM software terms and

concepts: z/OS and mainframe operating system software

Batch processing

Online applications

– Transactions

– BMS

– MFS Mainframe file and database systems:

– VSAM/QSAM files

– DL/I (IMS) databases

– DB2 databases

Mainframe development software (traditional)

– Tools– Development process

– Procedural languages

Page 16: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 16/3816

Terms and Concepts – Operating SystemsTerms and Concepts – Operating Systems

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== ====================================================== ============================== ====================================================== ======================

z/OSz/OS Latest mainframe operating system UNIX/Linux/Windows

XP"z" refers to 64-bit addressing "z-architecture" – z/OS is "Self-optimizing,

Self-configuring and Self-healing". z/OS supports Java (6), XML, DB2,

TCP/IP and can host the Linux operating system as running task.

OS/390OS/390 Previous generation mainframe operating system Windows NT Win98

MVSMVS Mainframe operating system during late 70's, 80's early 90's Win95Multiple Virtual Storage – virtually partition real storage to allow

for multiple applications – all with access to max addressable memory

z/VMz/VM Latest operating system for mid-size mainframes. VM (per se') is prior

generation of this O.S. development tools under VM include:

CMS (same as TSO) and Xedit (similar to ISPF/Edit).

VSE/ESAVSE/ESA Operating system for small mainframes. Its predecessor was DOS/VSE.

TSOTSO Time Sharing Option – an operating system within z/)OS

TSO provides time slicing (access to mainframe cycles) for

developers coding, compiling, testing, etc.

JCLJCL Job Control Language – a language for specifying the properties Korn shell

scripts

and characteristics of batch a lication " obs". .CMD

Page 17: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 17/3817

Traditional "Online" …vs… "Batch" ApplicationsTraditional "Online" …vs… "Batch" Applications

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== =============================================================== =======================================================

======================================

OnlineOnline Access to production applications and data from connected 3270 terminals WebSphere,Tomcat…

is done through Online systems. Characteristics: extremely high throughput, sub-second response-

time, limited data access, mix of Read/Only, Insert, Update, Delete. Access from 3270 devices to the

mainframe in is traditionally through VTAM (especially if running under SNA). Today's Online

systems often connect web pages to back-office resources.

BatchBatch Access to production applications and data offline (after 7:00 PM) UNIX Korn Shell, .cmd filesis done through Batch systems. Characteristics: extremely high volume (process from 100,000s to

1,000,000s of transactions in a single job. The "job" is the unit of work, defined by JCL (Job Control

Language) and consists of dozens to 100s of individual programs linked together to process data.Online Systems–Teleprocessing Region(s)Online Systems–Teleprocessing Region(s) Batch Region(s) --- DevelopmentBatch Region(s) --- Development

3270 users3270 users

OnlineOnline

ApplicationsApplications

OnlineOnline

ApplicationsApplicationsOnlineOnline

ApplicationsApplications

OnlineOnline

ApplicationsApplicationsOnlineOnline

ApplicationsApplications

OnlineOnline

ApplicationsApplications

TSO usersTSO users

BatchBatch

JobsJobs

BatchBatch

JobsJobsBatchBatch

JobJob

BatchBatch

JobJob

BatchBatch

JobsJobs

BatchBatch

JobsJobs

Offline (batch)Offline (batch)

Files andFiles and

DatabasesDatabases

Offline (batch)Offline (batch)

Files andFiles and

DatabasesDatabasesCICS or IMS TMCICS or IMS TM

z/OSz/OS

and

z/10

JCL JOBsJCL JOBs

VTAMVTAMVTAMVTAM

OnlineOnline

Files andFiles andDatabasesDatabases

OnlineOnline

Files andFiles andDatabasesDatabases

Online ResourceOnline Resource

AdaptorsAdaptors

Online ResourceOnline Resource

AdaptorsAdaptors

Page 18: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 18/3818

z/OS Online Application Systemsz/OS Online Application Systems

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== =============================================================== =======================================================

======================================

C.I.C.S.C.I.C.S. Customer Information Control System. IBM's oldest teleprocessing monitor. WebSphere,Tomcat…

Runs as a job under the operating system. Coordinates all resources necessary for secure units of

 work (transactions) – two-phase commit across multiple data sources, etc. Screens defined with

BMS

maps. Other resources defined to C.I.C.S. system tables through RDO (Resource Definitions Online)

Note that screens for z/OS 3270. Screens for I/Series (AS/400) 5250

IMS/TMIMS/TM Information Management System/Transaction Manager. IBM's dedicated WebSphere,

Tomcat… IMS TP monitor. Same functionality as C.I.C.S. – but different product. No application program

access to native VSAM files (directly). Typically installed in "IMS shops". TP calls through 'CBLTDLI'

interface.C.I.C.S. Region(s)C.I.C.S. Region(s)

3270 - BMS Maps3270 - BMS Maps

CICS RegionCICS Region

z/OSz/OS

and z/10

3270 – MFS Maps3270 – MFS Maps

IMS/TMIMS/TM

ApplicationsApplications

IMS/TMIMS/TM

ApplicationsApplications

IMS TM RegionIMS TM Region

IMS/TM Region(s)IMS/TM Region(s)

IMS/TMIMS/TM

ApplicationsApplications

IMS/TMIMS/TM

ApplicationsApplicationsIMS/TMIMS/TM

ApplicationApplication

IMS/TMIMS/TM

ApplicationApplication

C.I.C.S.C.I.C.S.

ApplicationApplication

C.I.C.S.C.I.C.S.

ApplicationApplicationC.I.C.S.C.I.C.S.

ApplicationApplication

C.I.C.S.C.I.C.S.

ApplicationApplicationC.I.C.S.C.I.C.S.

ApplicationApplication

C.I.C.S.C.I.C.S.

ApplicationApplication

VTAMVTAMVTAMVTAM VTAMVTAMVTAMVTAM

DB2DB2

DL/IDL/I

GSAMGSAM

DB2DB2

DL/1DL/1

VSAMVSAM

CICS Transaction GatewayCICS Transaction GatewayCICS Transaction GatewayCICS Transaction Gateway IMS ConnectIMS ConnectIMS ConnectIMS Connect

Web/REST services havefound their way into themix as well – in accessingonline data and process

Page 19: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 19/3819

Traditional Batch Processing SoftwareTraditional Batch Processing Software

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== =============================================================== =======================================================

======================================

TivoliTivoli Production (and Integration/Q.A. test) Job Scheduler (J.E.S.)Embarcadero

CA-7 Automates production control over: job queues, security, priority, scheduling,

schedule Ids, job (pre and post) processing requirements, documentation

Ad HocAd Hoc TSO/ISPF has facilities to create (edit) and submit JCL jobs. Korn Shell, .cmd

file

Both in the background (running under the control of the Job initiator and queues) andin the foreground (running under TSO itself – almost like dedicated online process).

REXX execs and CLISTs (same as .cmd files) can also be executed in the TSO foreground for

various

reasons (usually utilities like copy/delete files, etc.)Batch Region(s) Development SubsystemBatch Region(s) Development Subsystem

TSO/ISPF usersTSO/ISPF users

BatchBatch

JobsJobs

BatchBatch

JobsJobsBatchBatch

JobJob

BatchBatch

JobJobBatchBatch

JobsJobs

BatchBatch

JobsJobs

z/OSz/OS

and box

JCLJCL JOBsJOBs

REXXREXX execsexecs

CLISTsCLISTs

JESJES

JOBJOB

Initiator(s)Initiator(s)

JESJES

JOBJOB

Initiator(s)Initiator(s)

Offline (batch)Offline (batch)

Files andFiles and

DatabasesDatabases

JESJES

QueueQueue

TivoliTivoli

CA-7CA-7

Page 20: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 20/3820

Databases – DB2Databases – DB2

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== ============================================================ ====================================================

==========================================

DB2 IBM's flagship relational DBMS. Has close to 100% market share Oracle, SQLServer,etc.

on the mainframe (no significant competitors on z/xxx machines).

- Most concepts and standards of PC/UNIX relational databases apply to DB2

(tables, rows, indexes, views, stored procedures, etc.)

- DBA-level (physical) structures very different (as they are with most RDBMS products ( see below )

- And on the mainframe, almost all access to data is done through static " plansplans" which arebound SQL statementsbound SQL statements stored in the DB2 Catalog. DB2 supports Stored Procedures & dynamic

SQL

DB2DB2

Database – logical artifactDatabase – logical artifact

TablespaceTablespace – physical artifact– physical artifact

TableTable TableTable IndexIndex

CatalogCatalog

PlanPlanPlanPlanPlanPlanPlanPlan

PlanPlanPlanPlan

System TablesSystem TablesSystem TablesSystem Tables

Application ProgramApplication Program

……

Exec SQLExec SQL

Call 'plan'Call 'plan'

……

End-Exec.End-Exec.

Page 21: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 21/3821

Databases – IMSDatabases – IMS

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== ============================================================ ====================================================

========================================

IMS-DL/I IBM's hierarchical DBMS. Data is stored in inverted tree structures called ISAM (indexed)files

"segments". Note that IMS/ESA has two components (IMS/DB and IMS/TM – formerly IMS/DC)

- The segments (and their relationships) are defined with in a proprietary specification block (file)

known as a DBDDBD (Data Base Descriptor).

- Applications access IMS databases through an application view defined in a specification known as

a

PSBPSB (Program Specification Block) – which is composed of 1-Many PCBPCBs (ProgramCommunications Block). Each PCB is a view a single database segment. Access to IMS databases is

through a call

interface (Call using format – similar to method calls passing parameters and returning data).

- IMS database technology is also referred to as: IMS DB … and DL/1 (Data Language 1 – which is

like SQL for accessing IMS databases. DL/1 (or DL/I) is a complex and sophisticated language (read

difficult) language. The business semantics of most IMS databases is shared between the

application program's DL/1 logic (sequenced access calls) and the data per se'.SuppliersSuppliers

PartsParts AddressAddress PurchaseOrdersPurchaseOrders

IMS Application ProgramIMS Application Program

……

Call 'CBLTDLI'Call 'CBLTDLI'

USINGUSING SUPP-PCB,SUPP-PCB,

IO-AREA,IO-AREA,

DB-SSA.DB-SSA.

Page 22: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 22/3822

Files and Databases – VSAMFiles and Databases – VSAM

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== ========================================================= =========================== ========================================================= ===================

VSAM IBM's foundation data storage system. Basically comprised of indexed ISAM (indexed)

filesfiles – and applications and system utilities that access the indexed data.

- Access is either direct (through primary key), sequential (read until condition),

or through secondary index file (similar to a WHERE clause).

- Syntax/access to VSAM (Virtual Storage Access Method) files in most IBM languages is through

direct statements: OPEN INPUT file, check status… READ file, check status. OPEN OUTPUT

FILE…

UPDATE file, INSERT into file, CLOSE file. (native language access – not Call Interface).

- The business semantics of almost all VSAM files is shared between the application program's data

access logic (sequenced calls) and the data per se'.

SuppliersSuppliers

VSAM Application ProgramVSAM Application Program

……

OPEN input SUPPLIER-FILEOPEN input SUPPLIER-FILE

if SUPPLIER-STATUS = '00'if SUPPLIER-STATUS = '00'

subtract APPL-RESULT fromsubtract APPL-RESULT from

APPL-RESULTAPPL-RESULT

else add 12 to ZERO givingelse add 12 to ZERO giving

APPL-RESULT end-ifAPPL-RESULT end-if

……

SecondarySecondary

Index FileIndex File

SupplierSupplier

Zip CodesZip Codes

SecondarySecondary

Index FileIndex File

SupplierSupplier

Zip CodesZip Codes

Page 23: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 23/3823

Files and Databases – OtherFiles and Databases – Other

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== ============================================================ ====================================================

========================================

QSAM Queued Sequential Access Management (aka "flat" files). Sequentialfiles…

Non-indexed files that hold (almost always) batch data for bulk processing. Often historical data,

back-ups and image-copy data.

IDMS Non-IBM proprietary files in "network/CODASYL" data model Indexed

files…

Originally offered by CullinaneCullinane software (Boston). Later purchased by Computer Associates.

Many large Fortune 1000 IDMS users.

ADABAS Non-IBM proprietary files in "indexed/table" data model Indexed

files…

Originally offered by SoftwareAG,SoftwareAG, ADABAS has a large install base (especially in U.S. government

and state offices. Coupled with the NaturalNatural programming language (a COBOL-like 3GL) there arestill lots of ADABAS installations.

EBCDIC …vs… ASCIIEBCDIC …vs… ASCII - internal data storage format   It is worth noting that virtually all mainframe data is internally stored using inIt is worth noting that virtually all mainframe data is internally stored using in EBCDICEBCDIC format.format.

This means that some software will have to translate bytes transmitted, between mainframe/PCThis means that some software will have to translate bytes transmitted, between mainframe/PC

It also means that (text) data sorted on the mainframe will sort in a different order on the PCIt also means that (text) data sorted on the mainframe will sort in a different order on the PC

Page 24: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 24/3824

Traditional Development EnvironmentTraditional Development Environment

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== ============================================================ ====================================================

========================================

TSOTSO Time Sharing Option. Basically, a "job" that runs under z/OS responsible UNIX/WindowsO.S.

for managing program development resources (files, Login, jobs, etc.)

ISPFISPF Interactive Systems Programming Facility. Each individual developer's custom XDE …

WSAD

Development IDE, that allows programmers to: Create new source files and manage them.

- Edit source and data files, interact with common version control software,

compile/link/run/test programs (usually by submitting background "jobs")

through JCL – but often shops provide "foreground" (interactive) facilities for this common process.

- Developers are allowed a [relatively] wide margin to customize their own unique environments.

- And shops almost always created "system software" tools that snap-in to ISPF – maintaining

standards, raising productivity, and providing easier access to in-house functions – often written

in REXX or CLIST language.

- Sometimes called: SPF (for short). C.A. offers a similar facility, named: ROSCOE.

Version Many different competing version control and "library management" facilities

ClearCase

ControlControl Available on the mainframe. They all do (roughly) the same thing. Most shops use:

SoftwareSoftware CA-Endevor, Serena-Changeman, IBM-SCLM, CA-Panvalet, CA-Librarian

Page 25: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 25/3825

Terms and Concepts – TSO/ISPF DevelopmentTerms and Concepts – TSO/ISPF Development

ISPF "Main Menu" ofISPF "Main Menu" of

development optionsdevelopment options

ISPF Edit (of JCL file)ISPF Edit (of JCL file)

ISPFISPF

UtilityUtility

AllocateAllocate

DatasetDataset

(file)(file)

http://publibz.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/ISPZEM00/CONTENTS?SHELF=&DT=20001109114810#3.1.19http://publibz.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/ISPZEM00/CONTENTS?SHELF=&DT=20001109114810#3.1.19

Terms and Concepts – Compile/Link/RunTerms and Concepts – Compile/Link/Run

Page 26: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 26/38

26

Terms and Concepts – Compile/Link/RunTerms and Concepts – Compile/Link/RunEnvironmentEnvironment

Load ModuleLoad ModuleLoad ModuleLoad Module

Source ModuleSource ModuleSource ModuleSource Module JES ReaderJES ReaderJES ReaderJES Reader

Object ModuleObject ModuleObject ModuleObject Module

Similar to C, C++, and other 3 and 4GLs…

Source is compiled to to .OBJ (machine

code)

Errors are returned to the JES reader

(usually visible through an option under

TSO)

The .OBJ format of the program is linked to

a "load module" by the Link Editor – which

resolves all external references and calls

The Load Module is reference in JCL – by

naming the entry point of the initial

program to be launched (like main() in

Java)//EXEC PGM=LoadModule…//EXEC PGM=LoadModule…//EXEC PGM=LoadModule…//EXEC PGM=LoadModule…

Page 27: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 27/38

27

Development File Types - IntroductionDevelopment File Types - Introduction

In a development environment, there areIn a development environment, there aretwo file types:two file types:

Files that hold application sourceFiles that hold application source

Files that hold application data Files that hold application data 

Both are created (allocated) using someBoth are created (allocated) using some

form of z/OS Jobform of z/OS Job JCL Utility programJCL Utility program

ISPF panel – which creates and submitsISPF panel – which creates and submitsJCL as a foreground taskJCL as a foreground task

Files are usually referred to as Data SetsFiles are usually referred to as Data Sets– and are allocated on a disk pack with a – and are allocated on a disk pack with a volume serial number – that uniquelyvolume serial number – that uniquelyidentifies the disk in the LPARidentifies the disk in the LPAR

Application source files:Application source files:

Partitioned Data Set (PDS)Partitioned Data Set (PDS)

A collection of like-type sequential files:A collection of like-type sequential files:COBOL, JCL, CLIST.COBOL, JCL, CLIST.

Individual files are termed "members" ofIndividual files are termed "members" ofthe PDS – which is the "Data Set"the PDS – which is the "Data Set"

You can almost think of them as: recordsYou can almost think of them as: records(individual members) within an array (the(individual members) within an array (thePDS Data Set)PDS Data Set)

Sequential Data SetSequential Data Set Individual files – can be used for: TestIndividual files – can be used for: Test

data (QSAM data sets), source files (notdata (QSAM data sets), source files (nottypically, but possible),typically, but possible),

ExecutablesExecutables

A specialized form of the PDS is a LoadA specialized form of the PDS is a LoadLibrary – which is a PDS that containsLibrary – which is a PDS that contains"Load Modules""Load Modules"

Each Load Module is the compiled andEach Load Module is the compiled andlinked version of program sourcelinked version of program source

Test Data SetsTest Data Sets

Many and varied types:Many and varied types:

Fixed sequentialFixed sequential

Variable Length SequentialVariable Length Sequential

Print filesPrint files

Load librariesLoad libraries

Partitioned Data SetsPartitioned Data Sets

Space is allocated typically in disk pack:Space is allocated typically in disk pack:

TracksTracks

CylindersCylinders

Records within a file:Records within a file:

Have a lengthHave a length

Are aggregated into "blocks" – which become the unit of I/O transferAre aggregated into "blocks" – which become the unit of I/O transfer

i

Page 28: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 28/38

28

Programming LanguagesProgramming Languages

Mainframe DescriptionMainframe Description Network/PC EquivalentNetwork/PC Equivalent

======== ============================================================ ====================================================

========================================

COBOLCOBOL Common Business Oriented LanguageBASIC

-- A 40+ year-old language, that is still being heavily invested in – although not nearly at

the same rate it was, during the 60's, 70's and 80's (or even 90's). COBOL is an English-like

 wordy language. That is optimal for applications with long shelf-lives – due to it's verbose (I.e.

easy-to-read) nature, universality, and it's run-time optimization.

- COBOL programs have a DATA DIVISION – analogous to a class's attributes, and a PROCEDURE

DIVISION – analogous to a class's methods.

- Data structures and files are defined through what are called copybooks – which describe the

individual fields and field definitions (data format, etc.). Copybooks are downloaded and become

RRD classes, when accessed through our mainframe integration technology.

HLASMHLASM High Level Assembler Assembler

High Level Assembler is an IBM licensed program that helps you develop programs

and subroutines to provide functions not typically provided by other symbolic

languages, such as COBOL, FORTRAN, and PL/I.

PL/IPL/I An elegant, 3rd generation, imperative, structured programming language.

BASIC

Used a lot in scientific and financial shops. Not as universal as COBOL.

RPGRPG Report Program Generator. A high-level 3GL – used extensively on the iSeries/AS400

Software – Programming Languages – "HelloSoftware – Programming Languages – "Hello

Page 29: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 29/38

29

Software Programming Languages HelloSoftware Programming Languages HelloWorld" ComparisonWorld" Comparison

000100 IDENTIFICATION DIVISION.000100 IDENTIFICATION DIVISION.

000200 PROGRAM-ID. HELLOWORLD.000200 PROGRAM-ID. HELLOWORLD.

000300*000300*

000400 ENVIRONMENT DIVISION.000400 ENVIRONMENT DIVISION.

000500 CONFIGURATION SECTION.000500 CONFIGURATION SECTION.

000600 SOURCE-COMPUTER. IBM-COBOL.000600 SOURCE-COMPUTER. IBM-COBOL.

000700 OBJECT-COMPUTER. IBM-COBOL.000700 OBJECT-COMPUTER. IBM-COBOL.

000800000800

000900 DATA DIVISION.000900 DATA DIVISION.

001000 FILE SECTION.001000 FILE SECTION.

001100001100

001200 PROCEDURE DIVISION.001200 PROCEDURE DIVISION.

001300 DISPLAY "Hello world!".001300 DISPLAY "Hello world!".

001400 STOP RUN.001400 STOP RUN.

000100 IDENTIFICATION DIVISION.000100 IDENTIFICATION DIVISION.

000200 PROGRAM-ID. HELLOWORLD.000200 PROGRAM-ID. HELLOWORLD.

000300*000300*

000400 ENVIRONMENT DIVISION.000400 ENVIRONMENT DIVISION.

000500 CONFIGURATION SECTION.000500 CONFIGURATION SECTION.

000600 SOURCE-COMPUTER. IBM-COBOL.000600 SOURCE-COMPUTER. IBM-COBOL.

000700 OBJECT-COMPUTER. IBM-COBOL.000700 OBJECT-COMPUTER. IBM-COBOL.

000800000800

000900 DATA DIVISION.000900 DATA DIVISION.

001000 FILE SECTION.001000 FILE SECTION.

001100001100

001200 PROCEDURE DIVISION.001200 PROCEDURE DIVISION.

001300 DISPLAY "Hello world!".001300 DISPLAY "Hello world!".

001400 STOP RUN.001400 STOP RUN.

HELLO: PROCEDURE OPTIONS (MAIN);HELLO: PROCEDURE OPTIONS (MAIN);/* A PROGRAM TO OUTPUT HELLO WORLD *//* A PROGRAM TO OUTPUT HELLO WORLD */

FLAG = 0; LOOP:FLAG = 0; LOOP:

DO WHILE (FLAG = 0);DO WHILE (FLAG = 0);

PUT SKIP DATA('HELLO WORLD!');PUT SKIP DATA('HELLO WORLD!');

END LOOP;END LOOP;

END HELLO;END HELLO;

HELLO: PROCEDURE OPTIONS (MAIN);HELLO: PROCEDURE OPTIONS (MAIN);

/* A PROGRAM TO OUTPUT HELLO WORLD *//* A PROGRAM TO OUTPUT HELLO WORLD */

FLAG = 0; LOOP:FLAG = 0; LOOP:

DO WHILE (FLAG = 0);DO WHILE (FLAG = 0);

PUT SKIP DATA('HELLO WORLD!');PUT SKIP DATA('HELLO WORLD!');

END LOOP;END LOOP;

END HELLO;END HELLO;

HELLOPRT START 0 IN THE BEGINNING...HELLOPRT START 0 IN THE BEGINNING...

PRINT NOGEN SPARE US THE MACRO EXPANSIONSPRINT NOGEN SPARE US THE MACRO EXPANSIONS

BEGIN SAVE (14,12) SAVE INPUT REGISTERSBEGIN SAVE (14,12) SAVE INPUT REGISTERS

LR 12,15 WHERE ARE WE?LR 12,15 WHERE ARE WE?

USING HELLOPRT,12 RIGHT HEREUSING HELLOPRT,12 RIGHT HERE

ST 13,SAVE+4 SAVE OLD SAVE AREA ADDRESSST 13,SAVE+4 SAVE OLD SAVE AREA ADDRESS

LA 11,SAVE POINT TO NEW SAVE AREALA 11,SAVE POINT TO NEW SAVE AREA

ST 11,8(13) IN OLD SAVE AREAST 11,8(13) IN OLD SAVE AREA

LR 13,11 MOVE SAVE AREA ADDRESSLR 13,11 MOVE SAVE AREA ADDRESS

**

* WRITE "HELLO, WORLD!" ON WHATEVER HAS BEEN SET UP AS SYSPRINT* WRITE "HELLO, WORLD!" ON WHATEVER HAS BEEN SET UP AS SYSPRINT

ININ

* THE INVOKING JCL (NO, UNIX DOESN'T HAVE A MONOPOLY ON DEVICE-* THE INVOKING JCL (NO, UNIX DOESN'T HAVE A MONOPOLY ON DEVICE-

* INDEPENDENT I/O!)* INDEPENDENT I/O!)

**

DOPUT EQU *DOPUT EQU *

PUT SYSPRINT,HELLOMSG WRITE THE MESSAGEPUT SYSPRINT,HELLOMSG WRITE THE MESSAGEB DOPUT FOREVER...B DOPUT FOREVER...

**

* THIS CODE WILL NEVER BE REACHED, BUT IS INCLUDED FOR* THIS CODE WILL NEVER BE REACHED, BUT IS INCLUDED FOR

COMPLETENESSCOMPLETENESS

**

L 13,SAVE+4 GET OLD SAVE AREA BACKL 13,SAVE+4 GET OLD SAVE AREA BACK

RETURN (14,12),RC=0 TO THE OPERATING SYSTEMRETURN (14,12),RC=0 TO THE OPERATING SYSTEM

**

* FILE AND WORK AREA DEFINITIONS* FILE AND WORK AREA DEFINITIONS

**

SAVE DS 18F LOCAL SAVE AREASAVE DS 18F LOCAL SAVE AREAHELLOMSG DC C' HELLO, WORLD!'HELLOMSG DC C' HELLO, WORLD!'

SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,

XX

RECFM=FA,LRECL=133,BLKSIZE=133RECFM=FA,LRECL=133,BLKSIZE=133

END BEGINEND BEGIN

HELLOPRT START 0 IN THE BEGINNING...HELLOPRT START 0 IN THE BEGINNING...

PRINT NOGEN SPARE US THE MACRO EXPANSIONSPRINT NOGEN SPARE US THE MACRO EXPANSIONS

BEGIN SAVE (14,12) SAVE INPUT REGISTERSBEGIN SAVE (14,12) SAVE INPUT REGISTERS

LR 12,15 WHERE ARE WE?LR 12,15 WHERE ARE WE?

USING HELLOPRT,12 RIGHT HEREUSING HELLOPRT,12 RIGHT HERE

ST 13,SAVE+4 SAVE OLD SAVE AREA ADDRESSST 13,SAVE+4 SAVE OLD SAVE AREA ADDRESS

LA 11,SAVE POINT TO NEW SAVE AREALA 11,SAVE POINT TO NEW SAVE AREA

ST 11,8(13) IN OLD SAVE AREAST 11,8(13) IN OLD SAVE AREA

LR 13,11 MOVE SAVE AREA ADDRESSLR 13,11 MOVE SAVE AREA ADDRESS

**

* WRITE "HELLO, WORLD!" ON WHATEVER HAS BEEN SET UP AS SYSPRINT* WRITE "HELLO, WORLD!" ON WHATEVER HAS BEEN SET UP AS SYSPRINT

ININ

* THE INVOKING JCL (NO, UNIX DOESN'T HAVE A MONOPOLY ON DEVICE-* THE INVOKING JCL (NO, UNIX DOESN'T HAVE A MONOPOLY ON DEVICE-

* INDEPENDENT I/O!)* INDEPENDENT I/O!)

**

DOPUT EQU *DOPUT EQU *

PUT SYSPRINT,HELLOMSG WRITE THE MESSAGEPUT SYSPRINT,HELLOMSG WRITE THE MESSAGEB DOPUT FOREVER...B DOPUT FOREVER...

**

* THIS CODE WILL NEVER BE REACHED, BUT IS INCLUDED FOR* THIS CODE WILL NEVER BE REACHED, BUT IS INCLUDED FOR

COMPLETENESSCOMPLETENESS

**

L 13,SAVE+4 GET OLD SAVE AREA BACKL 13,SAVE+4 GET OLD SAVE AREA BACK

RETURN (14,12),RC=0 TO THE OPERATING SYSTEMRETURN (14,12),RC=0 TO THE OPERATING SYSTEM

**

* FILE AND WORK AREA DEFINITIONS* FILE AND WORK AREA DEFINITIONS

**

SAVE DS 18F LOCAL SAVE AREASAVE DS 18F LOCAL SAVE AREA

HELLOMSG DC C' HELLO, WORLD!'HELLOMSG DC C' HELLO, WORLD!'

SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,SYSPRINT DCB DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,

XX

RECFM=FA,LRECL=133,BLKSIZE=133RECFM=FA,LRECL=133,BLKSIZE=133

END BEGINEND BEGIN HLASM programHLASM program

PL/I programPL/I program

COBOL programCOBOL program

OS i k d

Page 30: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 30/38

30

z/OS Links and

Here are some links for additional study on mainframe software terms andconcepts:

http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp An excellent set of organized categories of info – that backstop a lot of the material in thisAn excellent set of organized categories of info – that backstop a lot of the material in this

UnitUnit

http://en.wikipedia.org/wiki/Z/OS What can we say… it's Wikipedia What can we say… it's Wikipedia 

http://www.trainersfriend.com/Papers/Future_of_Mainframe.pdf

A somewhat advanced but excellent next-level-down dive on the technology terms andA somewhat advanced but excellent next-level-down dive on the technology terms andconcepts in this Unitconcepts in this Unit

http://www-03.ibm.com/systems/z/destinationz/

IBM's site for mainframe – and z/topic communitiesIBM's site for mainframe – and z/topic communities

KnowledgeKnowledge

Page 31: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 31/38

31

UNIT

Topics:

z/OS Terms andz/OS Terms and

ConceptsConcepts

Hardware Terms and Concepts

z/OS Software Terms and Conceptsz/OS Software Terms and Concepts

  COBOL Program and z/OS IntegrationCOBOL Program and z/OS Integration

Appendices

T i bj ti

Page 32: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 32/38

32

Topic objectives

After completing this topic, you should be able to:

Describe how COBOL programs:

Are executed at run-time by operating system Attach to and read/write data from external data

Interface with other business logic

Page 33: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 33/38

B t h P i ( l li htl ) D Di

Page 34: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 34/38

34

//STEPNAME EXEC PGM=MYPROG,//STEPNAME EXEC PGM=MYPROG,

// PARM=AABBCC,…// PARM=AABBCC,…

//STEPLIB DD DSN=MYLOADLIB//STEPLIB DD DSN=MYLOADLIB

Batch Processing (only slightly) Deeper Dive

//JOBname JOB,…,TIME=(1)//JOBname JOB,…,TIME=(1)

LOADLIBLOADLIBCompiledCompiled

ProgramsPrograms

//DDName DD DSN=MY.zOS.FILE,...//DDName DD DSN=MY.zOS.FILE,...

// …dataset characteristics…// …dataset characteristics…

//JOBname JOB//JOBname JOB – describes the characteristics of thebatch job, including how much CPU time it is allowed.Note that the TIME=TIME= parameter will kill programs ininfinite loops (although it won't solve your coding problem )

DatasetDatasetz/OSz/OS

QSAM, VSAMQSAM, VSAM

DL/I filesDL/I files

//Stepname EXEC//Stepname EXEC – tells z/OS what programto execute (like main in Java or C/C++)

//STEPLIB//STEPLIB – tells z/OS the name of the libraryto search for the compiled program

//DDName//DDName – DDDD statement. Connects yourprogram's I/O statements with z/OS datasets.

DSN= "fully-qualifies" the name of the dataset(so z/OS can find it)

 Your program needs one //DD statement forevery file it accesses. And where's the hook forthat? (next slide…)Note – there's a LOT more to JCL. We'll cover it later onNote – there's a LOT more to JCL. We'll cover it later on

in the course, when you get to hit the mainframe.in the course, when you get to hit the mainframe.

COBOL d B t h

Page 35: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 35/38

35

COBOL and Batch

//MYFILE DD DSN=ABC.MYFILE//MYFILE DD DSN=ABC.MYFILE,...,...

// …dataset characteristics…// …dataset characteristics…

////MYFILE - is the logical file name that connects the COBOL

program's I/O statements (internal file variable name) to …

DSN=ABC.MYFILEDSN=ABC.MYFILE – which is the physical (external) filename that

lives on a 3990 disk pack attached z/OS

COBOL d O li T ti

Page 36: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 36/38

36

TRANCODETRANCODE

Online applications run under the supervision of a transaction management system (in z/OSeither: CICS or IMS TM).

The transaction manager connects to a series of system tables with entries defined for

resources necessary to fulfill run-time transaction requests:

COBOL and Online Transactions

z/OSz/OS

C IC I

I MI M

C SC S

SS

TT

MM

CICS or IMS "System Tables"CICS or IMS "System Tables"

Terminals (LTERM)Terminals (LTERM) Device IDs allowed to hit the online regionDevice IDs allowed to hit the online region

Users (User-ID/Password)Users (User-ID/Password) Authentication/AuthorizationAuthentication/Authorization

Trancode (transaction code)Trancode (transaction code) List of actual trancodes, and which program toList of actual trancodes, and which program toload and execute for each trancodeload and execute for each trancode

File (or database)File (or database) Entry that acts like a batch DD card, andEntry that acts like a batch DD card, anddefines which files can be accessed onlinedefines which files can be accessed online

…… Many other control block definitions are needed toMany other control block definitions are needed tosupport a production online transaction systemsupport a production online transaction system

……

Page 37: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 37/38

37

UNIT

Topics:

z/OS Terms andz/OS Terms and

ConceptsConcepts

Hardware Terms and Concepts

z/OS Software Terms and Concepts

COBOL Program and z/OS Integration

AppendicesAppendices

z/OS – COBOLz/OS – COBOL  Java - Java -

Page 38: zOS Terms and Concepts

8/4/2019 zOS Terms and Concepts

http://slidepdf.com/reader/full/zos-terms-and-concepts 38/38

/OS CO O/OS CO O Ja aJa aEquivalence ChartEquivalence ChartMainframe/COBOL/z/OSMainframe/COBOL/z/OS I-Net/Java I-Net/Java 

=================================== ===============================================

Program field or variable Class or Local method Attribute

Paragraph  MethodProgram (source)  Class Definition (.java file)

Load Module (.EXE file)  Compiled Class (.class file)

Execute or run a Load Module  Object instance of a Class, running in Java/VM

Load Modules in a Load Library  Classes defined in Packages

Program passed/returned parameters  Method passed/returned parameters

JCL .cmd/.shell script (UNIX)

Requirements-Based Vocabulary(OO COBOL)  User Defined Datatype (Class)

REDEFINES clause    Class and Datatype Casting/conversion

Program/sub-routine calls  Java method calls

Call to System/Utility program  Java or NeuVis API method calls

RDBMS/Database  RDBMS/Database

Table  Persisted Class data

Table row  Single object persisted data

SQL statement/Stored Procedure  same … but all dynamic SQL using JDBC

CICS/IMS DC  Application Server

BMS Map/MFS  Java Servlet/HTML Page

CICS Queue/IMS DC Scratch Pad  EJB Session Object 

CICS In/Out Maps, IMS MFS MID/MOD EJB Request/Response Objects