One Two Three Four Five ...

183
06/12/22 Celepar-GSO-Disop CICS-Int rodução [email protected] r 1 INTRODUÇÃO AO CICS One Two Three Four Five ... C I C S C I C S

description

6. One Two Three Four Five . C I C S. INTRODUÇÃO AO CICS. 6. C I C S. Sumário. Slide Assunto 004................Introduction to CICS 016................Transaction Flow 040................Programming 062................Queueing - PowerPoint PPT Presentation

Transcript of One Two Three Four Five ...

Page 1: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

1

INTRODUÇÃO AO CICS

One Two Three Four Five ...

C I C SC I C S

Page 2: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

2

C I C SC I C S

Page 3: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

3

SumárioSlide Slide AssuntoAssunto004................Introduction to CICS004................Introduction to CICS016................Transaction Flow016................Transaction Flow040................Programming040................Programming062................Queueing062................Queueing081................Command Level tools081................Command Level tools089................Terminal Management089................Terminal Management099................File Management099................File Management119................Data Integrity and Recovery119................Data Integrity and Recovery137................System Management137................System Management152................Communication152................Communication

Page 4: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

4

Introduction to CICSIntroduction to CICS

Page 5: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

5

C.I.C.SCustomer Information Control System

CICS

• Foi desenvolvido em 1968.Foi desenvolvido em 1968.• Tornou-se programa produto IBM em 1969Tornou-se programa produto IBM em 1969• Completa 30 anos consolidando sua posição Completa 30 anos consolidando sua posição

no mercado devido a sua constante no mercado devido a sua constante evolução.evolução.

• Controlar a execução de aplicativos em Controlar a execução de aplicativos em tempo real.tempo real.

• Suprir a necessidade de acesso rápido à Suprir a necessidade de acesso rápido à bases de dados.bases de dados.

Page 6: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

6

Transação

• Solicitação de um usuário para a realização Solicitação de um usuário para a realização de um serviço.de um serviço.– Saques em caixas eletrônicosSaques em caixas eletrônicos– Compra de passagemCompra de passagem– Reserva de hotelReserva de hotel– Serviço médicoServiço médico

CICS

Page 7: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

7

Processamento da Transação(Saque de dinheiro)

• Caixas eletrônicos espalhadosCaixas eletrônicos espalhados• Muitas pessoas solicitando saques ao Muitas pessoas solicitando saques ao

mesmo tempomesmo tempo• Controlar a execução coordenada de todas Controlar a execução coordenada de todas

essas solicitações de modo que todos os essas solicitações de modo que todos os usuários sejam atendidos com eficiência.usuários sejam atendidos com eficiência.

CICS

Page 8: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

8

Transaction Manager

• High AvailabilityHigh Availability• Fast and Consistent Fast and Consistent

Response TimeResponse Time• End-to-End IntegrityEnd-to-End Integrity• RepetitiveRepetitive• Low Cost / Low Cost /

TransactionTransaction

Nosso gerenciador Nosso gerenciador precisa ter grande precisa ter grande disponibilidade, disponibilidade, funcionando 24 h por funcionando 24 h por dia. Deve ser rápido e dia. Deve ser rápido e consistente, garantindo consistente, garantindo integridade. Por ter um integridade. Por ter um grande volume deve grande volume deve ter um baixo custo por ter um baixo custo por transaçãotransação.

CICS

Page 9: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

9

OLTPOnLine Transaction Processing

• O usuário solicita a execução do serviço e aguarda O usuário solicita a execução do serviço e aguarda seu processamento, recebendo a confirmação do seu processamento, recebendo a confirmação do sucesso ou não da operação.sucesso ou não da operação.– Potencialmente muitos usuários, muitas transaçõesPotencialmente muitos usuários, muitas transações– Diversas localidades, mesmo tipo de transaçãoDiversas localidades, mesmo tipo de transação– Mesma base de dadosMesma base de dados– Compartilhamento e Integridade dos dadosCompartilhamento e Integridade dos dados

CICS

Page 10: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

10

A função essencial da aplicação é efetuar o serviço A função essencial da aplicação é efetuar o serviço solicitado pelo usuário.solicitado pelo usuário.A parte de gerenciamento dos dados, segurança de acesso, A parte de gerenciamento dos dados, segurança de acesso, integridade, recuperação de falhas, .....? Quem deve fazer?integridade, recuperação de falhas, .....? Quem deve fazer?

APLICATION

Business Logic

Recovery

Exception Handling

Time ControlLocking

Communication

Connectivity Security

Queue Management

LoggingMultithreading

Scheduling Performance Administration

OPERATING SYSTEMOPERATING SYSTEM

HARDWAREHARDWARE

CICS

Page 11: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

11

APLICATIONS(Business Logic)

Security Exception HandlingNaming PerformanceLocking ConnectivityLogging MultithreadingScheduling Time ControlRecovery AuthorizationEnd-to-End Integrity Administration

C I C SC I C SAplicaion ServerAplicaion Server

COMUNICATIONSCOMUNICATIONS DB MANAGERDB MANAGER

OPERATING SYSTEMOPERATING SYSTEM

HARDWAREHARDWARE

CICS

Page 12: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

12

A família CICS 1/4

• Hoje a IBM já dispõe de CICS para todas as Hoje a IBM já dispõe de CICS para todas as suas plataformas:suas plataformas:– ES/9000 - MVSES/9000 - MVS CICS/ESA, CICS/MVS CICS/ESA, CICS/MVS– ES/9000 - VSEES/9000 - VSE CICS/VSE CICS/VSE– RISC/6000 - AIXRISC/6000 - AIX CICS/6000 CICS/6000– AS/400 - OS/400 CICS/400AS/400 - OS/400 CICS/400– PWS - OS/2PWS - OS/2 CICS for OS/2 CICS for OS/2

CICS

Page 13: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

13

A família CICS 2/4 • CICS para Open System (ex. HP-Unix)CICS para Open System (ex. HP-Unix)• Todos podem conversar entre siTodos podem conversar entre si• Uma aplicação desenhada para uma plataforma Uma aplicação desenhada para uma plataforma

funciona em outra (mesma API)funciona em outra (mesma API)• CICS Clients: Disponibilizam o acesso à CICS Clients: Disponibilizam o acesso à

sistemas servidores (CICS Servers).sistemas servidores (CICS Servers).– DOSDOS– Microsoft WINDOWSMicrosoft WINDOWS– OS/2OS/2– MACINTOSHMACINTOSH

CICS

Page 14: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

14

APLICATIONS

C I C SC I C S Aplicaion ServerAplicaion Server

OPERATING SYSTEMOPERATING SYSTEM

HARDWAREHARDWARE

CICS

AIXAIXOS/400OS/400VSEVSEMVS/ESAMVS/ESA

PWSPWSRISC/6000RISC/6000AS/400AS/400ES/9000ES/9000

TRANSACTION MANAGERTRANSACTION MANAGER

OS/2OS/2

3/4

Page 15: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

15

A família CICS 4/4 • Dos 500 da Dos 500 da Fortune Fortune (Publicação que engloba as maiores (Publicação que engloba as maiores

empresas do mundo), empresas do mundo), 90 % deles utilizam CICS.90 % deles utilizam CICS.• 50.000 licenças de CICS no mundo.50.000 licenças de CICS no mundo.• 300.000 programadores CICS no mundo.300.000 programadores CICS no mundo.• Utilizado em mais de 90 países, e geralmente Utilizado em mais de 90 países, e geralmente

de forma vital para as empresas.de forma vital para as empresas.• Software Houses oferecem inúmeros pacotes Software Houses oferecem inúmeros pacotes

para todas as plataformas.para todas as plataformas.

CICS

Page 16: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

16

Transaction FlowTransaction Flow

CICS

Page 17: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

17

Conceito: Transação x Task 1/2

• Transação:– Solicitação para realização de um serviço

• Ex. Verificação de estoque a partir de um terminal– 1 a 4 caracteres

• Que deve ser incluído numa tabela do CICS, chamada PPT (Program Control Table).

– Tipicamente entrada pelo terminal

CICS

Page 18: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

18

Conceito: Transação x Task 2/2

• Task:– Unidade de trabalho do CICS

• É comum chamarmos de Task a execução de uma transação.– Um ou mais programas

• Na execução de uma única task pode ocorrer o processamento de mais de um programa da aplicação.

– Task Id• Cada task tem uma identificação própria que é um número

sequencial ascendente conhecido como TASKID.

CICS

Page 19: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

19

Layout da Memória do CICS 1/3

(Ambiente MVS)

• MVS - unidades chamadas Address Space• Addres Space do CICS

– Uma parte ocupada pelo núcleo do CICS (módulos de gerenciamento e tabelas)

– Outra parte é chamada DSA (Dynamic Storage Área). Nessa área são carregados os programas da aplicação, as áreas de trabalho e os blocos de controle utilizados pela task.

CICS

Page 20: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

20

Layout da Memória do CICS 2/3 (Ambiente MVS)

• Núcleo do CICS – Entre os módulos de controle podemos citar

alguns bastante importantes:• Módulos que gerenciam o mecanismo de

DISPATCHER do CICS e que gerenciam a execução concorrente de tasks.

• DFHPCP - Program Control Program, controla a carga e a execução dos programas de aplicação.

• DFHSCP - Storage Control Program, controla a alocação de memória.

CICS

