|
1
|
- Jon Sayles, IBM EcoSystems Team
|
|
2
|
- © Copyright IBM Corporation 2007,2008.
All rights reserved.
- The information contained in these materials is provided for
informational purposes only, and is provided AS IS without warranty of
any kind, express or implied.
IBM shall not be responsible for any damages arising out of the
use of, or otherwise related to, these materials. Nothing contained in these materials
is intended to, nor shall have the effect of, creating any warranties
or representations from IBM or its suppliers or licensors, or altering
the terms and conditions of the applicable license agreement governing the use of IBM software.
References in these materials to IBM products, programs, or services do
not imply that they will be available in all countries in which IBM
operates.
- This information is based on current IBM product plans and strategy,
which are subject to change by IBM without notice. Product release
dates and/or capabilities referenced in these materials may change at
any time at IBMs sole discretion based on market opportunities or
other factors, and are not intended to be a commitment to future
product or feature availability in any way.
- IBM, the IBM logo, the on-demand business logo, Rational, the Rational
logo, and other IBM Rational products and services are trademarks or
registered trademarks of the International Business Machines
Corporation, in the United States, other countries or both. Other
company, product, or service names may be trademarks or service marks
of others.
|
|
3
|
- Thanks to the following individuals, for assisting with this course:
- David Myers/IBM, Ka Yin Lam/IBM,
|
|
4
|
- 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 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
|
|
5
|
- Audience
- This course is designed for application developers who have programmed
in some language before, and who wish to learn COBOL.
- Prerequisites
- This course assumes that the student has the basic knowledge of IS
technologies, data processing, software and have programmed for at
least two or more years in a language such as: Java, VB, RPG, PL/1,
Pascal, or some 4th Generation Language or tool.
- Knowledge of SQL (Structured Query Language) for database access is
assumed as well.
- Basic PC and mouse-driven development skills is also assumed.
- Finally, it is assumed that you have been following along in this
course, and have successfully completed the learning modules in
sequence.
- Or have the equivalent COBOL background obtained through some other
form of COBOL study or on-the-job work.
|
|
6
|
|
|
7
|
- 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
|
|
8
|
|
|
9
|
|
|
10
|
- LPARs are the equivalent of a separate mainframe for most practical
purposes
- Each LPAR runs its own operating system
- Devices can be shared across several LPARs
- Processors can be dedicated or shared
- When shared each LPAR is assigned a number of logical processors (up to
the maximum number of physical processors) and a weighting
- Each LPAR is independent
|
|
11
|
- 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
be partitioned 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/256 Giga-bytes cache and 284/Mega-Bytes of non-volatile memory
|
|
12
|
- The IBM S/360 through to the latest zSeries machines use the Extended
Binary Coded Decimal Interchange character set for most purposes
- This was developed before ASCII and is also an 8 bit character set
- z/OS Web Server stores ASCII data as most browsers run on PCs which
expect ASCII data
- UNICODE is used for JAVA on the latest machines
|
|
13
|
|
|
14
|
|
|
15
|
- 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
- Mainframe file and database systems:
- VSAM/QSAM files
- DL/I (IMS) databases
- DB2 databases
- Mainframe development software (traditional)
- Tools
- Development process
- Procedural languages
|
|
16
|
|
|
17
|
|
|
18
|
|
|
19
|
|
|
20
|
|
|
21
|
|
|
22
|
|
|
23
|
|
|
24
|
|
|
25
|
|
|
26
|
|
|
27
|
|
|
28
|
|
|
29
|
|
|
30
|
- Here are some links for additional study on mainframe software terms and
concepts:
- 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 this Unit
- http://en.wikipedia.org/wiki/Z/OS
- 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 and concepts in this Unit
- http://www-03.ibm.com/systems/z/destinationz/
- IBM's site for mainframe and z/topic communities
|
|
31
|
|
|
32
|
- 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
|
|
33
|
- Recall from the previous slide that there are two "modes" of
z/OS applications:
- Batch: Where "Jobs" are executed through "JCL" (Job
Control Language) cards that are read and understood by z/OS
- Online: Where transactions ("trancodes") are entered into a
z/OS sub-system that "listens" for them. These sub-systems (either IMS/TM or
CICS) are responsible for:
- Security ensuring authentication and authorization from those
entering the TRANCODE and connecting to the online system
- Attaching the proper initial process (COBOL program) responsible for
handling the transaction
- More
|
|
34
|
- There are only a few places in a batch COBOL program that interface with
z/OS. It's easiest to understand
by studying a little (!) JCL
- JCL is an operating system language that has three major keywords (aka
"cards")
|
|
35
|
- In COBOL every QSAM and VSAM file you access will need a
"SELECT/ASSIGN" statement that essentially defines a
"logical" external file name which must have a matching //DD
card in the JCL that runs your code.
See the pictures below.
|
|
36
|
- Online applications run under the supervision of a transaction
management system (in z/OS either: 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:
|
|
37
|
|
|
38
|
|