Alura > Cursos de Programação > Cursos de > Conteúdos de > Primeiras aulas do curso Cobol: praticando em um emulador Mainframe

Cobol: praticando em um emulador Mainframe

Instalação e configuração do ambiente TurnKey 4 - Apresentação

Apresentando o instrutor

Olá! Meu nome é Ivan Petrucci. Sou uma pessoa com pele clara, cabelos e barba escura, estou usando óculos e uma camiseta preta.

Audiodescrição: Ivan é uma pessoa com pele clara, cabelos e barba escura. Ele usa óculos e veste uma camiseta preta.

Introduzindo o curso e seus objetivos

O que veremos neste curso? A proposta é termos acesso e contato com a famosa tela preta, ou seja, o TSO, o ambiente onde produzimos e executamos programas em Cobol no dia a dia, no mercado, nos mainframes.

Preparando o ambiente de desenvolvimento

Neste curso, antes de mais nada, vamos baixar os softwares corretos. Quando mencionamos baixar, significa que teremos o software em nossa máquina, para acessá-lo a qualquer momento. Faremos a instalação e configuração do servidor, que será nosso servidor, e iniciaremos o acesso. Utilizaremos um cliente, ou seja, um software que se conectará a esse servidor.

Explorando o TSO e suas funcionalidades

No software que estamos utilizando, ao acessarmos nossa conta, teremos acesso ao TSO, que é o nosso painel disponível. No TSO, podemos explorar as opções de navegação e criar, por exemplo, arquivos e pastas. Ao entrar no menu dataset, na opção 4, DS list, podemos navegar entre os membros. Na pasta JCL, criaremos scripts para compilar nossos programas em COBOL. Na pasta COBOL, encontraremos os programas, incluindo um interessante que lê arquivos. Tudo isso faz parte do que nos espera neste curso.

Concluindo com a prática em ambiente local

Além disso, ao retornar à tela principal, podemos praticar em um ambiente local, sem depender de acesso externo, em uma interface muito semelhante ao que encontramos no mundo real, no mainframe. Este é um passo importante rumo ao mercado de programação COBOL mainframe. Nos vemos no curso. Até mais!

Instalação e configuração do ambiente TurnKey 4 - Cobol no Windows versus Mainframe

Introduzindo o curso de COBOL

Olá, pessoal. Bem-vindos a mais um vídeo do nosso curso de COBOL, parte da nossa trilha de COBOL. Neste vídeo, vamos aprender sobre as diferenças entre rodar o COBOL em ambientes de baixa plataforma, como Windows e Linux, e executá-lo em um ambiente mainframe. Existem várias diferenças operacionais, de uso e de desempenho que precisamos analisar. Para isso, preparei uma tabela mostrando algumas dessas particularidades.

Antes de instalarmos qualquer coisa e colocarmos a mão na massa, vamos entender um pouco mais sobre isso. Primeiramente, onde executamos o COBOL se estivermos no Windows? Podemos executá-lo em qualquer sistema operacional, desde a versão 9.5 até a 11. No Linux, é possível em qualquer distribuição. No entanto, quando vamos para o mainframe, o COBOL é executado em um sistema chamado ZOS. O "Z" refere-se a "Zero Down Time", ou seja, está sempre disponível, e "OS" significa sistema operacional. Portanto, o sistema operacional no mainframe é diferente do que usamos aqui, não apenas por rodar no mainframe, mas por suas características, que exploraremos ao longo deste curso.

Comparando compiladores e sistemas de arquivos

Outra diferença é o compilador. No Windows, usamos o GNU COBOL. Para quem está vindo de nossos outros cursos, recomendamos fazer os cursos de arquivo e arquivo indexado, nos quais utilizamos o GNU COBOL. O Macrofocus é outra possibilidade, mas optamos pelo GNU, que é o compilador mais tradicional do COBOL. No mainframe, utilizamos o Enterprise COBOL, conhecido como IGY. Lá, existe um utilitário chamado IGY, responsável pela compilação, desempenhando o papel do GNU. No mainframe, a compilação é feita via um subsistema chamado JCL, que veremos em breve, mas é uma distribuição diferente. Isso significa que algumas particularidades do compilador não estão presentes aqui, e vice-versa. No mainframe, temos necessidades específicas, enquanto aqui, por exemplo, temos necessidades como interface gráfica, que não estão presentes no mainframe. Cada ambiente tem suas particularidades.