Page 21: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

21

Layout da Memória do CICS 3/3 (Ambiente MVS)

– Na DSA temos um bloco de controle chamado TCA (Task Control Área):

• Criada no momento em que a transação é iniciada e eliminada ao término de sua execução.

• Contém informações importantes, usadas pelo CICS para controlar a execução da task.

– A partir do CICS 3.1 (DSA e EDSA).• Hoje (CICS 4.1) tem 8 DSAs diferentes, onde o CICS

isola o processamento de funções distintas, aumentando sua integridade e estabilidade.

CICS

Page 22: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

22

TCPTCT

SCP

BMS

EIP

CSA DISPAT. TSP

TDPDCT

TRPICP

PCP

PCT

FCPFCT

PPT

T C A TIOA FIOA

TS

STORAGE

TD

STORAGE

USER

STORAGEAPLICATION PROGRAM

CICS

Page 23: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

23

Execução concorrente• Dois usuários executando a mesma transação.• Duas Tasks, cada uma com a sua taskid.• São criadas duas TCAs, uma para cada task.• As instruções do programa (Procedure) serão

compartilhadas e a work-storage terá uma cópia para cada task.

• Este conceito de programação é chamado semi-reentrante.

CICS

Page 24: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

24

TCPTCT

SCP

BMS

EIP

CSA DISPAT. TSP

TDPDCT

TRPICP

PCP

PCT

FCPFCT

PPT

T C AWORKING

STORAGE

APLICATION PROGRAM

CICS

WORKING

STORAGE

T C A

Page 25: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

25

Task Flow• Cada módulo ou grupo de módulos executa

funções específicas.• Cada função solicitada ao CICS faz com que a task

precise aguardar (wait), enquanto isso o CICS executa outras tasks.

• A seguir veremos, de forma bastante simplificada, o fluxo de uma task desde que o usuário digitou o seu pedido até receber a resposta na tela, lendo um arquivo:

CICS

Page 26: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

26

TerminalControl

TaskControl

ProgramControl

User Program

StorageControl

FileControl

Init Task Validate

Req.Stor.

Sch. task

Disp.task

Wait

Wait

Term.task

LoadPgm

TermTran

Req.Rec

Req.Read

SchWrite PrepOut

Req.Send

Return

Get Stor

Req Área

Get StorRec Read

FreeStorWrite

Page 27: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

27

Administação de Recursos 1/4

• O CICS administra seus recursos e de seus usuários através de suas tabelas de recursos.– DFHSIT - (System Initialization Table)

• Parâmetros para controlar a inicialização e a execução do CICS.

– DFHTCT - (Terminal Control Table)• Onde deve estar cada definição de terminal da rede

que o CICS reconhecerá. Nessas definições informamos, nome, características e método de acesso.

CICS

Page 28: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

28

Administação de Recursos 2/4

– DFHPCT - (Program Control Table)• Onde definimos cada transação, o nome do

programa que a transação executa, a prioridade, ...– DFHPPT - (Processing Program Table)

• Onde definimos cada programa e suas características tais como a linguagem na qual foi desenvolvido, opções de residência na memória, ...

CICS

Page 29: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

29

Administação de Recursos 3/4

– DFHFCT - (File Control Table)• Onde definimos os arquivos que o CICS

reconhecerá bem como suas características, quais operações serão permitidas, ...

– DFHDCT - (Destinationn Control Table)• Onde definimos as filas de Transient Data.

CICS

Page 30: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

30

Administação de Recursos 4/4

– DFHTST - (Temporary Storage Table)• Onde opcionalmente definimos as filas de TS.

– DFHPLT - (Program List Table)• Onde definimos os programas que serão executados

automaticamente durante a inicialização e o término do CICS.

CICS

Page 31: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

31

S I TDFHSIT TYPE=CSECT, AIEXIT=DFHZATDC, AUTOINSTALL USER PROG.NAME (.CEL) APPLID=CEL3CIC9, VTAM APPL IDENTIFIER DATFORM=DDMMYY, *(MMDDYY) CSA DATE FORMAT DSALIM=7M, *(5M)UPPER LIMIT OF DSA BELOW 16MB EDSALIM=90M, *(20M) UPPER LIMIT DSA ABOVE 16MB GMTRAN=CSGM, INITIAL TRANSACTION GRPLIST=DFHLIST, LIST NAME OF CSD GROUPS FOR STARTUP MXT=60, *(5) MAXIMUM NUMBER OF TASKS IN CICS* SUFFIX=A4, SUFFIX OF THIS SIT TCT=A4, TERMINAL CONTROL TABLE OPTION/SUFEND DFHSITBA

CICS

Page 32: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

32

Macro x RDO

• As tabelas de recursos são carregadas na memória na inicialização do CICS e passam a valer durante toda a rodada.

• Temos duas formas para criarmos as tabelas: – Macros Assembler– RDO (Resource Definition Online)

CICS

Page 33: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

33

Macros Assembler• Criamos um fonte com as macros de

definição de recursos, compilamos a tabela, em seguida a linkeditamos e após reciclar o CICS a tabela é validada em memória, essa forma de definição de recursos está sendo gradativamente substituída, já que para cada novo recurso ser validado precisa reciclar o CICS, prejudicando sua disponibilidade.

CICS

Page 34: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

34

RDO - Resource Definition Online• Este método consiste em definir e validar os

recursos em memória dinamicamente, sem ter que reciclar o CICS. Esse mecanismo surgiu com o CICS v1.6 em 1983 e evoluiu bastante até hoje.

• Esse processo e feito através da transação CEDA, que possui help e trabalha de forma interativa.

CICS

Page 35: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

35

Transação CEDA• Um novo recurso é definido com a função

DEFINE.• Este recurso será armazenado num arquivo

Vsam KSDS, chamado DFHCSD (Cics System Definition Dataset).

• Após isso, utilizando-se da função INSTALL, essa definição é instalada na memória do CICS e o recurso já está disponível para ser utilizado.

CICS

Page 36: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

36

Grupo de Recursos

• Todo recurso definido deve fazer parte de um grupo. O nome do grupo é indicado na própria tela onde se define o recurso.

• Os grupos podem ser organizados em LISTAS também.

• É uma forma de organizarmos os recursos que precisamos administrar.

CICS

Page 37: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

37

O que podemos definir com RDO?• Quando foi criado no CICS v1.6 1983, foi

possibilitada a definição de Transações, Programas e mapsets (telas).

• Em 1986, com a vinda da versão 1.7 tivemos implementada a facilidade de definir terminais VTAM.

• Finalmente em 1989, com o advento do CICS v3.1.1 chegou a possibilidade de definição de arquivos Vsam.

CICS

Page 38: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

38

O que devemos definir com Macro? • Todas as outras tabelas (DCT, PLT,...)• TCT para terminais não Vtam 000400 PRINT NOGEN000400 PRINT NOGEN 000500 DFHTCT TYPE=INITIAL,ACCMETH=(VTAM,NONVTAM),SUFFIX=A4000500 DFHTCT TYPE=INITIAL,ACCMETH=(VTAM,NONVTAM),SUFFIX=A4 000700 * DEFINICAO PARA TERMINAIS SEQUENCIAIS *000700 * DEFINICAO PARA TERMINAIS SEQUENCIAIS * 001600 * * * * * * * DEFINICAO P/ TERMINAL SEQUENCIAL 1 *************001600 * * * * * * * DEFINICAO P/ TERMINAL SEQUENCIAL 1 ************* 001700 DFHTCT TYPE=SDSCI,DEVICE=3505,DSCNAME=ENTSEQ01,BLKSIZE=80, *001700 DFHTCT TYPE=SDSCI,DEVICE=3505,DSCNAME=ENTSEQ01,BLKSIZE=80, * 001800 RECFM=F001800 RECFM=F 001900 DFHTCT TYPE=SDSCI,DEVICE=3211,DSCNAME=SAISEQ01001900 DFHTCT TYPE=SDSCI,DEVICE=3211,DSCNAME=SAISEQ01 002000 DFHTCT TYPE=LINE,INAREAL=132,ISADSCN=ENTSEQ01,ACCMETH=BSAM, *002000 DFHTCT TYPE=LINE,INAREAL=132,ISADSCN=ENTSEQ01,ACCMETH=BSAM, * 002100 OSADSCN=SAISEQ01,TRMTYPE=CRLP002100 OSADSCN=SAISEQ01,TRMTYPE=CRLP 002200 DFHTCT TYPE=TERMINAL,TRMIDNT=S001,TCTUAL=80, *002200 DFHTCT TYPE=TERMINAL,TRMIDNT=S001,TCTUAL=80, * 002300 TRMSTAT=(RECEIVE),NETNAME=S001002300 TRMSTAT=(RECEIVE),NETNAME=S001 006300 DFHTCT TYPE=FINAL006300 DFHTCT TYPE=FINAL 006400 END DFHTCTBA006400 END DFHTCTBA

CICS

Page 39: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

39

CICS

I N T E R V A L O

Page 40: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

40

ProgrammingProgramming

CICS

Page 41: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

41

Command Level Interface 1/2

• Chamamos de Command Level Interface a forma de programar sob o CICS, é a API do CICS.

• O Command Level surgiu em 1977, com o CICS v1.3. Antes dessa data era necessário utilizar macros assembler para programar sob CICS, procedimento bastante trabalhoso se comparado com o atual.

