One Two Three Four Five INTRODUO AO CICS

  • Slides: 183
Download presentation
One Two Three Four Five. . . INTRODUÇÃO AO CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr.

One Two Three Four Five. . . INTRODUÇÃO AO CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 1

CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 2

CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 2

Sumário Slide Assunto 004. . . . Introduction to CICS 016. . . .

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 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 3

Introduction to CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 4

Introduction to CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 4

CICS C. I. C. S Customer Information Control System • • • Foi desenvolvido

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 5

CICS Transação • Solicitação de um usuário para a realização de um serviço. –

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 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 6

CICS Processamento da Transação (Saque de dinheiro) • Caixas eletrônicos espalhados • Muitas pessoas

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 7

CICS Transaction Manager • High Availability • Fast and Consistent Response Time • End-to-End

CICS Transaction Manager • High Availability • Fast and Consistent Response Time • End-to-End Integrity • Repetitive • Low Cost / Transaction 12/1/2020 Nosso gerenciador precisa ter grande disponibilidade, funcionando 24 h por dia. Deve ser rápido e consistente, garantindo integridade. Por ter um grande volume deve ter um baixo custo por transação Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 8

CICS OLTP On. Line Transaction Processing • O usuário solicita a execução do serviço

CICS OLTP On. Line Transaction Processing • O usuário solicita a execução do serviço e aguarda seu processamento, recebendo a confirmação do sucesso ou não da operação. – Potencialmente muitos usuários, muitas transações – Diversas localidades, mesmo tipo de transação – Mesma base de dados – Compartilhamento e Integridade dos dados 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 9

CICS Business Logic Connectivity Multithreading Security Logging Exception Handling APLICATION Queue Management Locking Recovery

CICS Business Logic Connectivity Multithreading Security Logging Exception Handling APLICATION Queue Management Locking Recovery Time Control Communication Performance Scheduling Administration OPERATING SYSTEM HARDWARE A função essencial da aplicação é efetuar o serviço solicitado pelo usuário. A parte de gerenciamento dos dados, segurança de acesso, integridade, recuperação de falhas, . . . ? Quem deve fazer? 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 10

CICS APLICATIONS (Business Logic) Security Naming Locking Logging Scheduling Recovery End-to-End Integrity Exception Handling

CICS APLICATIONS (Business Logic) Security Naming Locking Logging Scheduling Recovery End-to-End Integrity Exception Handling Performance Connectivity Multithreading Time Control Authorization Administration CICS Aplicaion Server COMUNICATIONS DB MANAGER OPERATING SYSTEM HARDWARE 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 11

CICS A família CICS 1/4 • Hoje a IBM já dispõe de CICS para

CICS A família CICS 1/4 • Hoje a IBM já dispõe de CICS para todas as suas plataformas: – ES/9000 - MVS – ES/9000 - VSE – RISC/6000 - AIX – AS/400 - OS/400 – PWS - OS/2 12/1/2020 CICS/ESA, CICS/MVS CICS/VSE CICS/6000 CICS/400 CICS for OS/2 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 12

CICS A família CICS 2/4 • • • CICS para Open System (ex. HP-Unix)

CICS A família CICS 2/4 • • • CICS para Open System (ex. HP-Unix) Todos podem conversar entre si Uma aplicação desenhada para uma plataforma funciona em outra (mesma API) • CICS Clients: Disponibilizam o acesso à sistemas servidores (CICS Servers). – DOS – Microsoft WINDOWS – OS/2 – MACINTOSH 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 13

3/4 CICS APLICATIONS TRANSACTION MANAGER CICS Aplicaion Server OPERATING SYSTEM MVS/ESA VSE OS/400 OS/2

3/4 CICS APLICATIONS TRANSACTION MANAGER CICS Aplicaion Server OPERATING SYSTEM MVS/ESA VSE OS/400 OS/2 AIX HARDWARE ES/9000 12/1/2020 AS/400 RISC/6000 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br PWS 14

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

CICS A família CICS 4/4 • Dos 500 da Fortune (Publicação que engloba as maiores empresas do mundo), 90 % deles utilizam CICS. • 50. 000 licenças de CICS no mundo. • 300. 000 programadores CICS no mundo. • Utilizado em mais de 90 países, e geralmente de forma vital para as empresas. • Software Houses oferecem inúmeros pacotes para todas as plataformas. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 15

CICS Transaction Flow 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 16

CICS Transaction Flow 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 16

CICS Conceito: Transação x Task 1/2 • Transação: – Solicitação para realização de um

CICS 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 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 17

CICS Conceito: Transação x Task 2/2 • Task: – Unidade de trabalho do CICS

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 18

CICS Layout da Memória do CICS 1/3 (Ambiente MVS) • MVS - unidades chamadas

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 19

CICS Layout da Memória do CICS 2/3 (Ambiente MVS) • Núcleo do CICS –

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 20