Quanto ao sistema de arquivos, no Windows, é comum trabalharmos com arquivos TXT, CSV e JSON nas aplicações COBOL. No mainframe, é mais comum trabalharmos com arquivos indexados, sequenciais e arquivos de versionamento como GDG. Atualmente, já é possível trabalhar no mainframe com arquivos JSON, XML e CSV, mas o comum no dia a dia são os sequenciais e os indexados. O DB2 também é utilizado. O tipo de arquivo tem uma entrega de desempenho um pouco diferente entre os ambientes, com algumas pequenas diferenças.

Explorando ferramentas de desenvolvimento

Como acessamos o COBOL aqui? Utilizamos uma IDE. Quem fez nossos cursos anteriores usou a Open IDE, que é uma espécie de Eclipse integrado. No entanto, também é possível trabalhar com COBOL no Visual Studio, no NetExpress, entre outros.

No mainframe, é comum utilizarmos um cliente conhecido como "tela preta", que é basicamente uma tela preta com letras verdes. Navegamos por meio do "Enter" e opções numéricas. Por exemplo, se desejamos acessar o menu 3, digitamos 3 e pressionamos "Enter". Esse tipo de navegação, que é ASCII, texto puro, 3270, é a mais comum na operação e manutenção de programas no mainframe, incluindo construção e compilação.

Modernizando o acesso ao mainframe

No entanto, já existem opções para acessarmos o mainframe via Visual Studio ou Eclipse, tudo baseado em extensões. Temos um servidor, e o Visual Studio consegue se conectar a ele, permitindo construir, rodar e testar COBOL diretamente na interface do Visual Studio. Essa é uma modernidade, mas a base ainda é o terminal 3270. Portanto, é importante aprendermos a trabalhar com esses terminais, que é o propósito do nosso curso.

Para executar um programa COBOL no Windows, compilamos com o COBSE, o compilador, digitamos o nome do programa, pressionamos "Enter" e ele é executado. No mainframe, o processo é diferente. O programa fonte precisa ser compilado para se tornar um executável. Para rodar esse executável, utilizamos um subsistema chamado JCL, que busca o arquivo, executa e fornece os arquivos necessários.

Preparando para o aprendizado prático

Durante o curso, aprenderemos a criar um programa simples em COBOL, compilar e executar, e até mesmo um programa que leia um arquivo em COBOL. No Windows, o acesso é gratuito, com o compilador GNU e o Visual Studio disponíveis sem custo. No entanto, o mainframe é um ambiente fechado, geralmente acessado por empresas que pagam por seu uso. Para nós, é mais difícil acessar um mainframe real.

A vantagem deste curso é que teremos uma simulação, que não é o mainframe real, mas é muito próxima. A simulação de um software nos permitirá acessar uma tela semelhante ao mainframe, editar programas e compilar COBOL como se estivéssemos no mainframe. Isso facilitará a adaptação futura ao trabalhar com mainframes reais.

Concluindo e próximos passos

Este curso resume o que podemos esperar. Se já conhecemos COBOL VIEW, sabemos como trabalhar, compilar e abrir arquivos. Agora, o desafio é fazer o mesmo em um ambiente semelhante ao mainframe. No próximo vídeo, aprenderemos a instalar, baixar, configurar e iniciar (IPL) nosso servidor para podermos acessar e realizar nossos testes. Até a próxima!

Instalação e configuração do ambiente TurnKey 4 - Instalando o servidor e o cliente

Instalando o servidor TK4