CICS

Page 42: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

42

Command Level Interface 2/2

• Na execução desses comandos uma interface (EIP) faz a edição das solicitações, passando o controle para os módulos responsáveis pela execução das mesmas.

• Para todo comando a interface devolve um retorno indicando se a função foi ou não bem sucedida, e em caso negativo, qual o tipo de problema que ocorreu.

CICS

Page 43: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

43

CICS Services• Através do Command Level, programas acessam os mais diversos

serviços que o CICS oferece:– Terminal

• Envio e recepção de dados (SEND), (RECEIVE)– Arquivo

• Leitura/gravação de registros (READ), (WRITE)– Programa

• Passagem de controle entre programas (LINK), ( XCTL)– Task

• Alteração de prioridade– Queueing

• Gravação de dados em filas TS e TD (WRITEQ)– Outros - ........

CICS

Page 44: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

44

Comando CICS - formatoEXEC CICS SEND FROM(AREA) LENGTH(6) END-EXEC

keywords option option delimiterfunction argument argument

• O CICS suporta as linguagens: COBOL, ASSEMBLER, PL/I.

• A partir da v3.1.1 podemos também programar em C.• Obs: END-EXEC só para Cobol.

CICS

Page 45: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

45

ExemploEXEC CICS RECEIVE INTO(W-IN) END-EXECMOVE NUMERO TO RECKEYMOVE ... EXEC CICS READ FILE(‘FILEA’)

INTO(W-REC)RIDFLD(RECKEY)END-EXEC

EXEC CICS SEND FROM(W-OUT) END-EXECEXEC CICS RETURN END-EXEC

CICS

Page 46: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

46

Montagem de um programa• Submeter o fonte do programa ao

Translator do CICS, que analisa o código.• Cada comando EXEC CICS será convertido

para instruções e tornado comentário.• Além da tradução, o Translator incluirá

algumas áreas de trabalho, que o CICS utilizará durante a execução do programa.

• Um Translator para cada linguagem.

CICS

Page 47: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

47

Montagem de um programa

FONTEFONTE

CICS CICS TRANSLATORTRANSLATOR

COMPILADORCOMPILADOR

LINK EDITLINK EDIT

REL.REL.

LOAD LOAD MODULEMODULE

REL.REL.

CICS

Page 48: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

48

Condições de exceção

EXEC CICS HANDLE CONDITION COND1 (LABEL1)EXEC CICS HANDLE CONDITION COND1 (LABEL1) Coloca-se antes de emitir o comando e se quando o CICS Coloca-se antes de emitir o comando e se quando o CICS

executar o comando acontecer a COND1 acontecerá executar o comando acontecer a COND1 acontecerá um desvio para LABEL1.um desvio para LABEL1.

EXEC CICS READ (‘FILEA’) RESP(RCQVEIO)EXEC CICS READ (‘FILEA’) RESP(RCQVEIO)IF RCQVEIO = DFHRESP(COND) THEN.....IF RCQVEIO = DFHRESP(COND) THEN.....Aqui o programador controla os acontecimentos através Aqui o programador controla os acontecimentos através

dos return codes após cada comando executado.dos return codes após cada comando executado.

CICS

Page 49: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

49

Funções de controle de programas

LINK / XCTL/ LOAD• Quando inicia-se uma transação, o

programa por ela indicado é carregado em memória e começa a ser executado.

• Nada impede que a task execute outros programas antes de seu término e para controlar a carga e a passagem de controle de um program para outro utilizamos essas funções.

CICS

Page 50: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

50

LINK• O comando LINK (exec cics link) transfere

o controle para o programa especificado, que executa sob a mesma task, e quando este termina o controle volta para o programa que emitiu o Link, na próxima instrução após o Exec Cics Link.

• Podemos, opcionalmente, passar uma área de dados de um programa para outro.

CICS

Page 51: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

51

CICS

PROG1PROG1MOVE ...MOVE ...MOVE ...MOVE ...

LINKLINK PROG2 PROG2MOVE ...MOVE ...RETURNRETURN

PROG2PROG2MOVE ...MOVE ...MOVE ...MOVE ...MOVE ...MOVE ...RETURNRETURN

Page 52: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

52

XCTL• O comando XCTL (exec cics xctl) transfere

o controle para o programa especificado, que executa sob a mesma task, e quando este termina o controle NÃO é devolvido ao programa que emitiu o comando XCTL e sim ao nível imediatamente superior.

• Podemos, opcionalmente, passar uma área de dados de um programa para outro.

CICS

Page 53: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

53

CICS

PROG2PROG2MOVE ...MOVE ...MOVE ...MOVE ...RETURNRETURNMOVE ...MOVE ...RETURNRETURN

PROG1PROG1MOVE ...MOVE ...MOVE ...MOVE ...

XCTLXCTL PROG2 PROG2MOVE ...MOVE ...RETURNRETURN

Page 54: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

54

Níveis de programas• Podemos ter a execução de vários programas sob a

mesma task. Nesse caso a task executará sob diferentes níveis lógicos de programas.

• O comando LINK faz descer um nível lógico, enquanto que o XCTL mantém a task no mesmo nível em que se encontra.

• O comando XCTL nunca volta para o programa que fez a chamada.

• Em qualquer caso, ao término de cada programa o controle sobe um nível. Quando o programa que estiver no nível 1 terminar, a task será encerrada.

CICS

Page 55: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

55

CICS

LINK PROGRAM(‘PROG2) RETURN

XCTL PROGRAM(‘PROG3) RETURN

LINK PROGRAM(‘PROG4) RETURN

. . . . RETURN

Níveis de Programas

Page 56: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

56

LOADPROG1PROG1MOVE ...MOVE ...MOVE ...MOVE ...

LOADLOAD PROGRAM(TBL1). . . PROGRAM(TBL1). . .MOVE ...MOVE ...RETURNRETURN

TBL1TBL1SP=25.00SP=25.00PR=16.00PR=16.00RJ=14.00RJ=14.00BA=31,80BA=31,80

•O comando LOAD (exec cics load) é utilizadopara solicitar ao CICS, a carga de um programa, tabela ou mapset na memória.•Muito usado para trabalhar com tabelas codificadasem assembler, carregadas e usadas por muitas transações.

CICS

Page 57: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

57

START - Task Control

EXE CICS START TRANSID(‘TRN1’)TERMID(‘TER1’)FROM(W-AREA)TIME(143000)END-EXEC

•Iniciar automaticamente uma transação, imediatamenteou num horário determinado, passando dados ou não.•Esse mecanismo de start é chamado de ATI(Automatic Transaction Initiation).

CICS

[[

]]

Page 58: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

58

B M SBasic Mapping Support 1/4

• O BMS permite a criação de telas elaboradas de maneira simples.

• A essas telas, chamamos Mapas.• Tem independência do tipo de terminal

(tamanho de tela, protocolo, outras), tratada pelo BMS, sem alterar a aplicação.

• Um mapa é composto por duas entidades: o mapa físico e o mapa simbólico.

CICS

Page 59: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

59

B M SBasic Mapping Support 2 /4

• Os mapas são definidos através de macros Assembler: DFHMSD (Mapset), DFHMDI (Mapa), DFHMDF (Campos).

• O mapa físico contem caracteres de controle para o terminal. Esse mapa é compilado, linkeditado e seu nome deve estar definido na Tabela de programas do CICS (PPT).

• O mapa lógico é a estrutura que o programa manuseia, recebendo e enviando dados para o terminal.

CICS

Page 60: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

60

B M SBasic Mapping Support 3/4

• Podemos definir vários mapas lógicos sob um mapa físico.

• Os comandos SEND MAP e RECEIVE MAP, referenciam o mapa lógico e o físico.

• O programador pode criar efeitos de janelas, construindo vários mapas menores para a mesma tela.

• O BMS possibilita também a acumulação e paginação de mapas, através de comandos especiais ou pf’s.

CICS

Page 61: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

61

B M SBasic Mapping Support 4/4

• O BMS permite também direcionar mensagens e mapas para determinados terminais ou usuários (Message Routing).

• O CICS, através da transação CMSG, que se utiliza do BMS, provê uma forma bastante simples de envio de mensagens para outros terminais. Basta informar os terminais de destino e o texto da mensagem e opcionalmente podemos escolher que seja em um horário determinado.

CICS

Page 62: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

62

QueueingQueueing

CICS

Page 63: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

63

• O cics fornece uma facilidade para armazenar dados que possuem características transientes ou temporárias, conhecida como QUEUEING ou FILAS.

• Esses dados podem ser criados por uma transação para uso próprio imediato ou posterior, ou ainda para utilização por outras transações.

• Existem dois tipos de filas:– Transient Data (TD)– Temporary Storage (TS)

CICS

Page 64: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

64

TRANSIENT DATA ( TD ) 1/9

• Filas de TD são identificadas por nomes de 4 caracteres que devem ser definidos numa das tabelas do CICS, chamada DCT (Destination Control Table). Essa tabela é definida utilizando-se macros assembler, devendo ser compilada e linkeditada.

• Filas TD tem como características a gravação e leitura de dados exclusivamente sequencial, e são divididas em dois grupos:– TDs INTRAPARTITION– TDs EXTRAPARTITION

CICS

Page 65: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

65

CICS

EXTRA-PARTITION

INTRA-PARTITION

DFHTDP