CICS Layout da Memória do CICS 3/3 (Ambiente MVS) – Na DSA temos um

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 21

CICS TCP TCT SCP EIP DISPAT. CSA BMS APLICATION PROGRAM 12/1/2020 TSP FCT PCP

CICS TCP TCT SCP EIP DISPAT. CSA BMS APLICATION PROGRAM 12/1/2020 TSP FCT PCP ICP TCA TDP DCT PCT TRP PPT TIOA FIOA USER TD TS STORAGE Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 22

CICS Execução concorrente • • Dois usuários executando a mesma transação. Duas Tasks, cada

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 23

CICS TCP TCT SCP EIP DISPAT. CSA BMS ICP APLICATION PROGRAM 12/1/2020 TDP DCT

CICS TCP TCT SCP EIP DISPAT. CSA BMS ICP APLICATION PROGRAM 12/1/2020 TDP DCT PCP TSP FCT TRP PCT PPT TCA WORKING Celepar-GSO-Disop CICS-Introdução [email protected] gov. br STORAGE 24

CICS Task Flow • Cada módulo ou grupo de módulos executa funções específicas. •

CICS 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: 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 25

Terminal Control Task Control Init Task Validate Program Control User Program Req. Storage Control

Terminal Control Task Control Init Task Validate Program Control User Program Req. Storage Control File Control Get Stor Sch. task Disp. task Load. Pgm Wait Req. Rec Req Área Req. Read Get Stor Rec Read Wait Prep. Out Sch. Write Req. Send Term. task Term. Tran Return Write 12/1/2020 Free. Stor Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 26

CICS Administação de Recursos 1/4 • O CICS administra seus recursos e de seus

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 27

CICS Administação de Recursos 2/4 – DFHPCT - (Program Control Table) • Onde definimos

CICS 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, . . . 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 28

CICS Administação de Recursos 3/4 – DFHFCT - (File Control Table) • Onde definimos

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 29

CICS Administação de Recursos 4/4 – DFHTST - (Temporary Storage Table) • Onde opcionalmente

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 30

CICS SIT DFHSIT TYPE=CSECT, AIEXIT=DFHZATDC, APPLID=CEL 3 CIC 9, DATFORM=DDMMYY, DSALIM=7 M, EDSALIM=90 M,

CICS SIT DFHSIT TYPE=CSECT, AIEXIT=DFHZATDC, APPLID=CEL 3 CIC 9, DATFORM=DDMMYY, DSALIM=7 M, EDSALIM=90 M, GMTRAN=CSGM, GRPLIST=DFHLIST, MXT=60, SUFFIX=A 4, TCT=A 4, END DFHSITBA 12/1/2020 AUTOINSTALL USER PROG. NAME (. CEL) VTAM APPL IDENTIFIER *(MMDDYY) CSA DATE FORMAT *(5 M)UPPER LIMIT OF DSA BELOW 16 MB *(20 M) UPPER LIMIT DSA ABOVE 16 MB INITIAL TRANSACTION LIST NAME OF CSD GROUPS FOR STARTUP *(5) MAXIMUM NUMBER OF TASKS IN CICS* SUFFIX OF THIS SIT TERMINAL CONTROL TABLE OPTION/SUF Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 31

CICS Macro x RDO • As tabelas de recursos são carregadas na memória na

CICS 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) 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 32

CICS Macros Assembler • Criamos um fonte com as macros de definição de recursos,

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 33

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

CICS 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 v 1. 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 34

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

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 35

CICS Grupo de Recursos • Todo recurso definido deve fazer parte de um grupo.

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 36

CICS O que podemos definir com RDO? • Quando foi criado no CICS v

CICS O que podemos definir com RDO? • Quando foi criado no CICS v 1. 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 v 3. 1. 1 chegou a possibilidade de definição de arquivos Vsam. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 37

CICS O que devemos definir com Macro? • Todas as outras tabelas (DCT, PLT,

CICS O que devemos definir com Macro? • Todas as outras tabelas (DCT, PLT, . . . ) • TCT para terminais não Vtam 000400 PRINT NOGEN 000500 DFHTCT TYPE=INITIAL, ACCMETH=(VTAM, NONVTAM), SUFFIX=A 4 000700 * DEFINICAO PARA TERMINAIS SEQUENCIAIS * 001600 * * * * DEFINICAO P/ TERMINAL SEQUENCIAL 1 ******* 001700 DFHTCT TYPE=SDSCI, DEVICE=3505, DSCNAME=ENTSEQ 01, BLKSIZE=80, * 001800 RECFM=F 001900 DFHTCT TYPE=SDSCI, DEVICE=3211, DSCNAME=SAISEQ 01 002000 DFHTCT TYPE=LINE, INAREAL=132, ISADSCN=ENTSEQ 01, ACCMETH=BSAM, * 002100 OSADSCN=SAISEQ 01, TRMTYPE=CRLP 002200 DFHTCT TYPE=TERMINAL, TRMIDNT=S 001, TCTUAL=80, * 002300 TRMSTAT=(RECEIVE), NETNAME=S 001 006300 DFHTCT TYPE=FINAL 006400 END DFHTCTBA 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 38

CICS INTERVALO 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 39

CICS INTERVALO 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 39

CICS Programming 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 40

CICS Programming 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 40

CICS Command Level Interface 1/2 • Chamamos de Command Level Interface a forma de

CICS 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 v 1. 3. Antes dessa data era necessário utilizar macros assembler para programar sob CICS, procedimento bastante trabalhoso se comparado com o atual. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 41

CICS Command Level Interface 2/2 • Na execução desses comandos uma interface (EIP) faz

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 42

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

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 -. . . . 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 43

CICS Comando CICS - formato EXEC CICS SEND FROM(AREA) LENGTH(6) END-EXEC keywords option delimiter

CICS Comando CICS - formato EXEC CICS SEND FROM(AREA) LENGTH(6) END-EXEC keywords option delimiter function argument • O CICS suporta as linguagens: COBOL, ASSEMBLER, PL/I. • A partir da v 3. 1. 1 podemos também programar em C. • Obs: END-EXEC só para Cobol. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 44

CICS Exemplo EXEC CICS RECEIVE INTO(W-IN) END-EXEC MOVE NUMERO TO RECKEY MOVE. . .

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 CICS SEND FROM(W-OUT) END-EXEC CICS RETURN END-EXEC 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 45

CICS Montagem de um programa • Submeter o fonte do programa ao Translator do

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 46

CICS Montagem de um programa FONTE CICS TRANSLATOR COMPILADOR LOAD MODULE 12/1/2020 REL. LINK

CICS Montagem de um programa FONTE CICS TRANSLATOR COMPILADOR LOAD MODULE 12/1/2020 REL. LINK EDIT Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 47

CICS Condições de exceção EXEC CICS HANDLE CONDITION COND 1 (LABEL 1) Coloca-se antes

CICS Condições de exceção EXEC CICS HANDLE CONDITION COND 1 (LABEL 1) Coloca-se antes de emitir o comando e se quando o CICS executar o comando acontecer a COND 1 acontecerá um desvio para LABEL 1. EXEC CICS READ (‘FILEA’) RESP(RCQVEIO) IF RCQVEIO = DFHRESP(COND) THEN. . . Aqui o programador controla os acontecimentos através dos return codes após cada comando executado. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 48

CICS Funções de controle de programas LINK / XCTL/ LOAD • Quando inicia-se uma

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 49

CICS LINK • O comando LINK (exec cics link) transfere o controle para o

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 50

CICS PROG 1 MOVE. . . LINK PROG 2 MOVE. . . RETURN 12/1/2020

CICS PROG 1 MOVE. . . LINK PROG 2 MOVE. . . RETURN 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 51

CICS XCTL • O comando XCTL (exec cics xctl) transfere o controle para o

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 52

CICS PROG 1 MOVE. . . XCTL PROG 2 MOVE. . . RETURN MOVE.

CICS PROG 1 MOVE. . . XCTL PROG 2 MOVE. . . RETURN MOVE. . . RETURN 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 53

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

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 54

CICS Níveis de Programas LINK PROGRAM(‘PROG 2) RETURN XCTL PROGRAM(‘PROG 3) RETURN LINK PROGRAM(‘PROG

CICS Níveis de Programas LINK PROGRAM(‘PROG 2) RETURN XCTL PROGRAM(‘PROG 3) RETURN LINK PROGRAM(‘PROG 4) RETURN . . RETURN 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 55

CICS LOAD PROG 1 MOVE. . . LOAD PROGRAM(TBL 1). . . MOVE. .

CICS LOAD PROG 1 MOVE. . . LOAD PROGRAM(TBL 1). . . MOVE. . . RETURN TBL 1 SP=25. 00 PR=16. 00 RJ=14. 00 BA=31, 80 • O comando LOAD (exec cics load) é utilizado para solicitar ao CICS, a carga de um programa, tabela ou mapset na memória. • Muito usado para trabalhar com tabelas codificadas em assembler, carregadas e usadas por muitas transações. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 56

CICS START - Task Control EXE CICS START [ [ TRANSID(‘TRN 1’) TERMID(‘TER 1’)

CICS START - Task Control EXE CICS START [ [ TRANSID(‘TRN 1’) TERMID(‘TER 1’) FROM(W-AREA) ] TIME(143000) ] END-EXEC • Iniciar automaticamente uma transação, imediatamente ou num horário determinado, passando dados ou não. • Esse mecanismo de start é chamado de ATI (Automatic Transaction Initiation). 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 57

CICS BMS Basic Mapping Support 1/4 • O BMS permite a criação de telas

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 58

CICS BMS Basic Mapping Support 2 /4 • Os mapas são definidos através de

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 59

CICS BMS Basic Mapping Support 3/4 • Podemos definir vários mapas lógicos sob um

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 60

CICS BMS Basic Mapping Support 4/4 • O BMS permite também direcionar mensagens e

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 61

CICS Queueing 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 62

CICS Queueing 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 62

CICS • O cics fornece uma facilidade para armazenar dados que possuem características transientes

CICS • 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) 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 63

CICS TRANSIENT DATA ( TD ) 1/9 • Filas de TD são identificadas por

CICS 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 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 64

CICS 2/9 DFHTDP DCT EXTRAPARTITION TASK Exec Cics Readq/Writeq TD Batch Programs INTRAPARTITION A

CICS 2/9 DFHTDP DCT EXTRAPARTITION TASK Exec Cics Readq/Writeq TD Batch Programs INTRAPARTITION 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 saber se é Intra (controlada pelo CICS) ou Extra (arquivo externo). 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 65

CICS TD INTRAPARTITION 3/9 • São utilizados exclusivamente dentro do CICS. • Todas as

CICS TD INTRAPARTITION 3/9 • São utilizados exclusivamente dentro do CICS. • Todas as filas são armazenadas no mesmo arquivo controlado pelo CICS: Vsam Esds chamado DFHINTRA. • Os registros de cada fila podem ter tamanho fixo ou variável. • A gravação e recuperação dos dados é sempre sequencial. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 66

CICS TD INTRAPARTITION 4/9 • Após a leitura dos registros a fila fica vazia,

CICS TD INTRAPARTITION 4/9 • Após a leitura dos registros a fila fica vazia, pronta para uma nova gravação de dados. • Em TDs Intrapartition a leitura é destrutiva, as filas tem característica reutilizável. • As TDs Intra tem um mecanismo bastante útil, chamado Triggering. Ao definir a fila na DCT podemos informar um número de Trigger level, que quando atingido, numa gravação, uma transação é automaticamente iniciada através do ATI (Automatic Transaction Initiation) do CICS. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 67

CICS Program 5/9 Exec Cics Readq/Writeq TD DFHTDP Intrapartition Dataset DCT Destid PUT GET

CICS Program 5/9 Exec Cics Readq/Writeq TD DFHTDP Intrapartition Dataset DCT Destid PUT GET 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 68

CICS TD EXTRAPARTITION 6/9 • É a forma que o CICS utiliza para suporte

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 69

CICS TD EXTRAPARTITION 7/9 • O arquivo SAM pode ser gerado pelo CICS e

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 70

CICS TD EXTRAPARTITION 8/9 • O usos mais comuns das TD’s são: – Armazenamento

CICS 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). 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 71

CICS Program 9/9 Exec Cics Readq/Writeq TD DFHTDP Batch DCT Destid Dataset Name Input

CICS Program 9/9 Exec Cics Readq/Writeq TD DFHTDP Batch DCT Destid Dataset Name Input ou Output 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 72

CICS TEMPORARY STORAGE (TS) 1/7 • Filas de TS tem seus nomes com até

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 73

CICS TEMPORARY STORAGE (TS) 2/7 • As filas ficam disponíveis até serem explicitamente excluídas.

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 74

CICS TEMPORARY STORAGE (TS) 3/7 • A task solicita a gravação / leitura de

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 75

CICS TEMPORARY STORAGE (TS) 4/7 • As filas em memória tem a vantagem da

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 76

CICS 5/7 DFHTSP TASK Exec Cics Readq / Writeq TS Main / Aux 12/1/2020

CICS 5/7 DFHTSP TASK Exec Cics Readq / Writeq TS Main / Aux 12/1/2020 TS Records MAIN Celepar-GSO-Disop CICS-Introdução [email protected] gov. br AUX. TS Dataset 77

CICS Utilização de TS 6/7 • Além das nossas aplicações, o próprio CICS utiliza

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 78

CICS Para uma boa utilização de TS. . . 7/7 • Sempre excluir as

CICS Para uma boa utilização de TS. . . 7/7 • Sempre excluir as filas após a utilização (Delete. Q), 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 79

TRANSIENT DATA TEMPORARY STORAGE STATIC DEFINITIONS (DCT) DYNAMIC DEFINITIONS VSAM-ESDS FILE (INTRA) VSAM-ESDS FILE

TRANSIENT DATA TEMPORARY STORAGE STATIC DEFINITIONS (DCT) DYNAMIC DEFINITIONS VSAM-ESDS FILE (INTRA) VSAM-ESDS FILE (AUX) SEQUENTIAL RETRIEVE SEQ/RANDOM RETRIEVE SAM FILES (EXTRA) MAIN STORAGE USE TRIGGERING (ATI) NO ATI SUPPRT 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 80

CICS Command Level Tools 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 81

CICS Command Level Tools 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 81

CICS CEBR FERRAMENTAS AUXILIARES CEDF CECS 12/1/2020 CECI Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 82

CICS CEBR FERRAMENTAS AUXILIARES CEDF CECS 12/1/2020 CECI Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 82

CICS CEDF Execution Diagnostic Facility 1/2 • É uma transação utilizada para depurar probramas

CICS CEDF Execution 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 83

CICS CEDF Execution Diagnostic Facility 2/2 • Podemos acompanhar a execução do programa a

CICS CEDF Execution 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 84

CICS CEBR Browses CICS queues • Essa transação possibilita consultarmos todo o conteúdo de

CICS CEBR Browses 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 85

CICS CECI Command Level Interpreter • Com a CECI podemos checar a sintaxe de

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 86

CICS CECS Command Level Syntax Check • A CECS, como a CECI, é uma

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 87

CICS INTERVALO 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 88

CICS INTERVALO 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 88

CICS Terminal Management 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 89

CICS Terminal Management 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 89

CICS TERMINAIS - Devices • Dos vários tipos de terminais que o CICS suporta,

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 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 90

CICS TERMINAIS - Método de acesso 1/2 • O principal método de acesso atualmente

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 91

CICS TERMINAIS - Método de acesso 2/2 • O CICS tem que reconhecer o

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 92

CICS TERMINAIS - Definições 1/6 Terminais VTAM • Quando é terminal VTAM a definição

CICS TERMINAIS - Definições 1/6 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 93

CICS TERMINAIS - Definições 2/6 Terminais NÃO VTAM • Se o terminal não é

CICS TERMINAIS - Definições 2/6 Terminais 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 94

CICS TERMINAIS - Definições 3/6 Definição Hard-Coded 1/2 • Para definirmos um terminal VTAM

CICS TERMINAIS - Definições 3/6 Definição Hard-Coded 1/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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 95

CICS TERMINAIS - Definições 4/6 Definição Hard-Coded 2/2 • DEFINE TYPETERM: Define-se as características

CICS TERMINAIS - Definições 4/6 Definição Hard-Coded 2/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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 96

CICS TERMINAIS - Definições 5/6 Autoinstall • Criado em 1986, com o CICS v

CICS TERMINAIS - Definições 5/6 Autoinstall • Criado em 1986, com o CICS v 1. 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 97

CICS TERMINAIS - Definições 6/6 Terminais Não Vtam • Para terminais não vtam temos

CICS TERMINAIS - Definições 6/6 Terminais 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 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 98

CICS File Management 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 99

CICS File Management 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 99

CICS Gerenciamento de Arquivos 1/4 • Toda função solicitada ao CICS, por transações desenvolvidas

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 100

CICS Gerenciamento de Arquivos 2/4 • Quando o comando é para manuseio de arquivos,

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 101

CICS Operação de leitura de um VSAM FCT FILEA. . . FCP FILEA EIP

CICS Operação de leitura de um VSAM FCT FILEA. . . FCP FILEA EIP 12/1/2020 TASK EXEC CICS READ FILE(‘FILEA’). . . Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 102

CICS Gerenciamento de Arquivos 3/4 • No caso de operações envolvendo Banco de Dados,

CICS 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 solicitados. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 103

CICS Gerenciamento de Arquivos 4/4 VSAM X BDAM • O CICS trabalha com dois

CICS Gerenciamento de Arquivos 4/4 VSAM X BDAM • O CICS trabalha com dois métodos de acesso para manuseio de arquivos – VSAM - Virtual Storage Access Method – BDAM - 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 104

CICS VSAM - Estruturas de Dados ESDS KEY 5 KSDS 3 5 8 R

CICS VSAM - Estruturas de Dados ESDS KEY 5 KSDS 3 5 8 R 4 RRDS R 1 R 2 R 3 Todas suportadas pelo CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 105

CICS ESDS - Entry Sequenced Data. Set • Cada registro é identificado para recuperação

CICS ESDS - Entry Sequenced Data. Set • Cada registro é identificado para recuperação pelo seu 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 106

CICS KSDS-Key Sequenced Data. Set KEY 5 3 5 8 • Além da leitura

CICS KSDS-Key Sequenced Data. Set KEY 5 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 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 107

CICS RRDS-Relative Record Data. Set R 4 R 1 R 2 R 3 •

CICS RRDS-Relative Record Data. Set R 4 R 1 R 2 R 3 • 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 108

CICS VSAM Buffering - NSR Non-Shared Resources 1/3 • Quando definimos um arquivo no

CICS VSAM Buffering - NSR Non-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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 109

CICS VSAM Buffering - NSR Non-Shared Resources 2/3 • Por outro lado quando o

CICS VSAM Buffering - NSR Non-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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 110

CICS VSAM Buffering - NSR Non-Shared Resources 3/3 Request File A buffers Request File

CICS VSAM Buffering - NSR Non-Shared Resources 3/3 Request File A buffers Request File B File A File B buffers 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 111

CICS VSAM Buffering - LSR Local-Shared Resources 1/2 • Utilizamos esse conceito para construir

CICS VSAM Buffering - LSR Local-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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 112

CICS VSAM Buffering - LSR Local-Shared Resources 2/2 Request File A Request File B

CICS VSAM Buffering - LSR Local-Shared Resources 2/2 Request File A Request File B 12/1/2020 File A Buffer Pool Celepar-GSO-Disop CICS-Introdução [email protected] gov. br File B 113

CICS Definição de Arquivos • RDO – CEDA DEFINE FILE – CEDA DEFINE LSRPOOL

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 114

CICS ALOCAÇÃO DIN MICA Job Batch CICS Os arquivos são alocados na abertura e

CICS ALOCAÇÃO DIN MICA Job Batch CICS Os arquivos são alocados na abertura e desalocados no 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 115

CICS IMS x DB 2 1/2 • O CICS suporta também os bancos de

CICS IMS x DB 2 1/2 • O CICS suporta também os bancos de dados DB 2 e IMS. Os acessos aos bancos são feitos por interfaces próprias dos mesmos. • DB 2 - É 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 DB 2 a aplicação CICS emite comandos EXEC SQL que são interpretados pela interface entre o CICS e o DB 2, chamada CICS ATTACHMENT FACILITY. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 116

CICS IMS x DB 2 2/2 • A família DB 2: (DB 2 for

CICS IMS x DB 2 2/2 • A família DB 2: (DB 2 for ESA, DB 2 for VSE, DB 2 for VM, DB 2 for AS/400, DB 2 for RISC System/6000, DB 2 for OS/2, and DB 2 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 117

CICS INTERVALO 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 118

CICS INTERVALO 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 118

CICS Data Integrity and Recovery 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 119

CICS Data Integrity and Recovery 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 119

CICS File Garantir que enquanto um usuário atualiza um registro, outros não atualizam os

CICS File 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 120

CICS Controle Exclusivo Task A 1/3 Task B Update Rec 6 Rec 5 Rec

CICS Controle Exclusivo Task A 1/3 Task B Update Rec 6 Rec 5 Rec 6 Rec 7 File A 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 121

CICS Controle Exclusivo 2/3 • O VSAM e o CICS utilizam esse mecanismo para

CICS 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 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 122

CICS Controle Exclusivo 3/3 • Se o arquivo for protegido (LOG=YES na definição), após

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 123

CICS Dinamic Transaction Backout ( DTB ) TASK A File Work Área 1/3 Save

CICS Dinamic Transaction Backout ( DTB ) TASK A File Work Área 1/3 Save Image READ UPDATE ABEND. . . 12/1/2020 Reapply Saved Image Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 124

CICS Dinamic Transaction Backout ( DTB ) 2/3 • Quando um arquivo é protegido

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 125

CICS Dinamic Transaction Backout ( DTB ) 3/3 • Quando ocorre a atualização do

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 126

CICS L U W - Lógical Unit of Work • A LUW tem início

CICS 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”. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 127

CICS System Failure LUW TASK A SOT EOT FILE MOD. BACKOUT LUW LUW TASK

CICS System Failure LUW TASK A SOT EOT FILE MOD. BACKOUT LUW LUW TASK B SOT SYNC. FILE MOD. EOT FILE MOD. BACKOUT LUW TASK C SOT FILE MOD. EOT FILE MOD. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 128

CICS Transferência da Poupança para a Conta Corrente TASK UPDATE (ARQ. POUPANÇA) ( -

CICS Transferência da Poupança para a Conta Corrente TASK UPDATE (ARQ. POUPANÇA) ( - R$ 300, 00) POUPANÇA LOG =YES UPDATE (ARQ. C/C) (+ R$ 300, 00) LUW COMPLETA OU BACKED OUT. . . C/C LOG =YES Obs: Bancos de dados tem seus próprios mecanismos de recuperação e integridade 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 129

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

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 130

CICS Emergency Reestart CICS SYSTEM LOG (journal) Backout Files, TS, TD, DB 12/1/2020 Celepar-GSO-Disop

CICS Emergency Reestart CICS SYSTEM LOG (journal) Backout Files, TS, TD, DB 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 131

CICS START-UP OPTIONS COLD AUTO 12/1/2020 WARM EMERGENCY Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 132

CICS START-UP OPTIONS COLD AUTO 12/1/2020 WARM EMERGENCY Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 132

CICS Start-up Options • COLD: – O CICS é inicializado como se tivesse sido

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 133

CICS Start-up Options • WARM RESTART: – A rodada anterior terminou de forma controlada

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 134

CICS TERMINATION OPTIONS NORMAL IMMEDIATE UNCONTROLLED 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 135

CICS TERMINATION OPTIONS NORMAL IMMEDIATE UNCONTROLLED 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 135

CICS Termination Options • SHUTDOWN NORMAL: – Todas as tasks “In-flight” são executadas até

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 136

CICS System Management 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 137

CICS System Management 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 137

CICS Transactions • C E M T - Master Terminal • C E O

CICS Transactions • C E M T - Master Terminal • C E O T - Operator Terminal A • C E D B - Resource Derfinition Online C O CICS oferece vária ferramentas para gerenciamento do sistema. Dentre elas destacamos as transações: 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 138

CICS Transações de Administração • CEMT (Master Terminal) - A transação mais poderosa do

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 139

CICS Transações de Administração • CEOT (Operator Terminal) - Consulta e altera apenas status

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 140

CICS Security Até a versão 3. 1. 1, o CICS oferecia um mecanismo próprio

CICS Security Até a versão 3. 1. 1, o CICS oferecia um mecanismo próprio de segurança (interna), que era baseada em chaves numéricas associadas às transações e aos recursos definidos, e de acordo com as chaves o usuário tinha ou não acesso permitido. Como esse mecanismo de segurança era pouco eficaz, a partir do CICS v 3. 2. 1 ele foi extinto e tornou-se necessária a contratação de um gerenciador de segurança externo como o Top Secret da CA, o RACF da IBM ou outros existentes no mercado. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 141

CICS Determinação de Problemas 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 142

CICS Determinação de Problemas 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 142

CICS Determinação de Problemas • O CICS está sujeito a falhas do tipo: –

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 143

CICS Ferramentas para Determinação de Problemas 1/4 O CICS oferece algumas ferramentas: • DUMP

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 144

CICS Ferramentas para Determinação de Problemas 2/4 • TRACE – É a gravação do

CICS 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: 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 145

CICS Ferramentas para Determinação de Problemas 3/4 • Trace MAIN: O trace é gravado

CICS 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 v 3. 1. 1 existe a possibilidade de obter o trace com o GTF do MVS. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 146

CICS Ferramentas para Determinação de Problemas 4/4 • Messages and Codes: Manual em papel

CICS 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 v 3. 1. 1 • IBM Support: CAC - Centro de Atendimento ao Cliente) 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 147

CICS Medições e Ajustes • As estatísticas que o CICS fornece são uma ferramenta

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 148

CICS Medições e Ajustes • Destaque para os seguintes tópicos: – TASK - através

CICS 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. . . 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 149

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

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 150

CICS INTERVALO 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 151

CICS INTERVALO 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 151

CICS Communication 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 152

CICS Communication 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 152

CICS Interconnected System CICS/ESA CICS/VSE CICS /400 CICS /6000 CICS (Não IBM) CICS for

CICS Interconnected System CICS/ESA CICS/VSE CICS /400 CICS /6000 CICS (Não IBM) CICS for OS/2 Client Dos Client Mac Client Windows Client 12/1/2020 Windows Client Celepar-GSO-Disop CICS-Introdução [email protected] gov. br Mac Client 153

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

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 154

CICS Tipos de Comunicações • O CICS trabalha com duas formas de comunicação, sendo

CICS 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. –MRO –ISC 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 155

CICS MRO - Multi-Region Operation CICS Trata-se da comunicação de um CICS com outros

CICS MRO - Multi-Region Operation CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 156

CICS ISC - Intersystem Communication CICS LU 6. 2(APPC) LU 6. 1 • Esse

CICS ISC - Intersystem Communication CICS LU 6. 2(APPC) LU 6. 1 • 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 LU 6. 1 e principalmente LU 6. 2 (APPC). • O ISC é a forma de comunicação mais flexível, já que permite interligar diferentes plataformas e produtos situados em qualquer localidade. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 157

CICS Facilidades de Comunicação 1/2 Através do MRO e do ISC temos: – FUNCTION

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 158

CICS Facilidades de Comunicação 2/2 – DISTRIBUTED TRANSACTION PROCESSING (Processamento distribuído de transação) -

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 159

CICS Function Shipping CICS 1 CICS 2 Transação A Read Update File(MASTER) PREÇOS 12/1/2020

CICS Function Shipping CICS 1 CICS 2 Transação A Read Update File(MASTER) PREÇOS 12/1/2020 Read Update File(PREÇOS) Request Reply Mirror Program Celepar-GSO-Disop CICS-Introdução [email protected] gov. br MASTER 160

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

Function Shipping • A transação ‘A’, no CICS 1 pede a leitura do arquivo MASTER, pertencente ao CICS 2. Para atender a solicitação uma transação “espelho” (Mirror) é disparada no CICS 2, que realiza a leitura e devolve os dados ao CICS 1. • Funcion Shipping suporta acesso remoto a arquivos, filas de Temporary Storage (TS) e Transient Data (TD). A integridade dos dados é total. Se ocorrer um abend em um dos lados, o outro é imediatamente informado para ocorrer o sincronismo dos eventos. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 161

CICS Transaction Routing CICS 1 CICS 2 Inicío da Transação A 12/1/2020 Celepar-GSO-Disop CICS-Introdução

CICS Transaction Routing CICS 1 CICS 2 Inicío da Transação A 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 162

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

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 163

CICS Distributed Transaction Processing CICS 1 CICS 2 Synchornous Transação A Exec Cics CONVERSE

CICS Distributed Transaction Processing CICS 1 CICS 2 Synchornous Transação A Exec Cics CONVERSE PREÇOS 12/1/2020 Data Transação B Exec Cics Receive Exec Cics Send Celepar-GSO-Disop CICS-Introdução [email protected] gov. br MASTER 164

Distributed Transaction Processing 1/2 • O Distributed Transaction Processing é uma facilidade de comunicação

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 CICS 1, o programa solicita que seja iniciada uma transação parceira n CICS 2. As duas trabalham em conjunto durante todo o processo. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 165

Distributed Transaction Processing 2/2 • O DTP requer conhecimentos mais profundos de programação, pois

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 LU 6. 2, que faz parte da arquitetura SNA, é amplamente utilizado em DTP. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 166

CICS Distributed Program Link CICS 1 Transação A Link Program(‘X’) PREÇOS 12/1/2020 CICS 2

CICS Distributed Program Link CICS 1 Transação A Link Program(‘X’) PREÇOS 12/1/2020 CICS 2 Communications Área COMMAREA (Data) Programa X Return Communications Área COMMAREA (Data) Celepar-GSO-Disop CICS-Introdução [email protected] gov. br MASTER 167

CICS DPL - Distributed Program Link 1/3 • Quando uma aplicação CICS emite o

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 168

CICS DPL - Distributed Program Link 2/3 • Com o comando Link podemos passar

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 169

CICS DPL - Distributed Program Link 3/3 • Como o DPL é uma facilidade

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 170

CICS D P L options CICS/6000 CICS OS/2 CICS/400 CICS/ESA 3. 3 CICS/VSE 2.

CICS D P L options CICS/6000 CICS OS/2 CICS/400 CICS/ESA 3. 3 CICS/VSE 2. 2 12/1/2020 CICS/6000 CICS OS/2 CICS/400 CICS/ESA 3. 3 CICS/VSE 2. 2 CICS/MVS CICS/VSE 2. 1 CICS/ESA 3. 2 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 171

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

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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 172

CICS ISC DISTRIBUTED PROGRAM LINK FUNCTION SHIPPING ISC DISTRIBUTED TRANSACTION PROCESSING 12/1/2020 TRANSACTION ROUTING

CICS ISC DISTRIBUTED PROGRAM LINK FUNCTION SHIPPING ISC DISTRIBUTED TRANSACTION PROCESSING 12/1/2020 TRANSACTION ROUTING Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 173

CICS Configuração Exemplo CICS TOR CICS AOR CICS FOR • O CICS amarelo é

CICS Configuração Exemplo CICS TOR CICS AOR CICS FOR • 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 174

CICS Resumo - Porque Comunicar ? 1/4 • AVAILABILITY AND RESPONSE TIME REQUIREMENTS –

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 175

CICS Resumo - Porque Comunicar ? 2/4 • APPLICATION ISOLATION – Isolamento de aplicações

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 176

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

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 177

CICS Resumo - Porque Comunicar ? 4/4 • DISTRIBUTED PROCESSING / COOPERATIVE PROCESSING –

CICS 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 178

CICS Protocolos de comunicação entre CICS "From" CICS system "To" CICS system(s) Communication ==================================

CICS Protocolos de comunicação entre CICS "From" CICS system "To" CICS system(s) Communication ================================== CICS/ESA, CICS/VSE, SNA LU 6. 2* CICS/6000, CICS for OS/2, CICS/400 CICS for OS/2 All CICS platforms SNA LU 6. 2 CICS for OS/2 Net. BIOS or TCP/IP CICS/400 All CICS platforms SNA LU 6. 2 CICS/6000 Other CICS/6000 TCP/IP systems CICS Clients CICS/ESA and CICS/VSE SNA LU 6. 2 (via ECI), and CICS/400 CICS Clients CICS for OS/2, and TCP/IP CICS on Open Systems CICS Clients CICS for OS/2 (not Net. BIOS Macintosh) ================================= 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 179

CICSPLEX SM CICS/VSE __ ___ ___ SERVER NETWORK OS/2 Client CICS OS/2 Server Dos

CICSPLEX SM CICS/VSE __ ___ ___ SERVER NETWORK OS/2 Client CICS OS/2 Server Dos Client CICS/ESA __ __ __ --- CICS/400 • 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. 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 180

CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 181

CICS 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 181

CICS OBRIGADO 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 182

CICS OBRIGADO 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 182

CICS OBRIGADO 12/1/2020 Celepar-GSO-Disop CICS-Introdução colodi@pr. gov. br 183

CICS OBRIGADO 12/1/2020 Celepar-GSO-Disop CICS-Introdução [email protected] gov. br 183