Chegou a hora de realizarmos a instalação do nosso servidor. Precisamos ter dois programas em nossa máquina: o primeiro é o servidor, chamado TK4, e o segundo é o cliente. O servidor é um emulador que ficará rodando em nossa máquina, enquanto o cliente é um software que se conectará a esse servidor. Portanto, ambos são necessários. A sequência correta é: primeiro, o servidor deve ser iniciado e ficar disponível para que possamos acessá-lo como cliente.

O servidor TK4, também conhecido como turnkey4, é uma adaptação de um mainframe que surgiu há algum tempo na internet. Ele é gratuito e mais simples que um mainframe, mas atende bem para COBOL e JCL. O TK4 é uma versão corrigida e atualizada, e podem existir versões mais novas, como TK5 ou TK6. Quando uma nova versão for lançada, basta baixá-la e realizar pequenas alterações, como na tela inicial, mas a essência permanecerá a mesma. Todas as versões têm o propósito de servir para COBOL e JCL.

Preparando o download e instalação do TK4

Na pasta "TK4", já fizemos o download. Devemos procurar nas atividades do curso pelo arquivo TK4 versão 1.zip. Basta baixar esse arquivo para nossa máquina e descompactá-lo. Ao descompactar, teremos acesso à pasta necessária. Também deixaremos um link nas atividades para baixar o TK4, pois o link original pode não estar mais disponível. A cópia disponível no curso da Alura está funcional e testada.

Para baixar o TK4, você pode usar o seguinte link:

https://sourceforge.net/projects/mvs380/files/mvs380/MVS%203.8j%20(TK4-%20 আপডেট%201.2a/Method%201%20-%20Overlay%20(for%20new%20installs)/MVS_TK4-_v1.00_update08.zip/download

Iniciando o servidor TK4

Após baixar e descompactar o TK4, a primeira etapa é iniciar o servidor. "Subir" o servidor significa carregá-lo e fazê-lo funcionar no modo console. O modo console permite que o servidor fique disponível para operação e administração. Na pasta descompactada, devemos acessar a pasta "unattended" e procurar pelo arquivo setconsolemode. Ao executá-lo, o Hércules console será ativado. Pressionando qualquer tecla, como "Enter", o processo será concluído, e o servidor estará em modo operador.

Ao ativar o modo console, você verá a seguinte mensagem:

Hercules console mode activated for unattended operations (mvs.bat)
Press any key to continue...

Cuidados durante a inicialização do servidor

O próximo passo é iniciar o servidor clicando no arquivo mvs, que é um arquivo em lote. Ao clicar duas vezes, uma janela será aberta, e o servidor será iniciado. É importante tomar alguns cuidados com o Hércules, o software que roda o servidor. Não devemos fechar o Hércules abruptamente, pois isso pode interromper o servidor enquanto ele executa processos, causando problemas ao tentar executá-lo novamente. Isso pode resultar em uma quebra de disco, impedindo o carregamento futuro.

Durante a inicialização, você verá várias mensagens de configuração e status, como:

HHC01417I Using fthreads Threading Model
HHC01417I Using Error-Checking Mutex Locking Model
HHC01417I Using FishIO
HHC01417I Using Dynamic loading support
HHC01417I Using shared libraries
HHC01417I Using External GUI support
HHC01417I Using IPv6 support
HHC01417I Using HTTP Server support
HHC01417I Using sqrtl support
HHC01417I Without SIGABEND handler
HHC01417I Using CCKD BZIP2 support
HHC01417I Using HET BZIP2 support
HHC01417I Using ZLIB support
HHC01417I Using Regular Expressions support
HHC01417I Without Object REXX support
HHC01417I Without Regina REXX support
HHC01417I Using Automatic Operator support
HHC01417I Without National Language Support
HHC01417I Machine dependent assists: cmpxchg1 cmpxchg4 cmpxchg8
HHC01417I Running on DESKTOP-G3VAC1B Windows-6.2.9200 Professional 64-bit, Intel(R)
HHC01417I x64 LP=8, Cores=4, CPUs=1
HHC00100I Thread id 00002494, prio 15, name Processor CP00 started
HHC00100I Thread id 0000231C, prio -20, name Timer started
HHC00811I Processor CP00: architecture mode z/Arch
HHC01802I HTTP server using root directory D:/tk4/hercules/httproot/
HHC01807I HTTP server signaled to start
HHC00100I Thread id 0000071C, prio 0, name HTTP server started
HHC01802I HTTP server using root directory D:/tk4/hercules/httproot/
HHC01803I HTTP server waiting for requests on port 8038
HHC01042I 0:000C COMM: device bound to socket 3505
HHC01000I Thread id 000024F8, prio 0, name Socket device listener started
HHC01437I Config file[45] conf/tk4-.cnf: Including file conf/lntcons.cnf
HHC01000I Thread id 00002814, prio 0, name Console connection started
HHC01437I Config file[71] conf/tk4-.cnf: Including file conf/tk4-_default.cnf
HHC01024I Waiting for console connections on port 3270

