application development on power system (ibm i) school of software engineering tongji university...
TRANSCRIPT
Application Development on Power System (IBM Application Development on Power System (IBM ii))
Application Development on Power System (IBM i)
School of Software Engineering Tongji University
HUANGJie
No Subject Hours Abstract Instructor
1 Overview of IBM i 2 Server, Power System and Power System IBM i Huangjie
2 iOS fundamental 4 i OS & Basic Operation Huangjie
3 File system & object management 4 Object management concept and integrated file system Huangjie
4 Message management 2 Message & Its management Huangjie
5 Work management 4 Concepts of job, subsystem and library, job routing Huangjie
6 Administration ABC 2 Security, Storage & Restore Management Huangjie
7 Application Development 6 ILE development enviroment , RPG programming Huangjie
8 Database Development 4 Database on IBM i Huangjie
9 IBM i & SOA 2 SOA approach on IBM i Huangjie
10 Case Study 2 Csae Study Huangjie
11 Examination 2 Examination Huangjie
Syllabus
Chapter 5 Chapter 5 Work ManagementWork Management
Unit 1 Power System Foundation
Outline
• Agenda:– Work management concept and structure– Subsystem– Job– Major subsystem and job commands– Job description– Exercise/Practice– Question & Answer
Hardware
Kernel
OS
Applications Direct access to hardwareis not allowed!
Machine Interface (MI) - or Technology Independent Machine Interface (TIMI) - logical not physical interface
SLIC
OS/400*
System License Internal Code (SLIC) - insulate applications from underlying hardware - SLIC is hardware dependent!
* called i5/OS on i5 systems
Work management - TIMI
23/4/18 5
OS/400
SLIC
Hardware
Machine
Interface
Security Database
Device support
Work management
Work management - OS Functional Split
23/4/18 6
Work Management Concept
• Work management is the core of the operation system. It provides functions necessary to control system operation and job processing on the system.
• A Job is a set of tasks performed on a computer system. With a job, any number of functions can be performed.
• Jobs may be requested by a single control language command, a series of CL commands, a single program (i.e., a CL program or a high-level language program such as an RPG program), or a series of programs.
• Work management controls batch jobs, interactive jobs and spooled jobs.
23/4/18 7
Work Management Structure
• IBM i work management has three major levels in its structure.– System– Subsystem – Job entries
• System– IBM i system as a whole is defined by system values and network
attributes. Both of which must be configured and established when the system is first set up.
– Examples of system values are system time, date, the maximum number of activity levels of the system.
– Examples of network attributes are system name, local network ID, and network server name.
23/4/18 8
Work Management Structure (Continued)
• Both system values and network attributes can be retrieved and changed by CL commands.
• Command examples for system values:– Retrieve system values command: RTVSYSVAL – Retrieve System Value
• RTVSYSVAL SYSVAL (system-value-name) RTNVAR (CL-variable-name)
– Change system value command: CHGSYSVAL – Change system value• CHGSYSVAL SYSVAL (system-value-name) VALUE (new-value)
• Command examples for network attributes:– RTVNETA – Retrieve Network Attributes
• RTVNETA SYSNAME (CL-variable-name) LCLNETID(CL-variable-name) + NETSERVER (CL-variable-name)
– CHGNETA – Change Network Attributes• CHGNETA SYSNAME (system-name) LCLNETID (local-network-ID) + NETSERVER (network-ID)23/4/18 9
术语 _ 选自《计算机操作系统教程 [ 张尧学 著 ] 》
• JOB( 作业 ) :– 在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机
所做的有关该次业务处理的全部工作。– 作业由不同的顺序相连的作业步组成。– 作业步是在一个作业的处理过程中计算机所做的相对独立的工作。
• JOB( 作业 ): 比程序更广的概念– 作业由程序、数据和作业说明书组成。– 系统通过作业说明书控制程序和数据,使之执行和操作。
• Process( 进程 ):– 并发执行的程序在执行过程中分配和管理资源的基本单位。
• Thread( 线程 ) :– 是进程的一部分,没有自己的地址空间,它和进程内的其他线程一起共
享分配给该进程的所有资源。– 使用线程的好处是:在有多个任务需要处理时,减少处理机的切换时间,
且线程的创建和结束所需要的系统开销比进程的创建和结束开销少得多。
23/4/18 10
Work management objects
OS/400
SUBSYSTEM
JOBTHREAD
SYSTEMVALUES
NETWORKATTRIBUTES
SBSD
WORKENTRIES
POOLS PROGRAM
CLASS
JOBD
ROUTINGENTRIES
MI
Job
Process
ThreadThread
23/4/18 11
7
6
15
4
Main Storage
QCMD
CLASS
Priority
OS/400
SBSD
Routing
JOBD
JobDescription
Routing
PROFILE
Initial Program
Job Description
SBSMonitor
PROG1
32
Interactive Job Routing - Operator‘s View
23/4/18 12
Outline
• Agenda:– Work management concept and structure– Subsystem– Job – Major subsystem and job commands– Job description– Exercise/Practice– Question & Answer
Subsystem
• Subsystem– Subsystems contain job entries where jobs are placed and processed.– Subsystems include IBM-supplied subsystems and user-created
subsystems.– IBM-supplied subsystems include the QBASE, QCTL, QBATCH, QINTER,
QSPL, and QCMN.– QBASE
• QBASE is the default subsystem that allows users to run all jobs when the system is first installed.
• The QBASE subsystem should be regarded only as a transitory subsystem because it is very inefficient to run all jobs in just one subsystem.
• As soon as the system is established up and running, you should use the CHGSYSVAL command to change the subsystems that run your jobs.
23/4/18 14
Subsystem (2)
• Subsystem– QCTL
• The subsystem that starts and ends other subsystems such as QBATCH, QINTER, QSPL and QCMN. QCTL also controls the functions of other subsystems.
– QBATCH• The subsystem contains job queues that allows batch jobs to be submitted and run.
QBATCH arranges and manages the batch entries, job priorities, and running of active jobs.
– QINTER• The subsystem has workstation entries that allow interactive jobs to run simultaneously
in this subsystem.
– QSPL• The subsystem has spooled job queue entries for spooled jobs. Example of spooled jobs
are read and write spooled jobs.
– QCMN• The subsystem has communication entries for all communications jobs that are to run in
this subsystem.
23/4/18 15
A specialized environment for handling a certain type of work or function, such as:
- WRKSBS
COMMUNICATIONS
BATCH
INTERACTIVE
SPOOLING
Subsystems
23/4/18 16
Display Subsystem DescriptionSubsystem description: QINTER System: ABCStatus: ACTIVE Library: QSYS
Select one of the following: 1. Operational attributes 2. Pool definitions 3. Autostart job entries 4. Work station name entries 5. Work station type entries 6. Job queue entries 7. Routing entries 8. Communications entries 9. Remote location name entries10. Prestart job entries
30. All of the above
Selection or command==>____________________________________________________________________
Operational Attributes
Pool Definitions
PoolID
1
2
StorageSize (KB)
*BASE
*INTERACT
Maximum jobs in subsystem
Sign-on display file
*NOMAX
QSYS/QDSIGNON
Subsystem Description (1/4)
23/4/18 17
Display Subsystem DescriptionSubsystem description: QINTER System: ABCStatus: ACTIVE Library: QSYS
Select one of the following: 1. Operational attributes 2. Pool definitions 3. Autostart job entries 4. Work station name entries 5. Work station type entries 6. Job queue entries 7. Routing entries 8. Communications entries 9. Remote location name entries10. Prestart job entries
30. All of the above
Selection or command==>____________________________________________________________________
WORKSTATION Entries
Type Jobd
*ALL *USRPRF DSP03 *USRPRF
Name Jobd
Job Jobd
START STARTJD
AUTOSTART Job Entries
Jobq
QBATCH
Job Queue Entries
PROG01 JOBDAPPC
Prog Jobd
PRESTART Job Entries
*ALL *USRPRF
Dev Jobd
Communication Entries
Subsystem Description (2/4)
23/4/18 18
Display Subsystem DescriptionSubsystem description: QINTER System: ABCStatus: ACTIVE Library: QSYS
Select one of the following: 1. Operational attributes 2. Pool definitions 3. Autostart job entries 4. Work station name entries 5. Work station type entries 6. Job queue entries 7. Routing entries 8. Communications entries 9. Remote location name entries10. Prestart job entries
30. All of the above
Selection or command==>____________________________________________________________________
SEQNBR CMPVAL CLASS PGM POOL ID
10 QCMDB QBATCH QCMD 1
50 QCMDI QINTER QCMD 2
9999 *ANY QBATCH QCMD 1
Routing Entries
QBATCH QINTER
Run Priority 50 20
Time Slice 5000 ms 2000 ms
Purge *NO *YES
Wait Time 120 sec 30 sec
Class Information
Subsystem Description (3/4)
23/4/18 19
Display Subsystem DescriptionSubsystem description: QINTER System: ABCStatus: ACTIVE Library: QSYS
Select one of the following: 1. Operational attributes 2. Pool definitions 3. Autostart job entries 4. Work station name entries 5. Work station type entries 6. Job queue entries 7. Routing entries 8. Communications entries 9. Remote location name entries10. Prestart job entries
30. All of the above
Selection or command==>____________________________________________________________________
Jobs 1 to 5 have equal priority.
Which jobs run concurrently if the subsystem description has: MAXJOBS = 2 MAXJOBS = 3 MAXJOBS = 4 MAXJOBS = *NOMAX?
Job queue entries in subsystem description
JOBQ JOBQA JOBQB JOBQC
SEQNBR 1O 20 30
MAXACT *NOMAX 1 1
MAXPTY1 *NOMAX *NOMAX *NOMAX
. : : :
MAXPTY9 : :
JOB 2 JOB 4 JOB 5
JOB 1 JOB 3
Subsystem Description (4/4)
23/4/18 20
Outline
• Agenda:– Work management concept and structure– Subsystem– Job – Major subsystem and job commands– Exercise/Practice– Question & Answer
Job TypeSystem jobs
User jobs
Autostart
Batch
I nteractive
Communication
Spooling
Q...
23/4/18 22
Job
• Job Entries– The Job Entries are the depositories where jobs actually run.– Job Queue Entries are job queues that are normally defined and created in
the subsystems that run batch jobs (i.e., QBATCH, QBATCH2)– Workstation Entries are entries that are defined in the subsystems that run
interactive jobs (i.e., QINTER, QINTER2). Interactive jobs are run by users through workstation terminals. Subsystems must allow multiple workstation entries running multiple interactive jobs simultaneously.
– Spooled job entries are job queues that are defined in the subsystem that run spooled jobs (i.e., QSPL). Spooled job entries allow reader and writer spooled jobs to run.
– Communication entries are normally defined in the QCMN subsystem. They contain communications protocols and allow communications jobs to run.
23/4/18 23
Job identification
Qualified job name
User name J ob name
000578 AS24xx DSP01
J ob number
23/4/18 24
Job Life Cycle
Submit Job queue Subsystem Memory pool Output
23/4/18 25
SBMJOB
Job queue
Outputqueue
Batch
InteractiveSign-on
WRITER
PRINTER
WRKJOBQ WRKACTJOB WRKOUTQ WRKWTR WRKSPLF
WRKUSRJOB WRKSBMJOB
Subsystempool
Job Processing
23/4/18 26
Job queue
Job queue priority
JOB1 (2)
JOB2 (1)
JOB3 (4)
JOB4 (2)
JOB5 (1)
JOB6 (4)
JOB2JOB5
JOB1JOB4
JOB3JOB6
1 HIGH
LOW
2
3
4
.
.
.
Job Queue
23/4/18 27
Display Job Description System: HYDRA Job description: QDFTJOBD Library: QGPL User profile . . . . . . . . . . . . . . . . . . : *RQD CL syntax check . . . . . . . . . . . . . . . . : *NOCHK Hold on job queue . . . . . . . . . . . . . . . : *NO End severity . . . . . . . . . . . . . . . . . . : 30 Job date . . . . . . . . . . . . . . . . . . . . : *SYSVAL Job switches . . . . . . . . . . . . . . . . . . : 00000000 Inquiry message reply . . . . . . . . . . . . . : *RQD Job priority (on job queue) . . . . . . . . . . : 5 Job queue . . . . . . . . . . . . . . . . . . . : QBATCH Library . . . . . . . . . . . . . . . . . . . : QGPL Output priority (on output queue) . . . . . . . : 5 Printer device . . . . . . . . . . . . . . . . . : *USRPRF Output queue . . . . . . . . . . . . . . . . . . : *USRPRF Library . . . . . . . . . . . . . . . . . . . : More... Press Enter to continue. F3=Exit F12=Cancel
Message logging: Level . . . . . . . . . . . . . . . . . . . . : 4 Severity . . . . . . . . . . . . . . . . . . . : 0
Text . . . . . . . . . . . . . . . . . . . . . : *NOLIST
Job Description
23/4/18 28
Display User Profile - Basic User profile . . . . . . . . . . . . . . . : AS2401 Storage information: Maximum storage allowed . . . . . . . . : *NOMAX Storage used . . . . . . . . . . . . . . : 312 Storage used on independent ASP . . . . : *NO Highest scheduling priority . . . . . . . : 3 Job description . . . . . . . . . . . . . : QDFTJOBD Library . . . . . . . . . . . . . . . . : QGPL Accounting code . . . . . . . . . . . . . : Message queue . . . . . . . . . . . . . . : AS2401 Library . . . . . . . . . . . . . . . . : QUSRSYS Message queue delivery . . . . . . . . . . : *NOTIFY Message queue severity . . . . . . . . . . : 00 Output queue . . . . . . . . . . . . . . . : AS24OUTQ Library . . . . . . . . . . . . . . . . : AS2401 Printer device . . . . . . . . . . . . . . : *WRKSTN More... Press Enter to continue. F3=Exit F12=Cancel
User Profile
23/4/18 29
Output of job - Job log (DSPJOBLOG) Display All Messages System: T6060A1CJob . . : QPADEV0001 User . . : ZHONGHUI Number . . . : 009283 Job 009283/ZHONGHUI/QPADEV0001 started on 07/11/28 at 20:58:30 in subsystem QINTER in QSYS. Job entered system on 07/11/28 at 20:58:30. > /* */ 3 > go cmdsbs 3 > STRSBS 3 > ENDSBS 3 > WRKSBS 3 > wrksbs 3 > WRKSBS 3 > go cmdsbsd 3 > WRKSBSD SBSD(QBATCH) 3 > WRKSBSD 3 > dspusrprf zhonghui More...Press Enter to continue. F3=Exit F5=Refresh F12=Cancel F17=Top F18=Bottom
23/4/18 30
Output of job – Spooled file (WRKSPLF) Work with All Spooled Files Type options, press Enter. 1=Send 2=Change 3=Hold 4=Delete 5=Display 6=Release 7=Messages 8=Attributes 9=Work with printing status Device or Total Cur Opt File User Queue User Data Sts Pages Page Copy QSYSPRT ZHONGHUI QPRINT WRKSYSVAL RDY 4 1 T5MIGSAV ZHONGHUI QPRINT RDY 5 1 T5MIGSAV ZHONGHUI QPRINT RDY 5 1 T5MIGSAV ZHONGHUI QPRINT RDY 5 1 T5MIGSAV ZHONGHUI QPRINT RDY 5 1 QGLDDIRTRC ZHONGHUI QPRINT QGLD007328 HLD 69 1 BottomParameters for options 1, 2, 3 or command ===> F3=Exit F10=View 4 F11=View 2 F12=Cancel F22=Printers F24=More keys
23/4/18 31
Output of job – Spooled file (DSPSPLF) Display Spooled File File . . . . . : QSYSPRT Page/Line 1/1 Control . . . . . Columns 1 - 78 Find . . . . . . *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+... System Values 5722SS1 V5R4M0 060210 Current Shipped Name value value QABNORMSW 0 0 QACGLVL *NONE *NONE QACTJOB 20 20 QADLACTJ 10 10 QADLSPLA 2048 2048 QADLTOTJ 10 10 QALWJOBITP 0 0 QALWOBJRST *ALL *ALL QALWUSRDMN *ALL *ALL QASTLVL > *INTERMED *BASIC QATNPGM *ASSIST *ASSIST QAUDCTL > *AUDLVL *NONE More...F3=Exit F12=Cancel F19=Left F20=Right F24=More keys
23/4/18 32
Output of job – Output Queue (WRKOUTQ) Work with All Output Queues Type options, press Enter. 2=Change 3=Hold 4=Delete 5=Work with 6=Release 8=Description 9=Work with Writers 14=Clear Opt Queue Library Files Writer Status CBSAOUTQ CBSSYSLIB 3 RLS CBSBOUTQ CBSSYSLIB 0 RLS CBSCOUTQ CBSSYSLIB 0 RLS CBSTOUTQ CBSSYSLIB 0 RLS CBSWOUTQ CBSSYSLIB 0 RLS PFOQBACH CBSSYSLIB 0 RLS PFOQBKUP CBSSYSLIB 0 RLS PFOQTEXT CBSSYSLIB 0 RLS PFSBK CBSSYSLIB 0 RLS PFSBK01101 CBSSYSLIB 0 RLS PFSBK01103 CBSSYSLIB 0 RLS PFSBK01104 CBSSYSLIB 0 RLS More...Command ===> F3=Exit F4=Prompt F5=Refresh F12=Cancel F24=More keys
23/4/18 33
Output of job – Message Queue (WRKMSGQ) Work with Message Queues Type options, press Enter. 1=Create 2=Change 4=Delete 5=Display messages 14=Clear Message Opt Queue Library Text QIJS QUSRSYS QIPP QUSRSYS User QIPP message queue QMGTC QUSRSYS User QMGTC message queue QNETSPLF QUSRSYS User QNETSPLF message queue QPGMR QUSRSYS User QPGMR message queue QPM400 QUSRSYS User QPM400 message queue QSECOFR QUSRSYS User QSECOFR message queue QSRV QUSRSYS User QSRV message queue QSRVAGT QUSRSYS User QSRVAGT message queue QSRVBAS QUSRSYS User QSRVBAS message queue More...Parameters for options 1, 2 and 5 or command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display names only F12=Cancel F16=Repeat position to F17=Position to F24=More keys
23/4/18 34
Output of job – Message Queue (WRKMSGQ) Display Messages System: T6060A1C Queue . . . . . : ZHONGHUI Program . . . . : *DSPMSG Library . . . : QUSRSYS Library . . . : Severity . . . : 00 Delivery . . . : *NOTIFY Type reply (if required), press Enter. From . . . : ZHONGHUI 07/11/28 21:47:40 Test message BottomF3=Exit F11=Remove a message F12=Cancel F13=Remove all F16=Remove all except unanswered F24=More keys
23/4/18 35
iSeries Performance
What everyone would like to have …
23/4/18 36
iSeries Performance
SubsystemDescriptions
Job Queues
Activity Levels
Network Attributes
Fault Rates
Job StateTransitions
System Values
Job Descriptions
System Displays
Classes
Pool Sizes
But what we do have
23/4/18 37
Outline
• Agenda:– Work management concept and structure– Subsystem– Job – Major subsystem and job commands– Exercise/Practice– Question & Answer
Major subsystem and job commands - Job
• GO CMDJOB– Lists all job related commands
• DSPJOBLOG– shows commands and related messages for a job that is still active when its
job log has not been written.• WRKJOB
– works with or change information concerning a user job• WRKACTJOB
– works with performance and status information for the active jobs in the system.
• WRKSBMJOB– works with all jobs submitted from your work station, job, or user profile.
• WRKUSRJOB– works with a list of selected user jobs.
• CHGJOB– changes some of the attributes of a job.
• SBMJOB– allows a job that is running to submit another job to a job queue to be run
later as a batch job.– The default subsystem for batch job is QBATCH
• DLYJOB– causes your current job to wait for a specified number of seconds, or until a
specified time of day, before running resumes.
Major subsystem and job commands - Subsystem
• GO CMDSBS– Lists all subsystem related commands
• STRSBS– starts a subsystem using the subsystem description specified in the command
• ENDSBS– ends the specified subsystem (or all active subsystems) and specifies what
happens to active work being processed.• WRKSBS
– allows you to work with each active subsystem in the system.• WRKSBSD
– shows a list of subsystem descriptions and allows you to change, delete, display, start, and end specified subsystem descriptions.
Outline
• Agenda:– Work management concept and structure– Subsystem– Job – Major subsystem and job commands– Exercise/Practice– Question & Answer
Exercise - System i work management
• Qualified Job Name is built up by?– Job Number + User Name + Job Name
Jobs 1 to 5 have equal priority.
Which jobs run concurrently if the subsystem description has: MAXJOBS = 2 MAXJOBS = 3 MAXJOBS = 4 MAXJOBS = *NOMAX?
Job queue entries in subsystem description
JOBQ JOBQA JOBQB JOBQC
SEQNBR 1O 20 30
MAXACT *NOMAX 1 1
MAXPTY1 *NOMAX *NOMAX *NOMAX
. : : :
MAXPTY9 : :
JOB 2 JOB 4 JOB 5
JOB 1 JOB 3
Questions & Answer
23/4/18 43