DCT Exec CicsExec CicsReadq/Writeq TDReadq/Writeq TD

TASK

Batch Programs

A task grava ou lê TDs através de Writeq TD e Readq TD.A task grava ou lê TDs através de Writeq TD e Readq TD.O módulo DFHTDP consulta a definição da fila na DCT para O módulo DFHTDP consulta a definição da fila na DCT para saber se é Intra (controlada pelo CICS) ou Extrasaber se é Intra (controlada pelo CICS) ou Extra(arquivo externo).(arquivo externo).

2/9

Page 66: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

66

TD INTRAPARTITION 3/9

• São utilizados exclusivamente dentro do CICS.São utilizados exclusivamente dentro do CICS.• Todas as filas são armazenadas no mesmo arquivo Todas as filas são armazenadas no mesmo arquivo

controlado pelo CICS: Vsam Esds chamado controlado pelo CICS: Vsam Esds chamado DFHINTRA.DFHINTRA.

• Os registros de cada fila podem ter tamanho fixo Os registros de cada fila podem ter tamanho fixo ou variável.ou variável.

• A gravação e recuperação dos dados é sempre A gravação e recuperação dos dados é sempre sequencial.sequencial.

CICS

Page 67: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

67

TD INTRAPARTITION 4/9

• Após a leitura dos registros a fila fica vazia, pronta Após a leitura dos registros a fila fica vazia, pronta para uma nova gravação de dados.para uma nova gravação de dados.

• Em TDs Intrapartition a leitura é destrutiva, as filas Em TDs Intrapartition a leitura é destrutiva, as filas tem característica reutilizável.tem característica reutilizável.

• As TDs Intra tem um mecanismo bastante útil, As TDs Intra tem um mecanismo bastante útil, chamado chamado Triggering. Triggering. Ao definirAo definir a fila na DCT a fila na DCT podemos informar um número de podemos informar um número de Trigger level, Trigger level, que que quando atingido, numa gravação, uma transação é quando atingido, numa gravação, uma transação é automaticamente iniciada através do ATI (Automatic automaticamente iniciada através do ATI (Automatic Transaction Initiation) do CICS.Transaction Initiation) do CICS.

CICS

Page 68: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

68

Exec Cics Readq/Writeq TD

ProgramProgram

DFHTDP

Destid PUT GETDestid PUT GET

IntrapartitionIntrapartitionDatasetDataset

DCTDCT

CICS

5/9

Page 69: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

69

TD EXTRAPARTITION 6/9

• É a forma que o CICS utiliza para suporte de arquivos sequenciais. (SAM - Sequential Access Method).

• Cada fila de TD Extrapartition é amarrada a um arquivo seqüencial físico.

• Cada TD Extra pode ser definica na DCT como Input ou Output, nunca ambos.

CICS

Page 70: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

70

TD EXTRAPARTITION 7/9

• O arquivo SAM pode ser gerado pelo CICS e utilizado por programas Batch e vice-versa.

• Os registros dos arquivos podem ser de tamanho fixo ou variável, blocados ou não.

• Como cada fila de TD Extra corresponde a um arquivo, este deve ser aberto para poder ser utilizado. Podemos solicitar a abertura no startup do CICS ou na primeira referência.

CICS

Page 71: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

71

TD EXTRAPARTITION 8/9

• O usos mais comuns das TD’s são:– Armazenamento e recuperação de dados pelas

transações– Disparo automático de tasks via mecanismo de

gatilho.• O próprio CICS é um grande usuário de TD,

principalmente para gravação de mensagens reportando tudo o que ocorre com o sistema durante a rodada (Sign-on/Sign-off, Error/Abends, Statistics).

CICS

Page 72: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

72

Exec Cics Readq/Writeq TD

ProgramProgram

DFHTDP

Destid Dataset NameDestid Dataset Name

BatchBatch

DCTDCT

CICS

Input ou Output

9/9

Page 73: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

73

TEMPORARY STORAGE (TS) 1/7

• Filas de TS tem seus nomes com até 8 caracteres.

• A criação desses nomes é dinâmica, não precisa definí-los em tabela.

• Os dados podem ser recuperados sequencial ou diretamente.

• Os registros, chamados de ÍTENS, podem ter tamanho fixo ou variável.

CICS

Page 74: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

74

TEMPORARY STORAGE (TS) 2/7

• As filas ficam disponíveis até serem explicitamente excluídas.

• Existem dois tipos de filas:– MAIN - filas gravadas em memória.– AUX - filas gravadas em disco.

CICS

Page 75: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

75

TEMPORARY STORAGE (TS) 3/7

• A task solicita a gravação / leitura de filas TS através do comando WRITEQ / READQ.

• No próprio comando especificamos se desejamos que a fila seja criada em memória (MAIN) ou em disco (AUX).

• Os registros de TS são chamados de ÍTENS.

CICS

Page 76: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

76

TEMPORARY STORAGE (TS) 4/7

• As filas em memória tem a vantagem da rapidez, porém se forem muito extensas podem causar problemas de falta de memória.

• As filas de disco tem como destino um arquivo Vsam Esds chamado DFHTEMP e são bastante úteis quando se pretende manter as filas em caso de queda no CICS. Também são muito recomendadas para filas com muitos ítens.

CICS

Page 77: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

77

CICS

DFHTSPDFHTSP

Exec CicsExec CicsReadq /Readq /

Writeq TSWriteq TSMain / AuxMain / Aux

TASKTASK

MAINMAIN

TS RecordsTS Records

TS Records

AUX.TSAUX.TSDatasetDataset

5/7

Page 78: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

78

Utilização de TS 6/7

• Além das nossas aplicações, o próprio CICS utiliza TS para várias funções, entre elas:– Armazenar telas de BMS (paginação).– Guardar telas do EDF (monitoração de

transações)– Passar dados para uma transação iniciada via

comando START.

CICS

Page 79: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

79

Para uma boa utilização de TS... 7/7

• Sempre excluir as filas após a utilização (DeleteQ), para não ter problemas com memória ou falta de espaço no arquivo DFHTEMP.

• Padronizar o uso dos nomes das filas. Exemplo: Endereço do terminal nas 4 primeiras posições e nome da transação nas quatro últimas.

CICS

Page 80: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

80

TRANSIENT DATA TEMPORARY STORAGESTATIC DEFINITIONS (DCT)

VSAM-ESDS FILE (INTRA)

SEQUENTIAL RETRIEVE

SAM FILES (EXTRA)

TRIGGERING (ATI)

DYNAMIC DEFINITIONS

VSAM-ESDS FILE (AUX)

SEQ/RANDOM RETRIEVE

MAIN STORAGE USE

NO ATI SUPPRT

Page 81: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

81

Command Level ToolsCommand Level Tools

CICS

Page 82: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

82

CEDFCEDF

CEBRCEBR

C E C IC E C ICECSCECS

FERRAMENTASFERRAMENTASAUXILIARESAUXILIARES

CICS

Page 83: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

83

C E D FExecution Diagnostic Facility 1/2

• É uma transação utilizada para depurar probramas escritos em Command Level.

• A cada comando CICS emitido o programa é suspenso, e através do CEDF podemos verificar sua Working-Storage, inclusive podendo alterá-la.

• O CEDF mostra a execução de cada comando e permite a alteração de response codes para teste da aplicação.

CICS

Page 84: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

84

C E D FExecution Diagnostic Facility 2/2

• Podemos acompanhar a execução do programa a partir de determinado comando, que solicitamos através de um painel (Stop Conditions) do CEDF.

• O CEDF permite também acompanhar a execução de um programa através de outro terminal.

• Por suas qualidades esta transação é considerada a mais valiosa para quem programa em CICS.

CICS

Page 85: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

85

C E B RBrowses CICS queues

• Essa transação possibilita consultarmos todo o conteúdo de qualquer fila de TS (main / aux) e TD.

• Permite também localizarmos uma cadeia de dados dentro de uma fila de TS ou TD, além de possibilitar a deleção dos dados.

CICS

Page 86: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

86

C E C ICommand Level Interpreter

• Com a CECI podemos checar a sintaxe de qualquer comando além de executá-los realmente, sendo portanto muito útil durante o período de testes de uma aplicação, quando temos que fazer pequenas alterações em arquivos para testar determinadas condições no programa.

• A transação CECI é interativa, abrindo painéis de opções conforme solicitação do usuário.

CICS

Page 87: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

87

C E C SCommand Level Syntax Check

• A CECS, como a CECI, é uma interpretadora de comandos, porém enquanto a CECI realmente executa o comando, a CECS apenas checa a sua sintaxe.

• Sua maior utilidade é no ambiente de produção onde uma alteração em arquivos pode gerar inúmeros problemas.

CICS

Page 88: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

88

CICS

I N T E R V A L O

Page 89: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

89

Terminal ManagementTerminal Management

CICS

Page 90: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

90

TERMINAIS - Devices

• Dos vários tipos de terminais que o CICS suporta, destacamos:– Terminal de vídeo– Impressoras– Micros emulando terminais– Leitora de cartões virtuais (CR / LP)– Consoles MVS / VSE

CICS

Page 91: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

91

TERMINAIS - Método de acesso 1/2

• O principal método de acesso atualmente é o VTAM (Virtual Telecommunications Access Method), para MVS, VSE e VM.

• O VTAM é o proprietário dos terminais e o CICS uma aplicação definida dentro do VTAM.