Solucionando problemas e mantendo backups

Na pior das hipóteses, nós fazemos o seguinte: pegamos o arquivo zip que temos, descompactamos novamente e executamos outra vez. Uma dica importante é sempre manter um backup da pasta "dasd", pois é nela que estão os discos e as informações. Se o servidor apresentar algum problema e não conseguirmos mais executá-lo, podemos descompactar o zip novamente e substituir a pasta "dasd" do novo arquivo pela pasta de backup que fizemos. Isso é importante porque no backup estão os dados com os quais estávamos trabalhando. Caso tenhamos criado alguns programas e o servidor tenha parado de funcionar, descompactamos uma nova cópia e trocamos essa pasta. Os discos que começam com "pub" e "work" são os que contêm o trabalho. Com o tempo, vamos nos familiarizando com o processo e percebemos que o importante são esses discos. Recomendo sempre manter uma cópia da pasta "dasd" ao terminar de trabalhar.

Quando o servidor subir, o processo não é tão rápido, mas também não é demorado, leva cerca de dois a três minutos. Quando a janela "tk4" e os caracteres criptografados aparecerem, significa que ele subiu corretamente. Qualquer outra mensagem indica um problema, e recomendo fazer o processo de substituição. Um erro comum é tentar executar e não obter resposta, recebendo uma mensagem de erro "BS Pilot". Isso significa que o servidor ficou corrompido. Nesse caso, não devemos perder tempo; basta descompactar novamente e substituir. Se não fizemos backup da pasta, antes de descompactar, fazemos uma cópia da antiga, pois os discos não são perdidos. O que se perde é o servidor.

Conectando o cliente ao servidor

Após o servidor subir, minimizamos a janela e verificamos se ele está em execução. O próximo passo é fazer o cliente acessar o servidor. Vamos baixar o programa cliente 3270. Existem vários clientes disponíveis na internet, mas sugerimos o "tn3270". Deixaremos um link nas atividades para baixá-lo. Após o download, descompactamos e executamos o ícone 3270. Dependendo do Windows, pode aparecer uma mensagem de segurança. Nesse caso, clicamos na opção para permitir a execução, pois, embora seja uma versão anterior, é compatível com o Windows.

Ao executar, uma janela aparecerá. Se ela carregar, clicamos no ícone azul. Configuramos o "Session name" com qualquer nome, como o nosso nome ou "curso". É apenas uma etiqueta. No campo "localhost", escrevemos em maiúsculas, sem espaços. A porta é onde ele conseguirá acessar o servidor. Ao clicar em "connect", ele tentará buscar nessa porta a cópia do servidor que subimos. Quando a conexão for bem-sucedida, a janela indicará que um cliente está conectado. Para nos logarmos no ambiente, pressionamos a tecla "Esc" (Escape). Agora, basta nos logarmos.

Na próxima aula, explicaremos como se logar e sair do servidor. Até a próxima!

Sobre o curso Cobol: praticando em um emulador Mainframe

O curso Cobol: praticando em um emulador Mainframe possui 186 minutos de vídeos, em um total de 30 atividades. Gostou? Conheça nossos outros cursos de em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas