Bem vindo corporao bancria Master the Mainframe. O sistema do banco precisa ser atualizado. Voc foi convidado para trabalhar em uma equipe que est desenvolvendo um prottipo para a substituio do sistema do banco que processa transaes com carto de crdito. Detalhes de transaes de cartes de crdito chegam via mensagens do WebSphere MQ, e so processadas atravs de uma transao do CICS. A transao do CICS processa as solicitaes e registra os detalhes da transao em um banco de dados DB2, atualizando o crdito disponvel no carto ao mesmo tempo. O CICS envia uma resposta de volta para cada transao atravs do WebSphere MQ, indicando se foi processada com xito. Seus colegas comearam a desenvolver o prottipo, mas esto se esforando para faz-lo funcionar. O objetivo desta parte do desafio completar com sucesso o prottipo, de modo que voc possa simular um pagamento em seu carto de crdito. Para simplificar o processo, usaremos cartes de crdito com um nome em vez do usual nmero de 16 dgitos. O nome de seu carto de crdito, e o logon de acesso ao sistema CICS, so os mesmos que o seu user ID do z/OS.
Ajuda Voc pode consultar as seguintes referncias para completar as tarefas: ! z/OS v1.11 Information Center: http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp ! CICS Transaction Server v3.2 Information Center: http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.jsp ! WebSphere MQ v7 Information Center: http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp ! As instrues da Parte 1 do Concurso tambm contm muitas dicas teis!
Introduo ao CICS e o WebSphere MQ
CICS CICS (Customer Information Control System) Transaction Server um software poderoso da IBM que atende s necessidades de processamento de transaes de grandes e pequenas empresas. Baseia-se no z/OS e nas facilidades do System z para oferecer alta disponibilidade e escalabilidade a um baixo custo por transao, e suporta grandes volumes de transaes com um tempo de resposta rpido e consistente. O processamento de transaes um estilo de computao, normalmente realizada por grandes servidores, e que suporta aplicaes interativas. Por exemplo, retirar dinheiro de um caixa eletrnico e atualizar o saldo no banco de dados.
Eu gostaria que voc fizesse um teste usando o WebSphere MQ e o CICS para simular um pagamento com o seu carto de crdito. Vou fazer tambm algumas perguntas para avaliar a sua compreenso. Por favor, me envie as suas resposta aps terminar o teste. Por outro lado, o processamento em batch um estilo de computao em que um ou mais programas processam um conjunto de registros (um batch), com pouca ou nenhuma ao do usurio. Por exemplo, imprimir extratos bancrios para cada titular de conta e envi-los pelo correio.
Mediadores de processamento de transaes, como o CICS, permitem que os programadores de aplicativos se concentrem em escrever cdigos que suportam o negcio, e protegem as aplicaes dos seguintes detalhes de gerenciamento de transaes:
" Gerencia o processamento simultneo de transaes. " Permite o compartilhamento de dados. " Garante a integridade dos dados " Gerencia a priorizao da execuo da transao. Quando uma transao inicia o processamento, o CICS executa um programa que est associado com a transao. Esse programa pode transferir o controle para outros programas no decorrer da transao, fazendo o possvel para montar aplicaes modulares que consistem em muitos programas do CICS. A qualquer momento, em um sistema CICS, muitas transaes podem ser executadas ao mesmo tempo. Seria terrvel ter que esperar por outras pessoas terminarem de pagar antes que voc pudesse comprar alguma coisa online. WebSphere MQ WebSphere MQ produto para troca de mensagens entre aplicaes da IBM. Ele pode ser usado para enviar os dados formatados, sob a forma de mensagens, entre aplicaes diferentes por meio de um mecanismo de entrega de mensagens assncronas. Essas aplicaes podem ser escritas em diferentes linguagens de programao e estar em execuo em diferentes hardwares e sistemas operacionais. Ser capaz de unir essas aplicaes faz com que os clientes tenham uma grande economia de tempo e dinheiro. Comeando Antes de comear esta parte do concurso, voc vai precisar das perguntas que voc precisa responder ao longo do caminho. Elas estaro disponveis em uma folha de questes e respostas no data set sequencial chamado ZOS.CONTEST3.PART2.ANSWER.SHEET. ! Usando o ISPF faa uma cpia desse data set. Voc ir complet-lo conforme for realizando as tarefas.
Para copiar um dataset, use a opo 3.3 do painel principal do ISPF. (Digite =3.3 na linha de comando do ISPF).
Voc tambm pode copiar os membros PDSE deste painel, colocando o nome do membro entre parnteses aps o nome do data set.
! Certifique-se que os DOIS primeiros qualificadores do seu data set o seu user ID caso contrrio, suas respostas no podem ser marcadas corretamente.
Voc ser avisado quando for para responder cada uma das perguntas, mas antes leia os comentrios no topo da folha de respostas cuidadosamente antes de prosseguir. ! Preencha com o seu user ID do z/OS (i.e. xxxxxxx) no espao fornecido acima da questo 1. ! Acesse o seu data set sequencial <user ID>.<user ID>.ANSWERS ! Ele deve ser alocado em tracks (TRKS) ! Ele deve ter uma quantidade principal de 1 e uma quantidade secundria de 1 ! Ele deve ter 0 blocos de diretrio ! O formato de registro deve ser FB (Fixed Block) e o comprimento do registro deve ser de 80 ! O tamanho do bloco deve ser 32000 ! O tipo de nome do dataset deve estar em branco Se tudo der errado, no se preocupe! Exclua o data set, encontrando-o na opo 3.4 do painel principal do ISPF e digitando D na coluna de comado esquerda. Em seguida, tente novamente!
Voc pode encontrar mais informaes sobre o CICS em: CICS Transaction Server v3.2 Information Center (http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.jsp).
Cartilha do CICS Agora uma boa hora para falar um pouco sobre o uso do CICS. Voc inicia uma transao CICS ao pressionar a tecla CLEAR * para limpar a tela, e inserir o identificador de transao, sozinho ou seguido de dados, na linha de comando da tela. A linha de comando geralmente est na parte superior da tela. Voc pode digitar o identificador de transao sozinho e seguir as instrues at que um comando de transao completo seja construdo, ou voc pode digitar o comando de transao completo na linha de comando. Se voc no inserir a informao necessria, ou se a informao digitada estiver errada, ser solicitado que voc complete ou corrija o seu comando. Por exemplo, na operao seguinte, CESF o identificador de transao e os dados adicionais GOODNIGHT. CESF GOODNIGHT Esta transao usada para fazer logoff no CICS. Quando a transao iniciada, ela processa os dados adicionais. Aps a concluso desta transao, voc recebe a seguinte mensagem: STATUS: SESSION ENDED Depois que uma transao for concluda, pressione a tecla CLEAR * para obter uma tela em branco de prontido para realizar uma prxima transao. Para finalizar uma transao use a tecla PF3. * A tecla especial CLEAR do emulador 3270 no est presente nos teclados. Contudo, cada um dos emuladores 3270 fornece ela atravs de um menu ou permite que voc possa mape-la em alguma tecla do seu teclado padro. Muitas vezes a tecla Pause/Break a default.
Utilizando o CICS Abra uma segunda sesso no terminal 3270, mas em vez de entrar com o comando TSO no prompt SELECT APPLICATION entre com o comando LOGON APPLID(CICSZ057). Voc deve ento visualizar a tela de login do CICS:
! Entre com o seu id e senha e pressione Enter (lembre-se que o Enter a tecla Ctrl).
A mensagem seguinte ir aparecer: DFHCE3549 Sign-on is complete (Language ENU).
! Responda as questes de 1 a 5 no seu data set <userid>.<userid>.ANSWERS agora que voc est dentro do ambiente do CICS.
Utilizando a linguagem JCL
Se voc pensar sobre como voc pode alcanar qualquer tarefa no mundo real, voc normalmente decompe ela em uma ou mais etapas, onde cada etapa conclui uma determinada parte da tarefa e, normalmente, requer o uso de diferentes recursos. Job Control Language (JCL) uma linguagem de controle utilizada para descrever a aes a serem relizadas para o z/OS, onde um job representa uma tarefa. Para cada job que voc enviar, voc precisa dizer ao z/OS onde encontrar a entrada adequada, como processar essa entrada (ou seja, qual o programa ou programas para executar), e o que fazer com a sada resultante. Voc usa JCL para transmitir esta informao para z/OS por meio de um conjunto de instrues conhecidas como instrues de controle do job. Os conjuntos de instrues de controle do job de JCL so bastante grandes, o que permite fornecer uma grande quantidade de informaes para o z/OS. A maioria dos jobs, no entanto, podem ser executados usando um subconjunto muito pequeno dessas instrues de controle. Dentro de cada job, as instrues de controle so agrupados em etapas de trabalho. A etapa de trabalho constitudo por todas as instrues de controle necessrias para executar um programa. Se um job precisa ser executado por mais de um programa, o job dever conter uma etapa de trabalho diferente para cada um desses programas. Instrues de Controle do Job Cada job deve conter: - Uma instruo JOB para marcar o incio de um job e atribuir-lhe um nome. Esta instruo tambm usada para fornecer certas informaes administrativas, incluindo segurana, contabilidade e informaes de identificao. Cada job tem uma e apenas uma instruo JOB. - Pelo menos uma declarao EXEC (execute), marcando o incio de uma etapa de um job, um nome para a etapa de um job, e o programa ou procedimento a ser executado. Voc pode adicionar diversos parmetros na declarao EXEC para personalizar a forma de como o programa executado e as condies em que o passo deve ser executado.
Instrues JCL podem ser codificadas somente at a coluna 71. Se voc perguntar por que JCL tem este formato, a resposta que antigamente se usavam os cartes perfurados que tinham 80 colunas, o ltimo dos quais 8 foram utilizados para os nmeros de linha.
*** DICA: Para visualizar a quantidade de colunas em um cdigo JCL, digite COLS na linha de comando! Para mais informaes voc pode consultar a sesso JCL Reference do livro MVS no z/OS Information Center.
Utilizando o SDSF
Nessa sesso, voc pode ter que trocar entre duas aplicaes diferentes repetidamente, por exemplo, entre as suas respostas no editor do data set, e o SDSF para encontrar as respostas para as questes. Pode ser bem chato ter que ficar entrando e saindo entre essas aplicaes, ento h uma maneira melhor de fazer isso: A maioria dos programas exigem alguma entrada ou geram alguma sada e de modo geral tambm contm: - Uma ou mais instrues DD (data definition), para identificar e descrever os dados de entrada e de sada para ser utilizada na etapa. Essa declarao pode ser usado para solicitar um conjunto de dados previamente criado, para definir um novo conjunto de dados, para definir um conjunto de dados temporria, ou para definir e especificar as caractersticas do produto. Cada instruo de controle do job tem cinco campos: 1. Um campo identificador que tipicamente duas barras (/ /). A linha inteira tratada como comentrio caso as duas barras estiverem seguidas por asterisco (/ /*). 2. Um campo nome, identificando a instruo para que ele possa ser referido mais tarde. 3. Um campo operao identificando o tipo da instruo, ou seja, JOB, EXEC, DD. 4. Um campo parmetro. 5. Tudo aps o campo parmetro considerado comentrio e ignorado. O layout do JCL pode parecer um pouco confuso quando voc o v pela primeira vez. Felizmente, o editor ISPF pode exibir a sintaxe de JCL destacada se voc digitar o comando HILITE JCL (ou HILITE AUTO) durante a edio de um membro do JCL.
Voc deve estar surpreso de como nunca descobriu sobre isso!
Pressionando F2 far com que a tela faa um "split" em seu cursor mostrando as duas telas separadas por uma linha pontilhada horizontal. Voc pode em seguida pressionar F9 para alternar entre as duas telas. Para maximizar o tamanho de tela disponvel, coloque o cursor na linha do topo da tela antes de pressionar F2. Cartilha do SDSF
O System Display and Search Facility (SDSF) fornece informaes que voc pode usar para monitorar, gerenciar e controlar um sistema z/OS.
Voc pode usar o SDSF para exibir o registro do sistema e os status dos jobs que esto sendo executados no sistema ou que tenham concludo a execuo, incluindo qualquer sada realizada de jobs que ainda no tenham sido descartados.
Voc acessa o SDSF a partir do comando S no painel principal do ISPF.
A partir da, o comando DA pode ser usado para exibir os jobs ativos no sistema (em execuo), incluindo quaisquer tarefas iniciadas, que so um tipo especial de job. O comando ST pode ser usado para visualizar o status dos jobs, aqueles que esto ativos, aqueles que ainda no foram processados, e aqueles que j foram concludos.
Uma vez que voc estiver visualizando a lista de jobs, usando a linha do prompt de comando voc pode filtrar a lista para visualizar apenas os jobs que voc possui digitando: OWNER XXXXXXX
Para voltar a mostrar todos os jobs basta digitar: OWNER *
Da mesma forma, voc pode filtrar a lista de jobs a partir do nome dele digitando: PREFIX ABC* (Nesse caso, mostra apenas os jobs cujos nomes comeam com ABC)
Para remover esse filtro digite: PREFIX *
Voc pode usar ambos os comandos OWNER e PREFIX ao mesmo tempo.
Estes so particularmente teis porque eles escondem os jobs em um sistema que voc no est interessado ou outro ou no autorizado para acessar.
Os filtros OWNER e PREFIX no so exibidos em qualquer lugar, por isso, se voc colocar os filtros em qualquer lugar na tela, voc pode ter como resposta uma lista de Jobs em branco. Esteja ciente de que SDSF lembra os filtros que voc est usando. Se voc no est vendo um job que voc espera ver, defina os dois filtros em um nico asterisco (*), de modo que todos os jobs so exibidos.
Nos painis DA e ST apresentado uma lista de jobs. Use as teclas PF7 e PF8 para subir e descer a tela.
Para visualizar mais informaes sobre um job particular entre com S na coluna da esquerda (NP) e pressionar Ctrl.
Isto pode fornecer uma grande quantidade de dados e com isso, alternativamente, voc pode digitar um ponto de interrogao (?). Isso retornar uma listagem das vrias sees da sada. Voc pode ento usar S para selecionar essas sees individualmente.
Use a tecla PF3 para sair da tela que voc est e voltar para a anterior.
! Responda as questes de 6 a 8 agora que voc j est familiarizado com o JCL e o SDSF. A Aplicao de Teste
Executando a aplicao de teste
! Crie um PDSE, como na parte um, chamado <userid>.PART2.JCL.
! Crie um membro em seu data set JCL chamado PAYMENT, faa uma cpia dele a partir do membro de mesmo nome do data set chamado ZOS.CONTEST3.PART2.JCL.
! Substitua os espaos reservados no job como descrito - voc pode usar qualquer valor monetrio e descrio de sua escolha. ! Envie a tarefa digitando SUBMIT na linha de comando durante a edio dele, e verifique a sua sada usando o SDSF.
Vamos verificar algumas outras comodidades do mainframe, por isso, pode valer a pena rever o esquema inicial para se concentrar na nossa tarefa testar o nosso sistema de processamentos de pagamentos. A aplicao de teste desenvolvida por nossos colegas foi projetada para ser executado por meio de batch Jobs, sabendo disso, vamos comear a usar alguns JCLs. ! Deve ser alocados em faixas (TRKS) ! Deve ter uma quantidade principal de 1 e uma quantidade secundria de 1 ! O formato de registro deve ser FB (Fixed Block) e o comprimento do registro deve ser de 80 ! O tamanho do bloco deve ser 32000 Oh no! Parece que o cdigo no est pronto ainda mesmo o JCL que diz para o z/OS executar o batch no funcionou!
! Corrija os erros do JCL, usando a seo JCL Reference do livro MVS no z/OS Information Center para te ajudar a descobrir o que est errado e como corrigi-lo. ! Responda pergunta 9. Recompilando a aplicao de testes Tendo concludo o exerccio anterior e respondido a pergunta 9, voc vai perceber que est faltando a aplicao de testes. Antes de recompilar ela, voc precisa criar outro PDSE em que o programa compilado possa ser armazenado e da qual ele pode ser executado.
! Crie outro PDSE chamado <userid>.PART2.LOAD, definindo-o com os mesmos atributos que ZOS.CONTEST3.PART2.LOAD. Agora voc precisa copiar um outro conjunto de JCLs - que voc pode usar para compilar a aplicao - para outro membro em seu data set JCL. ! Copie o job do membro chamado COMPPAY no data set ZOS.CONTEST3.PART2.JCL ! Substitua os espaos reservados no job como descrito e compile a aplicao de teste de unidade - voc no deve encontrar quaisquer erros neste momento.
Reexecutando a aplicao de testes Agora que voc recompilou a aplicao de testes, voc pode tentar execut-la novamente como antes. ! Atualize seu JCL para que o sistema procure o programa na sua biblioteca e execute-o novamente.
O cdigo fonte do aplicativo est no data set ZOS.CONTEST3.PART2.C. No deve demorar muito tempo para compil-lo e execut-lo usando algum JCL diferente.
! Agora uma boa hora para responder as questes 10 e 11. Parece que voc precisa criar (definir) a fila de resposta. O WebSphere MQ fornece painis ISPF para ajud-lo a administrar os gerenciadores de filas - estes podem ser encontrados no z/OS em Produtos IBM - WebSphere - MQ. Voc deve visualizar uma tela como abaixo:
O nome do gerenciador de filas (o nome de conexo) pode ser encontrado no JCL que voc usou para executar o aplicativo de teste de unidade. Voc pode pressionar a tecla PF1 em qualquer painel para obter ajuda para o campo em que cursor est. ! Defina a sua fila de resposta.
Oh! Mais problemas! A aplicao funcionou normalmente, mas desta vez h um erro do WebSphere MQ.
Agora que voc definiu com sucesso a sua fila de respostas: ! Responda a questo 12.
Completando a Parte Dois
Agora voc foi capaz de executar com xito a aplicao de teste de unidade. Para completar esta parte do Desafio Mainframe: ! Use a aplicao de testes para gravar uma transao em seu carto de crdito para que o seu saldo atual no seja zero. Voc pode gravar mais de uma transao, se desejar, os valores e as descries so de sua escolha. Enviando as suas respostas Depois de ter gravado uma operao em seu carto de crdito: ! Revise suas respostas e em seguida, envie para que elas possam ser marcadas. Para fazer isso, v para a opo 6 e digite: XMIT ZOS19.IBMBRA DA ('<userID>.<userID>.ANSWERS')
Sua fila de respostas deve ser definida como SYSTEM.DEFAULT.LOCAL.QUEUE
Ah, e certifique-se de nome-lo como <userID>.REPLY em letras MAIUSCULAS! Parabns! Voc terminou todos os passos da Parte 2! Graas a voc, pudemos implantar as mudanas em nosso sistema CICS tempo, e nossos clientes podem se beneficiar com isso
Estou te recomendando ao nosso time de cartes de crditos corporativos para a Parte 3 do concurso voc vai precisar de acesso aos sistemas de mainframe. Por favor, envie um e-mail com o seu ID de usurio atual para o administrador do concurso para solicitar um novo ID de usurio
Voc j conseguiu muito at agora, mas h ainda um caminho grande a percorrer! A Parte 3 baseia-se no que voc aprendeu at aqui, e vai ficar mais difcil, pois voc estar usando recursos mais avanados do WebSphere MQ e CICS! Nos vemos l!