• Quando o usuário escolhe a aplicação CICS o VTAM estabelece uma sessão de trabalho entre o terminal e o CICS.

CICS

Page 92: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

92

TERMINAIS - Método de acesso 2/2

• O CICS tem que reconhecer o terminal que está tentando estabelecer a sessão, caso contrário o processo não terá sucesso. Para isso o terminal deve ser definido dentro do CICS na tabela de terminais.

• Quando falamos de CICS OS/2 e CICS em Workstations, são outras plataformas e outros métodos de acesso diferentes do VTAM.

CICS

Page 93: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

93

TERMINAIS - Definições 1/6

Terminais VTAMTerminais VTAM• Quando é terminal VTAM a definição é feita

pelo RDO, através da transação CEDA e pode ser:– Hard-coded: Terminal definido de forma estática.– Autoinstall: Instalação automática e dinâmica de

terminais baseada em modelos pré-definidos.

CICS

Page 94: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

94

TERMINAIS - Definições 2/6

Terminais NÃO VTAMTerminais NÃO VTAM• Se o terminal não é VTAM, por exemplo

uma leitora de cartões virtual, que é um terminal sequencial, a definição deve ser feita através de macros assembler criando a tabela DFHTCT, que deve ser compilada, linkeditada e o CICS reciclado para validar as mudanças.

CICS

Page 95: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

95

TERMINAIS - Definições 3/6

Definição Hard-Coded Definição Hard-Coded 1/21/2

• Para definirmos um terminal VTAM através do RDO devemos criar duas entidades diferentes utilizando a transação CEDA.

• DEFINE TERMINAL: Define-se Termid (nome de 4 caracteres que o CICS utiliza), Netname (nome real de 8 caracteres), e também qual o Typeterm estará associado, para cada terminal que for utilizado pelo CICS.

CICS

Page 96: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

96

TERMINAIS - Definições 4/6

Definição Hard-Coded Definição Hard-Coded 2/22/2

• DEFINE TYPETERM: Define-se as características genéricas de um grupo de terminais como por exemplo o tamanho de sua tela, se é colorida ou não, se tem ou não tem User Área, ...

• No momento da instalação na memória a associação das duas definições gera uma entrada de terminal conhecida como TCTTE - Terminal Control Table Terminal Entry.

CICS

Page 97: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

97

TERMINAIS - Definições 5/6

AutoinstallAutoinstall• Criado em 1986, com o CICS v1.7.• Define-se os modelos para Terminais e

Typeterms.• Para cada terminal que solicitar sessão com o

CICS o mecanismo de autoinstall seleciona o primeiro modelo compatível e instala dinamicamente em momento de logon.

CICS

Page 98: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

98

TERMINAIS - Definições 6/6

Terminais Não VtamTerminais Não Vtam• Para terminais não vtam temos que construir

a tabela DFHTCT através das macros correspondentes:

DFHTCT TYPE=INITIAL, ... DFHTCT TYPE=TEMINAL, ... .... ... DFHTCT TYPE=FINAL

CICS

Page 99: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

99

File ManagementFile Management

CICS

Page 100: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

100

Gerenciamento de Arquivos 1/4

• Toda função solicitada ao CICS, por transações desenvolvidas em Command Level passa por um módulo chamado DFHEIP (Exec Interface Program), que analisa a função e passa para o módulo responsável.

CICS

Page 101: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

101

Gerenciamento de Arquivos 2/4

• Quando o comando é para manuseio de arquivos, entra o DFHFCP (File Control Program). Este módulo consulta a tabela de arquivos DFHFCT (File Control Table) , verificando se o arquivo está definido, suas características, tipo de operação permitida, etc. Estando tudo OK o FCP pede ao método de acesso para realizar a operação desejada.

CICS

Page 102: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

102

CICS

FCPFCP

EIPEIP

F C TF C TFILEAFILEA

. . .. . .

EXEC CICSEXEC CICSREADREADFILE(‘FILEA’)FILE(‘FILEA’). . .. . .

FILEA

TASK

Operação de leitura de um VSAM

Page 103: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

103

Gerenciamento de Arquivos 3/4

• No caso de operações envolvendo Banco de Dados, os próprios gerenciadores dos bancos tem uma interface com o CICS. Nesse caso o EIP e o FCP não são solicitados.

CICS

Page 104: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

104

Gerenciamento de Arquivos 4/4

VSAM X BDAMVSAM X BDAM• O CICS trabalha com dois métodos de acesso

para manuseio de arquivos– VSAM - Virtual Storage Access MethodVSAM - Virtual Storage Access Method– BDAM - Basic Direct Access MethodBDAM - Basic Direct Access Method

• O BDAM é um método de acesso antigo e praticamente em desuso no mundo

• Obs: Para o CICS/6000 and CICS/400, file control é feito por emulação de VSAM.

CICS

Page 105: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

105

CICS

VSAM - Estruturas de DadosVSAM - Estruturas de Dados

ESDS

3 5 8

R 1 R 2 R 3

KSDS

RRDS

KEY 5

R 4

Todas suportadas pelo CICS

Page 106: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

106

ESDS - Entry Sequenced DataSetCICS

•Cada registro é identificado para recuperação peloseu deslocamento em bytes a partir do início do arquivo (RBA-Relative Byte Address).•Registros novos são adicionados após o último.•Podem ser atualizados, mas sem mudar o tamanho•Não existe deleção (exclusão) de registros.

Page 107: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

107

3 5 8

KSDS-Key Sequenced DataSetKEY 5

CICS

•Além da leitura direta, podemos também acessar os registros de forma sequencial.•Os registros podem ser incluídos em qualquer posição, dependendo de sua chave.•Podemos atualizar e deletar (excluir) os registros.•A organização KSDS tem dois componentes:

Componente de ÍndiceComponente de Dados

Page 108: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

108

R 1 R 2 R 3

RRDS-Relative Record DataSetR 4

CICS

•Consiste de um número de “gavetas” de tamanho fixo que são sequenciadas em ordem ascendente pelo número relativo do registro.•Cada gaveta contém um registro ou estará vazia, aguardando o registro correspondente.•Os registros podem ser acessados sequencialmente ou diretamente pelo seu número relativo.•Podemos também excluir os registros.

Page 109: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

109

VSAM Buffering - NSRNon-Shared Resources 1/3

• Quando definimos um arquivo no CICS, podemos indicar o número de buffers que desejamos que sejam alocados na abertura do arquivo.

• Esse mecanismo de alocação de buffers exclusivos para determinado arquivo é chamado de NSR-Non-Shared Resources, dessa forma o arquivo sempre terá buffers disponíveis para a operação de I/O.

CICS

Page 110: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

110

VSAM Buffering - NSRNon-Shared Resources 2/3

• Por outro lado quando o arquivo estiver aberto e sem utilização teremos desperdício de área de memória ocupada pelos buffers.

• Se tivermos muitos arquivos, no momento em que todos ou quase todos estiverm abertos estaremos com muita memória alocada e provavelmente mal exploradas.

• Por isso indica-se NSR para arquivos com intensa utilização, para ganho de performance.

CICS

Page 111: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

111

VSAM Buffering - NSRNon-Shared Resources 3/3

CICS

RequestFile A File A

File A buffers

RequestFile B File B

File B buffers

Page 112: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

112

VSAM Buffering - LSRLocal-Shared Resources 1/2

• Utilizamos esse conceito para construir pools de buffers e atribuí-los para determinado conjunto de arquivos, dependendo de suas características.

• Temos com isso um uso mais eficiente da memória porque os buffers são compartilhados.

• Redução da quantidade de I/Os pois os dados podem já estar carregados em algum buffer (lookaside).

• Isso leva a uma melhora da performance como um todo.

CICS

Page 113: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

113

VSAM Buffering - LSRLocal-Shared Resources 2/2

CICS

RequestFile A File A

RequestFile B File B

Buffer Pool

Page 114: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

114

Definição de Arquivos• RDO

– CEDA DEFINE FILE– CEDA DEFINE LSRPOOL

• MACRO– Opcional para Arquivos VSAM e obrigatório para

arquivos BDAM.• LSR é default, se não definirmos os pools de

buffers, o CICS fará a definição baseado em informações do catálogo.

CICS

Page 115: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

115

CICSALOCAÇÃO DINÂMICA

Os arquivos são alocados na abertura e desalocadosno fechamento. Basta então fechar o arquivo no CICS e atualizá-lo em Batch, aumentando assim a flexibilidade do processamento, já que o CICS é um produto para permanecer no ar 24 horas por dia.

JobBatch

CICS

Page 116: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

116

IMS x DB2 1/2

• O CICS suporta também os bancos de dados DB2 e IMS. Os acessos aos bancos são feitos por interfaces próprias dos mesmos.

• DB2 - É um banco de dados de estrutura relacional com dados armazenados em tabelas bi-dimensionais compostas por linhas e colunas, que podem ser comparadas a registros e campos de um arquivo, respectivamente. Para solicitar serviços ao DB2 a aplicação CICS emite comandos EXEC SQL que são interpretados pela interface entre o CICS e o DB2, chamada CICS ATTACHMENT FACILITY.

CICS

Page 117: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

117

IMS x DB2 2/2

• A família DB2: (DB2 for ESA, DB2 for VSE, DB2 for VM, DB2 for AS/400, DB2 for RISC System/6000, DB2 for OS/2, and DB2 for UNIX)

• IMS - Esse banco é de estrutura hierárquica (pai/filho) e o acesso aos dados é feito através de comandos EXEC DLI a partir de transações CICS.

• Atualmente outros bancos de dados relacionais também são suportados, tais como: Oracle, Sybase, Ingres e Informix.

CICS

Page 118: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

118

CICS

I N T E R V A L O

Page 119: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

119

Data Integrity and RecoveryData Integrity and Recovery

CICS

Page 120: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

120

CICSFile

Garantir que enquanto um usuário atualiza um registro, outros não atualizam os mesmos dados simultaneamente, o que provavelmente, resultaria em perda de integridade.

CICS

Page 121: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

121

CICS

File ARec5 Rec6 Rec7

Update Rec6 Update Rec6

Task A Task B

Controle Exclusivo 1/3

Page 122: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

122

Controle Exclusivo 2/3

• O VSAM e o CICS utilizam esse mecanismo para evitar que ocorram atualizações simultâneas em registros do mesmo Control Interval (CI).

• Quando uma task pede a atualização de um registro, todo o CI fica “preso” a essa task e só é liberado quando a atualização for completada. Enquanto isso não ocorre, as tasks que desejam atualizar registros do mesmo CI ficam em Wait, isto é, aguardando sua liberação

CICS

Page 123: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

123

Controle Exclusivo 3/3

• Se o arquivo for protegido (LOG=YES na definição), após a sua atualização o VSAM normalmente libera o CI, mas o CICS “prende” o registro atualizado à task até que a mesma termine ou a Logical Unit of Work (LUW) seja completada.

CICS

Page 124: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

124

CICS

READ UPDATEREAD UPDATE

UPDATEUPDATE

ABENDABEND. . .. . .

TASK A File Work Área Save Image

Reapply Saved Image

Dinamic Transaction Backout ( DTB ) 1/3

Page 125: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

125

Dinamic Transaction Backout ( DTB ) 2/3

• Quando um arquivo é protegido (LOG=YES na definição), na ocorrência de uma falha na execução da transação (Abend), o CICS desfaz as alterações efetuadas voltando o arquivo à situação em que estava anteriormente.

CICS

Page 126: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

126

Dinamic Transaction Backout ( DTB ) 3/3

• Quando ocorre a atualização do registro, o CICS salva a imagem anterior (before image) em uma área de memória chamada Dynamic Log. Se a task for interrompida antes do seu término, o CICS reaplica ao arquivo a imagem anterior a atualização, voltando o registro ao estado em que se encontrava. Em seguida, emite para o usuário uma mensagem indicando que a task sofreu um abend e que o backout foi bem sucedido.

CICS

Page 127: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

127

L U W - Lógical Unit of Work• A LUW tem início quando a task requisita uma

atualização de um recurso protegido (recuperável). Essa LUW termina quando a task for finalizada ou então quando o programa solicitar um ponto de sincronismo explícito, através do comando EXEC CICS SYNCPOINT.

• Quando a LUW é fechada, todas as alterações feitas em recursos protegidos são efetivadas.

• Enquanto a LUW não termina a task é chamada de “In-flight”.

CICS

Page 128: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

128

CICS

TASK AASOT EOTFILE MOD.

LUW

TASK BBSOT

FILE MOD.

LUW

SYNC.

FILE MOD.

LUW

SYNC.

FILE MOD.

LUW

SYNC.

FILE MOD.

LUW

EOT

BACKOUT

TASK CCSOT EOT

FILE MOD.

LUWBACKOUT

FILE MOD.

System Failure

Page 129: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

129

UPDATE UPDATE (ARQ.POUPANÇA)(ARQ.POUPANÇA)( ( -- R$ 300,00) R$ 300,00)

UPDATEUPDATE(ARQ. C/C)(ARQ. C/C)(+ R$ 300,00)(+ R$ 300,00)

LUW COMPLETALUW COMPLETAOU BACKED OUTOU BACKED OUT. . .. . .

TASK

CICS

POUPANÇAPOUPANÇA

C/CC/C

LOG =YESLOG =YES

LOG =YESLOG =YES

Transferência da Poupançapara a Conta Corrente

Obs: Bancos de dados tem seus próprios mecanismos de recuperação e integridade

Page 130: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

130

System Failure Backout• Para falhas de tasks (abends), o CICS recupera

imagens anteriores dos recursos protegidos a partir de áreas de memória chamadas Dynamic Logs.

• O CICS além de guardar imagens anteriores na memória, as armazena no SYSTEM LOG.

• Na reinicialização do CICS em EMERGENCY RESTART, o SYSTEM LOG é lido do fim para o início e todas as LUWs pendentes serão desfeitas (backout).

• Quando termina a inicialização, o CICS estará na mesma posição em que estava no momento da queda.

CICS

Page 131: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

131

C I C S

CICS

SYSTEM LOGSYSTEM LOG(journal)(journal)

Emergency Reestart

Backout Backout Files, TS, TD, DBFiles, TS, TD, DB

Page 132: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

132

COLD

CICS

START-UP OPTIONS

AUTOWARMEMERGENCY

Page 133: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

133

Start-up Options• COLD:

– O CICS é inicializado como se tivesse sido recém instalado. Todas as informações do system log são ignoradas, portanto não existe nenhum tipo de backout e todos os recursos do RDO são lidos do arquivo DFHCSD e instalados na memória.

• AUTO:– O CICS decide como será reinicializado,

dependendo de como terminou a última rodada.

CICS

Page 134: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

134

Start-up Options• WARM RESTART:

– A rodada anterior terminou de forma controlada portanto não há backout a ser feito e os recursos instalados via CEDA continuam disponíveis da mesma forma que ficaram ao término da rodada anterior.

• EMERGENCY RESTART:– A rodada anterior terminou de forma não

controlada portanto será efetuado o processamento de backout sendo que os recursos instalados via CEDA permanecem disponíveis como na rodada anterior.

CICS

Page 135: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

135

N O R M A L

CICS

TERMINATION OPTIONS

U N C O N T R O L L E DI M M E D I A T E

Page 136: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

136

Termination Options• SHUTDOWN NORMAL:

– Todas as tasks “In-flight” são executadas até o fim e a saída é controlada.

• SHUTDOWN IMMEDIATE:– Todas as tasks “In-flight” são canceladas portanto

ocorre backout quando o sistema for reinicializado. Apesar disso, é considerado como saída controlada já que depende da vontade do operador.

• UNCONTROLLED:– Término inesperado da execução do CICS (falta de

energia, falha, abend, etc). Essa situação requer backout na reinicialização.

CICS

Page 137: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

137

System ManagementSystem Management

CICS

Page 138: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

138

CICS

•C E M T - Master TerminalC E M T - Master Terminal

•C E O T - Operator TerminalC E O T - Operator Terminal AA

•C E D B - Resource Derfinition OnlineC E D B - Resource Derfinition Online CC

TransactionsTransactions

O CICS oferece vária ferramentas para gerenciamentoO CICS oferece vária ferramentas para gerenciamentodo sistema. Dentre elas destacamos as transações:do sistema. Dentre elas destacamos as transações:

Page 139: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

139

Transações de Administração

• CEMT (Master Terminal) - A transação mais poderosa do CICS. Consulta e altera variáveis do sistema e atributos de recursos. Exemplo: Abre e fecha arquivos, desabilita programas e transações, altera status de terminais, tira o CICS do ar e muito mais. Deve portanto ser utilizada com bastante critério.

CICS

Page 140: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

140

Transações de Administração

• CEOT (Operator Terminal) - Consulta e altera apenas status de terminais.

• CEDx (Resource Definition Online) Composta por:– CEDA - Define, altera, consulta e instala recursos.– CEDB - Consulta e instala recursos.– CEDC - Apenas consulta recursos definidos.

CICS

Page 141: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

141

CICSSecuritySecurity

Até a versão 3.1.1, o CICS oferecia um Até a versão 3.1.1, o CICS oferecia um mecanismo próprio de segurança (interna), mecanismo próprio de segurança (interna), que era baseada em chaves numéricas que era baseada em chaves numéricas associadas às transações e aos recursosassociadas às transações e aos recursos

definidos, e de acordo com as chaves o usuário tinha ou definidos, e de acordo com as chaves o usuário tinha ou não acesso permitido.não acesso permitido.Como esse mecanismo de segurança era pouco eficaz, a Como esse mecanismo de segurança era pouco eficaz, a partir do CICS v3.2.1 ele foi extinto e tornou-se partir do CICS v3.2.1 ele foi extinto e tornou-se necessária a contratação de um gerenciador de segurança necessária a contratação de um gerenciador de segurança externo como o Top Secret da CA, o RACF da IBM ou externo como o Top Secret da CA, o RACF da IBM ou outros existentes no mercado.outros existentes no mercado.

Page 142: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

142

CICSDeterminação de ProblemasDeterminação de Problemas

Page 143: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

143

Determinação de Problemas

• O CICS está sujeito a falhas do tipo:– Uma aplicação invadindo área de outras– Loops– Aplicações com Program Check

• Que tipo de auxílio podemos ter, além das ferramentas para Command Level (CEDF), para solucionar esses tipos de problemas? Afinal o CICS precisa ter total disponibilidade e por isso as falhas tem que ser corrigidas no menor tempo possível.

