Escolar Documentos
Profissional Documentos
Cultura Documentos
INTRODUÇÃO AO CICS
CICS
08/04/2018 Celepar-GSO-Disop CICS-Introdução 1
colodi@pr.gov.br
CICS
08/04/2018 Celepar-GSO-Disop CICS-Introdução 2
colodi@pr.gov.br
Sumário
Slide Assunto
004................Introduction to CICS
016................Transaction Flow
040................Programming
062................Queueing
081................Command Level tools
089................Terminal Management
099................File Management
119................Data Integrity and Recovery
137................System Management
152................Communication
08/04/2018 Celepar-GSO-Disop CICS-Introdução 3
colodi@pr.gov.br
Introduction to CICS
08/04/2018 Celepar-GSO-Disop CICS-Introdução 4
colodi@pr.gov.br
CICS
C.I.C.S
Customer Information Control System
• Foi desenvolvido em 1968.
• Tornou-se programa produto IBM em 1969
• Completa 30 anos consolidando sua posição
no mercado devido a sua constante
evolução.
• Controlar a execução de aplicativos em
tempo real.
• Suprir a necessidade de acesso rápido à
bases de dados.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 5
colodi@pr.gov.br
CICS
Transação
• Solicitação de um usuário para a realização
de um serviço.
– Saques em caixas eletrônicos
– Compra de passagem
– Reserva de hotel
– Serviço médico
Processamento da Transação
(Saque de dinheiro)
• Caixas eletrônicos espalhados
• Muitas pessoas solicitando saques ao
mesmo tempo
• Controlar a execução coordenada de todas
essas solicitações de modo que todos os
usuários sejam atendidos com eficiência.
Transaction Manager
• High Availability Nosso gerenciador
• Fast and Consistent precisa ter grande
disponibilidade,
Response Time funcionando 24 h por
• End-to-End Integrity dia. Deve ser rápido e
• Repetitive consistente, garantindo
integridade. Por ter um
• Low Cost / grande volume deve
Transaction ter um baixo custo por
transação.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 8
colodi@pr.gov.br
CICS
OLTP
OnLine Transaction Processing
Connectivity Security
Business Logic Logging
Multithreading Exception Handling
Queue Management APLICATION
Locking
Recovery Time Control Communication
Scheduling Performance Administration
OPERATING SYSTEM
HARDWARE
COMUNICATIONS DB MANAGER
OPERATING SYSTEM
HARDWARE
APLICATIONS
TRANSACTION MANAGER
CICS
Aplicaion Server
OPERATING SYSTEM
HARDWARE
Transaction Flow
08/04/2018 Celepar-GSO-Disop CICS-Introdução 16
colodi@pr.gov.br
CICS
TCP TDP
SCP EIP
TCT DCT
CSA DISPAT. TSP
BMS FCP
PCP TRP
FCT
ICP PCT PPT
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 23
colodi@pr.gov.br
CICS
TCP TDP
SCP EIP
TCT DCT
CSA DISPAT. TSP
BMS FCP
PCP TRP
FCT
ICP PCT PPT
WORKING
TCA STORAGE
APLICATION
PROGRAM WORKING
TCA STORAGE
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:
08/04/2018 Celepar-GSO-Disop CICS-Introdução 25
colodi@pr.gov.br
Terminal Task Program User Storage File
Control Control Control Program Control Control
Sch. task
Get Stor
Rec Read
Wait
PrepOut
SchWrite
Req.Send
Term.task TermTran Return
Write FreeStor
08/04/2018 Celepar-GSO-Disop CICS-Introdução 26
colodi@pr.gov.br
CICS
SIT
DFHSIT 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/SUF
END DFHSITBA
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)
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.
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 35
colodi@pr.gov.br
CICS
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.
I NTE RVALO
Programming
08/04/2018 Celepar-GSO-Disop CICS-Introdução 40
colodi@pr.gov.br
CICS
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 - ........
08/04/2018 Celepar-GSO-Disop CICS-Introdução 43
colodi@pr.gov.br
CICS
Exemplo
EXEC CICS RECEIVE INTO(W-IN) END-EXEC
MOVE NUMERO TO RECKEY
MOVE ...
EXEC CICS READ FILE(‘FILEA’)
INTO(W-REC)
RIDFLD(RECKEY)
END-EXEC
EXEC CICS SEND FROM(W-OUT) END-EXEC
EXEC CICS RETURN END-EXEC
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 46
colodi@pr.gov.br
CICS
Montagem de um programa
FONTE
CICS
TRANSLATOR
REL.
COMPILADOR
REL.
LOAD LINK EDIT
MODULE
Condições de exceção
EXEC CICS HANDLE CONDITION COND1 (LABEL1)
Coloca-se antes de emitir o comando e se quando o CICS
executar o comando acontecer a COND1 acontecerá
um desvio para LABEL1.
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.
PROG1
MOVE ...
MOVE ...
LINK PROG2
MOVE ...
RETURN
PROG2
MOVE ...
MOVE ...
MOVE ...
RETURN
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.
PROG1
MOVE ...
MOVE ...
XCTL PROG2
MOVE ...
RETURN
PROG2
MOVE ...
MOVE ...
RETURN
MOVE ...
RETURN
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.
Níveis de
Programas
LINK PROGRAM(‘PROG2)
RETURN
....
RETURN
BMS
Basic 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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 58
colodi@pr.gov.br
CICS
BMS
Basic 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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 59
colodi@pr.gov.br
CICS
BMS
Basic 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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 60
colodi@pr.gov.br
CICS
BMS
Basic 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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 61
colodi@pr.gov.br
CICS
Queueing
08/04/2018 Celepar-GSO-Disop CICS-Introdução 62
colodi@pr.gov.br
CICS
DFHTDP
TASK
DCT Exec Cics
Readq/Writeq TD
INTRA-
EXTRA-
PARTITION
Batch Programs PARTITION
TD INTRAPARTITION 3/9
TD INTRAPARTITION 4/9
Program 5/9
Exec Cics
Readq/Writeq TD
DFHTDP
Intrapartition
Dataset
TD EXTRAPARTITION 6/9
TD EXTRAPARTITION 7/9
TD EXTRAPARTITION 8/9
Program 9/9
Input ou Output
08/04/2018 Celepar-GSO-Disop CICS-Introdução 72
colodi@pr.gov.br
CICS
5/7
DFHTSP
TASK
Exec Cics TS Records
Readq / AUX.TS
TS Records
Writeq TS Dataset
TS Records
Main / Aux
MAIN
Utilização de TS 6/7
CEDF
CECS
CECI
CEDF
Execution Diagnostic Facility 1/2
CEDF
Execution Diagnostic Facility 2/2
CEBR
Browses CICS queues
CECI
Command 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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 86
colodi@pr.gov.br
CICS
CECS
Command 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.
I NTE RVALO
Terminal Management
08/04/2018 Celepar-GSO-Disop CICS-Introdução 89
colodi@pr.gov.br
CICS
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
Terminais 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.
Autoinstall
• 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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 97
colodi@pr.gov.br
CICS
File Management
08/04/2018 Celepar-GSO-Disop CICS-Introdução 99
colodi@pr.gov.br
CICS
FCT
FCP
FILEA FILEA
...
TASK
EIP
EXEC CICS
READ
FILE(‘FILEA’)
...
ESDS
KEY 5
3 5 8
KSDS
R4
R1 R2 R3
RRDS
Todas suportadas pelo CICS
08/04/2018 Celepar-GSO-Disop CICS-Introdução 105
colodi@pr.gov.br
CICS
ESDS - Entry Sequenced DataSet
3 5 8
•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 Índice
Componente de Dados
08/04/2018 Celepar-GSO-Disop CICS-Introdução 107
colodi@pr.gov.br
CICS
RRDS-Relative Record DataSet
R4
R1 R2 R3
Request
File B File B
File B buffers
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 114
colodi@pr.gov.br
CICS
ALOCAÇÃO DINÂMICA
Job
CICS
Batch
• 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.
I NTE RVALO
CICS
File
Task A Task B
Update Rec6 Update Rec6
UPDATE
ABEND Reapply
...
Saved
Image
BACKOUT
LUW
TASK C
SOT FILE MOD. EOT
FILE MOD.
LUW COMPLETA
OU BACKED OUT C/C LOG =YES
...
Emergency Reestart
SYSTEM LOG
(journal)
CICS
Backout
Files, TS, TD, DB
START-UP OPTIONS
COLD
WARM
AUTO EMERGENCY
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 133
colodi@pr.gov.br
CICS
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 134
colodi@pr.gov.br
CICS
TERMINATION OPTIONS
NORMAL
I M M E D IAT E
UNCONTROLLED
System Management
08/04/2018 Celepar-GSO-Disop CICS-Introdução 137
colodi@pr.gov.br
CICS
Transactions
•C E M T - Master Terminal
•C E O T - Operator Terminal
A
•C E D B - Resource Derfinition Online
C
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 139
colodi@pr.gov.br
CICS
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.
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 143
colodi@pr.gov.br
CICS
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 148
colodi@pr.gov.br
CICS
Medições e Ajustes
• Destaque para os seguintes tópicos:
I NTE RVALO
Communication
08/04/2018 Celepar-GSO-Disop CICS-Introdução 152
colodi@pr.gov.br
CICS
Interconnected System
CICS/ESA CICS CICS
CICS
CICS/VSE /400 /6000 (Não IBM)
CICS for
OS/2
CICS for
OS/2 Client OS/2 OS/2 Client
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.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 154
colodi@pr.gov.br
CICS
Tipos de Comunicações
Transação A
Read Update Request Mirror
File(MASTER)
Program
PREÇOS Read Update Reply MASTER
File(PREÇOS)
Transação A
Transaction Routing
• Uma transação iniciada em um CICS na verdade é
totalmente processada em outros CICS
interligados.
• Desta forma, podemos fazer um balanceamento de
carga entre diversos CICS, sem que o usuário
perceba o que está ocorrendo.
• Possibilita também uma redução do tráfego na
rede, já que os programas podem ser processados
onde os dados residem, evitando a sua
transmissão.
08/04/2018 Celepar-GSO-Disop CICS-Introdução 163
colodi@pr.gov.br
CICS
Distributed Transaction Processing
CICS 1 CICS 2
Synchornous Transação B
Transação A
Data Exec Cics
Exec Cics Receive
CONVERSE
Data MASTER
PREÇOS Exec Cics
Send
COMMAREA
(Data)
Return
PREÇOS COMMAREA MASTER
Communications (Data)
Área
D P L options CICS/6000
CICS OS/2
CICS/6000 CICS/400
CICS OS/2 CICS/ESA 3.3
CICS/VSE 2.2
CICS/400
CICS/ESA 3.3
CICS/MVS
CICS/VSE 2.2 CICS/VSE 2.1
CICS/ESA 3.1
CICS/ESA 3.2
DISTRIBUTED
PROGRAM
LINK
FUNCTION
SHIPPING
ISC
TRANSACTION
DISTRIBUTED ROUTING
TRANSACTION
PROCESSING
SERVER NETWORK
OS/2 Client
CICS OS/2
Server __
__
__
Dos Client
--- CICS/400
CICS
CICS
08/04/2018 Celepar-GSO-Disop CICS-Introdução 181
colodi@pr.gov.br
CICS
OBRIGADO
OBRIGADO