Escolar Documentos
Profissional Documentos
Cultura Documentos
Parte 2:
Experiência Prática
A empresa fictícia de jogos on-line para a qual você trabalha precisa de jogadores (clientes) que
comprem jogos em lotes de 1–10 unidades antes de poder jogá-los. A compra é efetuada por meio
de uma página da Internet que processa o pagamento e envia uma mensagem via WebSphere MQ
para uma transação CICS de back-end.
A transação CICS processa essa mensagem e atualiza o crédito do cliente, que fica armazenado em
um banco de dados DB2. A seguir, envia uma resposta de volta para o servidor de Internet e o
jogador recebe uma confirmação.
Da mesma forma, ao jogar, uma mensagem é enviada para a mesma transação CICS de modo a
aumentar o número de jogos jogados e diminuir o crédito disponível. Conforme jogam mais, o
status de sua assinatura é alterado e jogadores obtêm recursos adicionais nos jogos on-line.
Oi, aqui é o Bob. (*cof cof*) Estou doente o
médico disse que é contagioso, então não
vou trabalhar por uns dias. O aplicativo de
testes está praticamente pronto, só precisa
ser implantado... Eu acho (*cof*)
Para fazer isso, você tem um ID alocado no banco de dados DB2, bem como para o sistema CICS. É
o mesmo id de utilizado para acessar o z/OS.
Ajuda
As referências a seguir podem ajudar você a concluir as tarefas:
– Informações z/OS v1.11(inglês):
http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp
– Informações CICS Transaction Server v3.2 (inglês):
http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.jsp
– Informações WebSphere MQ v7 (inglês):
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp
INTRODUÇÃO AO CICS E AO WEBSPHERE MQ
CICS
O Servidor de Transações CICS (Customer Information Control System) é o software de
processamento de transações gerais da IBM para z/OS. É um servidor de aplicativos potente que
satisfaz as necessidades de processamento de transações de empresas de pequeno e grande porte.
Ele se baseia em instalações de z/OS e System z para oferecer alta disponibilidade e escalabilidade
a um baixo custo por transação; suporta grandes volumes de transações com um tempo de
resposta rápido e consistente.
O processamento de transações é um estilo de computação tipicamente realizado por grandes
servidores e que oferece suporte a aplicativos interativos. No processamento de transações, todo o
trabalho é dividido em operações individuais e indivisíveis que são chamadas de transações. Por
exemplo, sacar dinheiro em um caixa eletrônico e atualizar o saldo em um banco de dados. Por sua
vez, o processamento em lote é um estilo de computação em que um ou mais programas
processam uma série de registros (um lote) com pouca ou nenhuma participação do usuário ou do
operador. Por exemplo, imprimir extratos bancários para todos os correntistas prontos para serem
enviados por correio.
O processamento de transações middleware, como CICS, permite aos programadores de aplicativos
se concentrarem em escrever códigos que ofereçam suporte aos negócios ao proteger os
programas de aplicativos dos detalhes do gerenciamento de transações:
• Gerencia o processamento simultâneo de transações.
• Permite o compartilhamento de dados.
• Assegura a integridade dos dados
• Gerencia a priorização da execução de transações.
Quando o processamento de uma transação é iniciado, o CICS executa um programa associado à
transação. Esse programa pode transferir controle para outros programas no decorrer da
transação, tornando possível montar aplicativos modulares consistindo em muitos programas CICS.
Em um sistema CICS, várias instâncias de uma transação podem ser executadas ao mesmo tempo a
qualquer hora. Ao comprar algum produto on-line, seria inconveniente ter de enfileirar essas
instâncias e esperar por milhares de outras pessoas.
WebSphere MQ
O WebSphere MQ é o principal produto de mensagens da IBM. Pode ser utilizado para enviar dados
formatados, na forma de mensagens, entre aplicativos diferentes por meio de um mecanismo
assíncrono de entrega de mensagens. Esses aplicativos podem ser escritos em diferentes
linguagens de programação e executados em diferentes hardwares e sistemas operacionais. Ao
conseguir conectar esses aplicativos em conjunto, você pode economizar muito tempo e dinheiro
para os clientes.
As mensagens são armazenadas em filas, para que os programas possam ser executados
independentemente um do outro, em diferentes velocidades e momentos, em locais diferentes e
sem uma conexão lógica entre eles. O WebSphere MQ permite que diversos aplicativos
intercambiáveis acessem a mesma fila ou filas diferentes, o que pode ajudar os clientes a
desenvolver uma infraestrutura flexível e escalável que inclui redundância e, assim, reduz o risco de
falhas.
Muitas das maiores empresas do mundo têm o CICS e o WebSphere MQ bem no centro de seus
negócios.
Começando
Antes de iniciar, obtenha as perguntas que você irá responder ao longo desta parte do concurso.
Elas estão disponíveis em um membro do data set sequencial ZOS.BRA.CONTEST.ANSWER.SHEET.
➔ Usando um ISPF, faça uma cópia desse data set, que você irá preencher conforme realiza as
tarefas.
à Certifique-se de que os DOIS primeiros qualificadores de seu data set são seu id de usuário,
senão suas respostas não serão marcadas e verificadas corretamente.
Você será avisado quando puder responder a cada uma das perguntas, mas leia os comentários na
parte superior da folha de respostas cuidadosamente antes de continuar.
à Forneça seu id de usuário z/OS (ex.: BRAxxxx) no espaço fornecido acima da pergunta 1.
CICS Primer
Este é um bom momento para oferecer algumas orientações sobre como utilizar o CICS.
Uma transação CICS é iniciada pressionando a tecla CLEAR* para limpar a tela e digitando o
identificador da transação, sozinho ou seguido de parâmetros específicos de cada transação, na
linha de comando. A linha de comando é uma linha simples, normalmente na parte superior da
tela.
É possível digitar o identificador de transações sozinho e seguir os avisos até chegar ao comando
completo da transação ou digitar o comando completo da transação na linha de comando. Se não
digitar informações suficientes ou se as informações digitadas estiverem erradas, você será avisado
para completar ou corrigir o que digitou.
Na transação a seguir, por exemplo, CESF é o identificador de transações e o dado adicional é
GOODNIGHT.
CESF GOODNIGHT
Esta transação é utilizada para sair do CICS.
Quando é iniciada, a transação processa os dados adicionais. Ao completar esta transação, a
seguinte mensagem aparece:
STATUS: SESSION ENDED
Após uma transação ser completada, pressione a tecla CLEAR* para obter uma tela em branco
pronta para a próxima transação.
Para finalizar uma transação, use a tecla PF3.
* A tecla especial 3270 CLEAR não existe na maioria dos teclados. Contudo, os emuladores 3270 a
oferecem por meio de um menu de contexto (clique com o botão direito do mouse) ou permitem
que ela seja mapeada para uma tecla escolhida por você, normalmente Pause/Break como padrão.
Mais informações sobre o CICS estão disponíveis no CICS Transaction Server v3.2 Information
Center:
- http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.jsp
Usando o CICS
Abra uma segunda sessão 3270, mas, em vez de digitar TSO na tela SELECT APPLICATION, digite
LOGON APPLID(CICSPRT2).
à Digite seu id e senha e pressione a tecla Enter (lembre-se que é a tecla Ctrl).
A tela deve aparecer limpa, exceto pela mensagem a seguir na parte inferior:
à Responda às perguntas 1-6 em no seu data set BRAxxxx.BRAxxxx.ANSWERS, agora que você
entrou com sucesso no CICS.
USANDO JCL
Pense em como determinada tarefa é realizada no mundo real: você normalmente a divide em
uma ou mais etapas, na qual cada etapa completa uma determinada parte do todo e,
normalmente, requer o uso de diferentes recursos.
A Job Control Language (JCL) é como você descreve essa informação para z/OS, em que um job
representa uma tarefa (task).
Para cada job que você enviar, é necessário dizer ao z/OS onde encontrar a entrada apropriada,
como processar essa entrada (ou seja, que programa ou programas executar) e o que fazer com o
resultado encontrado. Você utiliza a JCL para reunir essas informações no z/OS por meio de um
conjunto de declarações conhecidos como cartões.
O conjunto de declarações dos cartões da JCL é bem amplo, permitindo fornecer muitas
informações para o z/OS. Contudo, a maioria dos jobs pode ser executada usando um subconjunto
bem pequeno dessas declarações.
Dentro de cada job, os cartões são reunidos em etapas de job (Job Steps). Uma etapa de job
consiste em todas as declarações de controle necessárias para executar um programa.
Se um job precisasse ser executado em mais de um programa, haveria uma etapa de job diferente
para cada um desses programas.
Para saber mais sobre JCL, consulte o livro MVS JCL Reference z/OS:
- http://publib.boulder.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.ieab600/toc.htm
USANDO O SDSF
Nesta seção, você talvez tenha de alternar repetidamente entre dois aplicativos diferentes, por
exemplo, entre os dados da folha de respostas no editor e o SDSF para encontrar as respostas para
as perguntas. Entrar e sair de dois aplicativos diferentes todo momento pode ser incomodo;
portanto, há uma maneira melhor de fazer isso:
Pressionar PF2 fará com que a tela "se divida" no cursor, mostrando as duas telas separadas por
uma linha pontilhada horizontal. Você pode pressionar PF9 para alternar entre as duas telas.
Pressione PF3 para voltar ao que seria o comando TSO para sair de uma tela.
Para maximizar o tamanho disponível da tela, posicione seu cursor na parte mais alta da linha
superior da tela antes de pressionar PF2.
Impossível viver sem isso!
SDSF Primer
O System Display and Search Facility (SDSF) oferece informações que podem ser utilizadas para
monitorar, gerenciar e controlar um sistema z/OS.
É possível utilizar o SDSF para visualizar os registros do sistema e o status dos jobs que estão
sendo executados no sistema ou que acabaram de ser executados, incluindo qualquer resultado
obtido de jobs que ainda não foram purgados (descartados). Use o SDSF para visualizar a saída de
quaisquer jobs enviados.
Quando estiver visualizando uma lista de jobs, você poderá filtrá-la na tela de entrada de comando
para exibir apenas aqueles que pertencem a você, digitando:
OWNER BRAXXXX
Esteja ciente de que o SDSF se lembra dos filtros que você está utilizando. Se não estiver
visualizando um job que esperaria visualizar, ative os dois filtros com um único asterisco (*) para
que todos os jobs sejam exibidos.
Nos painéis DA e ST, é exibida uma lista de jobs. Use as teclas PF7 e PF8 para navegar para cima e
para baixo na página.
Para visualizar mais informações sobre um determinado job, você pode digitar S na coluna (NP) do
lado esquerdo e pressionar Enter.
Isso fornece vários dados; portanto, como alternativa é possível inserir um ponto de interrogação
(?), o que oferecerá uma lista das várias seções do resultado. Em seguida, use S para selecionar
essas seções individualmente.
Use a tecla PF3 para sair da tela que você está e retornar à anterior.
➔ Crie um membro no seu data set de JCLs chamado ADJCREDT, copiando-o do membro com o
mesmo nome no data set chamado ZOS.BRA.CONTEST.JCL.
➔ Envie o job digitando SUBMIT na linha de comando ao editá-la e observe seu resultado usando
SDSF.
➔ Conserte os erros da JCL usando a seção JCL Reference do livro MVS, no z/OS Information
Center; ela ajudará você a descobrir o que há de errado e como corrigir:
http://publib.boulder.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.ieab600/toc.htm
➔ Responda à pergunta 9.
Recompilando o Aplicativo de Unidade-Teste
Depois de concluir o exercício anterior e responder à pergunta 9, você descobrirá que o aplicativo
de teste não foi encontrado.
Antes de poder recompilar o aplicativo, é necessário criar outro PDSE em que o programa
compilado possa ser armazenado e a partir do qual possa ser executado.
➔ Compile o aplicativo de teste – desta vez não devem ocorrer erros. Preste atenção nos
comentários da JCL para substituir o que é pedido!
➔ Atualize sua JCL para que o programa possa ser localizado em sua biblioteca de carregamento
(loadlib) e execute-o novamente.
O nome do gerenciador da fila (o nome da conexão) pode ser encontrado na JCL em que você
geralmente executava o aplicativo de teste.
Pressione a tecla PF1 em qualquer painel para obter ajuda de acordo com o contexto (ou seja,
ajuda para o campo em que seu cursor estiver ativado).
Você provavelmente já sabe que pode executar o aplicativo de teste com êxito.
➔ Revise suas respostas e, em seguida, as envie para que possam ser verificadas.
Para fazer isso, submeta o comando a seguir a partir da opção 6 do menu inicial do ISPF (Enter TSO
or Workstation Commands) ou então prefixado por TSO de qualquer painel do ISPF:
XMIT TSTMVS01.IBMBRA DA('BRAXXXX.BRAXXXX.ANSWERS')
Parabéns! Você concluiu todas as etapas da Parte 2!
Graças a você, poderemos implantar as alterações em
nosso sistema CICS a tempo, e nossos clientes
encontrarão formas mais fáceis de pagar e jogar. Se
você for um dos primeiros 25 a completar a tarefa e
responder às perguntas corretamente, receberá um
prêmio.