CICS

Page 144: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

144

Ferramentas para Determinação de Problemas 1/4

O CICS oferece algumas ferramentas:• DUMP

– Transaction Dump - Um pequeno Dump é fornecido quando ocorre um abend de task. Nele o CICS formata as principais áreas e blocos de controle da transação que sofreu o abend.

– System Dump - Dump de praticamente todas as áreas e blocos de controle do CICS. Requer boa experiência para ser analisado. Utilizado para problemas como violações de memória e quedas de CICS.

CICS

Page 145: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

145

Ferramentas para Determinação de Problemas 2/4

• TRACE– É a gravação do “caminho” percorrido pelos

módulos de gerência e pelas tasks durante toda a rodada, isto é, todas as operações que estão sendo processadas no CICS. O trace fornece uma visão das operações no momento do erro, facilitando a determinação do problema. É muito importante para resolução de loops. Existem os seguintes tipos de TRACE:

CICS

Page 146: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

146

Ferramentas para Determinação de Problemas 3/4

• Trace MAIN: O trace é gravado em uma área de memória pré-alocada. No momento da emissão de um dump, ele é incluído em seu conteúdo.

• Trace AUX: Trace auxiliar semelhante ao Main trace porém seu conteúdo é gravado em disco. Não é necessário um dump para obter esse trace pois a formatação é feita via batch através do programa DFHTUP.

• Trace MVS/GTF: A partir da v3.1.1 existe a possibilidade de obter o trace com o GTF do MVS.

CICS

Page 147: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

147

Ferramentas para Determinação de Problemas 4/4

• Messages and Codes: Manual em papel e a opção online (transação CMAC) a partir da v3.1.1

• IBM Support: CAC - Centro de Atendimento ao Cliente)

CICS

Page 148: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

148

Medições e Ajustes

• As estatísticas que o CICS fornece são uma ferramenta importante para análise do ambiente e otimização de sua performance.

• A extração das estatísticas pode ser solicitada em intervalos regulares ou a qualquer momento desejado, a fim de verificar como se encontra o sistema em determinado instante.

CICS

Page 149: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

149

Medições e Ajustes• Destaque para os seguintes tópicos:

– TASK - através das estatísticas, sabemos quantas tasks foram processadas na rodada, qual foi o pico de tasks atingido, ...

– TRANSACTION - Podemos saber quantas vezes foi processada cada transação do usuário, conhecendo assim os sistemas mais utilizados, os pouco utilizados, ...

– PROGRAM - mostra quantas vezes cada programa foi executado, seu fetch count (carga na memória), ...

– FILE - quantas solicitações ocorreram para cada arquivo, que tipos de operações foram realizadas, ...

– TD/TS - informa o número total de solicitações, contagem de waits por falta de buffers ou memória, ...

– E muito mais . . .

CICS

Page 150: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

150

CICS Monitor Facility• Outra ferramenta disponível para medições e ajustes é o

Monitor Facility. O CICS coleta dados como por exemplo: do tempo total de processamento da transação, quanto foi gasto de CPU, quanto foi perdido aguardando operações de I/O, tempo gasto em dispatch, ...

• Normalmente os dados de Monitor Facility do CICS são interpretados pelos monitores oferecidos no mercado, já que são dados complexos para verificarmos sem ferramentas de auxílio.

• Pelos dados de monitor temos indicações de quais sistemas podem estar impactando o CICS, gargalos, contenções de I/O, ...

• Através dos dados de monitor temos condições de saber se os recursos estão sendo bem utilizdos pelas transações ou não.

CICS

Page 151: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

151

CICS

I N T E R V A L O

Page 152: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

152

CommunicationCommunication

CICS

Page 153: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

153

CICS

Dos ClientDos Client

Mac ClientMac Client

OS/2 ClientOS/2 Client

Windows ClientWindows Client

CICS/ESACICS/ESACICS/VSECICS/VSE

CICSCICS/400/400

CICSCICS/6000/6000

CICSCICS(Não IBM)(Não IBM)

OS/2 ClientOS/2 Client

Dos ClientDos Client

Mac ClientMac ClientWindows ClientWindows Client

CICS forCICS forOS/2OS/2

CICS forCICS forOS/2OS/2

Interconnected SystemInterconnected System

Page 154: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

154

Comunicações• O CICS é um produto muito “sociável”, pois

consegue conversar com quaisquer outros CICS da família e também com outros produtos que conversam utilizando os protocolos de comunicação suportados.

• Além disso, o CICS conta também com estrutura Client/Server, ou seja, podemos acessar serviços do CICS/ESA a partir de um micro onde estamos trabalhando com Windows, por exemplo.

CICS

Page 155: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

155

Tipos de Comunicações

• O CICS trabalha com duas formas de comunicação, sendo que em ambas a interligação é feita através da definição de conexões em cada CICS envolvido no processo.– M R O– I S C

CICS

Page 156: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

156

Trata-se da comunicação de um CICS com outros CICS sob o mesmo sistema operacional. Portanto é uma comunicação unicamente CICS-CICS.

• O MRO utiliza dois mecanismos para efetivar a comunicação– IRC - (Inter-Region Communication) - um CICS

conversa com outro através de SVCs.– XM - (Cross-Memory) - exclusivo do MVS, para

comunicação entre Address Spaces.

MROMRO - Multi-Region Operation - Multi-Region OperationCICS CICSCICS CICS

CICS

Page 157: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

157

• Esse tipo de comunicação é realizado através do VTAM, e possibilita a interligação de CICS sob o mesmo sistema operacional ou sistemas operacionais distintos.

• Permite a comunicação entre CICS nas mais diversas plataformas, e também interligar um CICS com outros produtos que “conversam” através dos protocolos de comunicação LU6.1 e principalmente LU6.2 (APPC).

• O ISC é a forma de comunicação mais flexível, já que permite interligar diferentes plataformas e produtos situados em qualquer localidade.

CICSCICS CICS CICS LU6.2( LU6.2(APPCAPPC)) LU6.1LU6.1

CICS

ISCISC - Intersystem Communication - Intersystem Communication

Page 158: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

158

Facilidades de Comunicação 1/2

Através do MRO e do ISC temos:– FUNCTION SHIPPING (Navegação de função) -

a partir de um CICS podemos acessar dados em outros CICS, de forma transparente para o programador e para o usuário final.

– TRANSACTION ROUTING (Roteamento de transação) - o usuário conecta-se a um CICS, chama o código de uma transação e esta é processada inteiramente em outro CICS. Isso ocorre de forma transparente para o programador e também para o usuário final.

CICS

Page 159: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

159

Facilidades de Comunicação 2/2

– DISTRIBUTED TRANSACTION PROCESSING (Processamento distribuído de transação) - um processamento é dividido em duas ou mais transações, cada uma executando em um CICS distinto. O processo é transparente para o usuário final, mas sua programação é um tanto complexa.

– DISTRIBUTED PROGRAM LINK (Link distribuído de proramas) - através do comando EXEC CICS LINK, podemos fazer chamadas a programas que serão processados em outros CICS.

CICS

Page 160: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

160

Function ShippingFunction ShippingCICS

Read UpdateRead UpdateFile(MASTER)File(MASTER)

Read UpdateRead UpdateFile(PREÇOS)File(PREÇOS)

CICS 1CICS 1 CICS 2CICS 2

MirrorMirror ProgramProgram

MASTER

RequestRequest

ReplyReplyPREÇOS

Transação ATransação A

Page 161: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

161

Function ShippingFunction Shipping• A transação ‘A’, no CICS 1 pede a leitura do arquivo A transação ‘A’, no CICS 1 pede a leitura do arquivo

MASTER, pertencente ao CICS2. Para atender a MASTER, pertencente ao CICS2. Para atender a solicitação uma transação “espelho” (Mirror) é solicitação uma transação “espelho” (Mirror) é disparada no CICS2, que realiza a leitura e devolve os disparada no CICS2, que realiza a leitura e devolve os dados ao CICS1. dados ao CICS1.

• Funcion Shipping suporta acesso remoto a arquivos, Funcion Shipping suporta acesso remoto a arquivos, filas de Temporary Storage (TS) e Transient Data (TD). filas de Temporary Storage (TS) e Transient Data (TD). A integridade dos dados é total. Se ocorrer um abend em A integridade dos dados é total. Se ocorrer um abend em um dos lados, o outro é imediatamente informado para um dos lados, o outro é imediatamente informado para ocorrer o sincronismo dos eventos.ocorrer o sincronismo dos eventos.

Page 162: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

162

Transaction RoutingTransaction RoutingCICS

CICS 1CICS 1 CICS 2CICS 2

Transação A

Inicío da Transação A

Page 163: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

163

Transaction RoutingTransaction Routing• Uma transação iniciada em um CICS na verdade é Uma transação iniciada em um CICS na verdade é

totalmente processada em outros CICS interligados.totalmente processada em outros CICS interligados.• Desta forma, podemos fazer um balanceamento de Desta forma, podemos fazer um balanceamento de

carga entre diversos CICS, sem que o usuário carga entre diversos CICS, sem que o usuário perceba o que está ocorrendo.perceba o que está ocorrendo.

• Possibilita também uma redução do tráfego na rede, Possibilita também uma redução do tráfego na rede, já que os programas podem ser processados onde os já que os programas podem ser processados onde os dados residem, evitando a sua transmissão.dados residem, evitando a sua transmissão.

CICS

Page 164: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

164

Transação ATransação A

Exec Cics Exec Cics CONVERSECONVERSE

CICS 1CICS 1 CICS 2CICS 2

Transação BTransação B

Exec CicsExec CicsReceiveReceive

Exec CicsExec CicsSendSend

MASTER

SynchornousSynchornous

DataDataPREÇOS

Distributed Transaction ProcessingDistributed Transaction ProcessingCICS

DataData

Page 165: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

165

Distributed Transaction Processing 1/2

• O Distributed Transaction Processing é uma facilidade de comunicação onde o processamento é distribuído em duas ou mais transações, cada uma processando em um CICS diferente porém de forma síncrona.

• Quando uma transação é iniciada pelo usuário no CICS1, o programa solicita que seja iniciada uma transação parceira n CICS2. As duas trabalham em conjunto durante todo o processo.

Page 166: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

166

Distributed Transaction Processing 2/2

• O DTP requer conhecimentos mais profundos de programação, pois uma aplicação deve ser desenhada especificamente para comunicar-se com a outra, de forma que existem comandos de concepção mais complexa a serem utilizados.

• O DTP é a forma mais eficaz e flexível de comunicação, pois permite variações de processamento não permitidas em outras facilidades de comunicação.

• O protocolo LU6.2, que faz parte da arquitetura SNA, é amplamente utilizado em DTP.

Page 167: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

167

Transação ATransação ALink Program(‘X’)Link Program(‘X’)

COMMAREACOMMAREA(Data)(Data)

CICS 1CICS 1 CICS 2CICS 2

Programa XPrograma X

ReturnReturnCOMMAREACOMMAREA(Data)(Data)

MASTERPREÇOS

Distributed Program LinkDistributed Program LinkCICS

Communications Communications ÁreaÁrea

Communications Communications ÁreaÁrea

Page 168: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

168

DPL - Distributed Program Link 1/3

• Quando uma aplicação CICS emite o comando EXEC CICS LINK, o controle é passado para o programa solicitado que é processado, e ao terminar dvolve o controle ao programa chamador.

• O DPL é uma facilidade de comunicação relativamente nova no CICS, e permite que o programa chamado seja remoto, ou seja, que resida em outros CICS que estejam interligados ao CICS onde está sendo processado o programa chamador.

CICS

Page 169: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

169

DPL - Distributed Program Link 2/3

• Com o comando Link podemos passar uma área de dados para o programa chamado, e depois receber dados quando o controle é devolvido. O DPL surgiu como uma ótima opção para acessarmos, por exemplo, bancos de dados remotos.

• O processamento é transparente para o programador e para o usuário final.

CICS

Page 170: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

170

DPL - Distributed Program Link 3/3

• Como o DPL é uma facilidade até certo ponto recente, nem todos os CICS podem iniciar o processo, isto é, emitir o comando link para um programa remoto.

• Por outro lado, qualquer CICS pode receber a solicitação, isto é, processar o programa chamado.

CICS

Page 171: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

171

CICS

CICS/6000CICS/6000CICS OS/2CICS OS/2CICS/400CICS/400CICS/ESA 3.3CICS/ESA 3.3CICS/VSE 2.2CICS/VSE 2.2

CICS/6000CICS/6000CICS OS/2CICS OS/2CICS/400CICS/400CICS/ESA 3.3CICS/ESA 3.3CICS/VSE 2.2CICS/VSE 2.2

CICS/MVSCICS/MVSCICS/VSE 2.1CICS/VSE 2.1CICS/ESA 3.1CICS/ESA 3.1CICS/ESA 3.2CICS/ESA 3.2

D P L optionsD P L options

Page 172: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

172

CICS ISC - Flexibilidades• Através do Inter System Communication (ISC) podemos ter

acesso a todas as facilidades de comunicação existentes, com uma grande vantagem: interligação de sistemas CICS em qualquer plataforma existente.

• Desse modo conseguimos grande flexibilidade para executar transações remotas, acessar dados remotos de forma transparente, distribuir funções e também implementar aplicações cliente/servidor interligando diferentes plataformas.

• Além disso o ISC permite que o CICS “converse” com outros sistemas não CICS, através do protocolo APPC.

CICS

Page 173: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

173

CICS

I S CI S CTRANSACTION

ROUTING

DISTRIBUTEDPROGRAM

LINK

FUNCTIONSHIPPING

DISTRIBUTEDTRANSACTIONPROCESSING

I S CI S C

Page 174: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

174

Configuração Exemplo

• O CICS amarelo é chamado de TOR (Terminal Owning Region). Ele é proprietário dos terminais, portanto os usuários estabelecem sessões de trabalho sempre através dele.

• Os CICS azuis são chamados de AOR (Application Owning Region). Nesses CICS são processadas as transações dos usuários, que as iniciam a partir do CICS TOR.

• Os CICS verdes são conhecidos como FOR ou DOR (File/Dataset Owning Region). Neles residem os arquivos que são acessados pelas aplicações que processam nos AOR.

• Esse tipo de configuração pode existir por diversas razões, desde balanceamento de carga até por motivos de distribuição específica de funções.

CICS

CICSCICSTORTOR

CICSCICSAORAORCICSCICSAORAOR

CICSCICSFORFORCICSCICSFORFOR

Page 175: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

175

Resumo - Porque Comunicar ? 1/4

• AVAILABILITY AND RESPONSE TIME REQUIREMENTS– Disponibilidade e tempo de resposta - um único CICS

com processamento muito carregado acaba sendo muito menos eficaz do que vários CICS interligados. Portanto, melhor tempo de resposta e maior disponibilidade, já que na eventual falha de um deles os outros continuam no ar.

• LOAD BALANCING– Balanceamento de carga - distribuir as aplicações entre

vários CICS otimiza a performance, já que cada um deles trabalha sem sobrecarga.

CICS

Page 176: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

176

Resumo - Porque Comunicar ? 2/4

• APPLICATION ISOLATION– Isolamento de aplicações - uma aplicação que não esteja bem

testada pode ser isolada em um dos CICS. Caso a aplicação derrube esse CICS, os usuários de outras aplicações não são penalizados, já que os outros CICS não saem do ar.

• TAKE ADVANTAGE OF PLATFORM STRENGTHS– Exploração de plataformas poderosas - podemos por exemplo

tirar vantagem de grandes CPUs com vários processadores, através da utilização de vários CICS interligados sob essa mesma CPU.

CICS

Page 177: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

177

Resumo - Porque Comunicar ? 3/4• MINIMIZE PUBLIC NETWORK TRAFFIC

– Minimizar o tráfego de dados nas redes - processando as aplicações nos CICS proprietários das bases de dados, ocorre diminuição de transmissão nas linhas, acarretando em uma melhora sensível na performance.

• ECONOMIC CONSIDERATIONS– Considerações econômicas - distribuindo parte das aplicações

para plataformas menores, como por exemplo o CICS for OS/2 permite uma redução nos custos, já que o Mainframe necessita de uma estrutura muito mais cara de funcionamento.

CICS

Page 178: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

178

Resumo - Porque Comunicar ? 4/4

• DISTRIBUTED PROCESSING / COOPERATIVE PROCESSING– Processamento Cooperativo / Distribuído - podemos

implementar estruturas de clientes/servidores, e desta forma distribuir o processamento total, utilizando para isso vários tipos de plataformas com total flexibilidade.

CICS

Page 179: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

179

"From" CICS system "To" CICS system(s) Communication====================================================================CICS/ESA, CICS/VSE CICS/ESA, CICS/VSE, SNA LU6.2* CICS/6000, CICS for OS/2, CICS/400CICS for OS/2 All CICS platforms SNA LU6.2CICS for OS/2 CICS for OS/2 NetBIOS or TCP/IPCICS/400 All CICS platforms SNA LU6.2CICS/6000 All CICS platforms SNA LU6.2CICS/6000 Other CICS/6000 TCP/IP systemsCICS Clients CICS/ESA and CICS/VSE SNA LU6.2 (via ECI), and CICS/400CICS Clients CICS for OS/2, and TCP/IP CICS on Open SystemsCICS Clients CICS for OS/2 (not NetBIOS Macintosh)==================================================================

CICS Protocolos de comunicação entre CICSProtocolos de comunicação entre CICS

Page 180: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

180

CICSPLEX CICSPLEX SMSM

• O CICSPLEX SM (System Manager) permite gerenciar múltiplos CICS como se fossem um único. Pode gerenciar sistemas CICS independentes em CPUs conectadas, assim como múltiplos CICS interconectados.

• O operador do CICSPLEX SM pode, a partir de um único CICS, exibir e atualizar informações sobre status e recursos de todas as regiões CICS gerenciadas.

• Exemplo: Um único comando da transação CEMT é suficiente para agir em todos os recursos de determinado tipo em todos os CICS gerenciados pelo CICSPLEX SM.

CICS

Dos Client

OS/2 Client

CICS OS/2Server ______---

CICS/VSE

CICS/400

CICS/ESA

SERVER NETWORK

_______________

Page 181: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

181

C I C SC I C S

C I C SC I C S

CICS

Page 182: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

182

OBRIGADO

CICS

Page 183: One Two Three                                   Four  Five ...

04/22/23 Celepar-GSO-Disop CICS-Introdução [email protected]

183

OBRIGADO

CICS