|
COBOL para LINUX
Quem não deseja desenvolver aplicações
robustas, rápidas, seguras, multiplataforma e com um
visual elegante (mesmo com interface à caracter), sem
ter que fazer alto investimento? A resposta está na utilização
do Micro Focus Cobol 3.2. Apesar de estar com o suporte descontinuado,
talvez seja o compilador cobol mais utilizado por desenvolvedores
brasileiros, ou até internacionais.
Sua
portabilidade entre ambientes operacionais (MS-DOS, OS/2, Novell,
Windows 9x/NT e Unix) permite ao desenvolvedor portar aplicações
destas plataformas para o Linux sem o menor esforço.
Contempla os padrões ANSI/74 e ANSI/85 além de
compatibilidade com outros compiladores tais como: IBM Mainframe,
Microsoft, RM e DG ICOBOL. A base de dados pode ser escolhida
entre poderosos bancos de dados via SQL, também já
disponíveis no Linux (Informix, Oracle, Sybase e etc)
ou o sistema nativo de arquivamento, seguro e de rápido
acesso que não tem nenhum custo adicional para o desenvolvedor
ou usuário.
O
pacote MF Cobol 3.2 inclui, dentre outras, algumas ferramentas
de auxílio ao desenvolvedor que poderíamos destacar:
Adiscf
– Configuração do compilador quanto a dialeto
e comportamento das funções de accept e display.
Keybcf
– Configuração de comportamento do teclado.
Animator
– depurador de programas on-line que permite inserir breakpoints
(fixos ou condicionais), examinar e alterar conteúdo
de variáveis, inserir comandos em tempo de execução
e muito mais.
Biblioteca
de sub-rotinas – grande número de rotinas para
tratamento de teclado, video, mouse, impressora, diretórios,
arquivos, acesso à linha de comando e etc. Todas as rotinas
são chamadas por um comando call inserido no fonte cobol.
Hyhelp
– Manual do desenvolvedor "on line".
A
instalação do MF Cobol 3.2 no Linux requer a instalação
do módulo de compatibilidade binária iBCS para
emulação do ambiente Unix, arquivos fonte terminfo
(emulação de terminais) convertidos do Unix através
do utilitário infocmp, ou o correspondente já
compilado no Linux e os arquivos de instalação
distribuídos para o Unix.
O uso do Linux em servidores de redes, utilizando o Samba ou
puramente o protocolo TCP/IP, substituindo servidores Novell
e NT com eficiência, segurança e estabilidade;
e principalmente com custos reduzidos vem despertando nos desenvolvedores
e usuários finais uma grande expectativa. Os custos ficam
ainda mais reduzidos quando substituímos as estações
Win9x (licenças e mais licenças) por estações
com o próprio Linux através de login’s remotos
e uso de ferramentas como o StarOffice, e outras, para automação
de escritório. E aqueles 486 antigos, guardados e sem
uso? Podem ser ressuscitados para uso naquelas aplicações
de missão crítica com interface à caracter.
A utilização do cobol no Linux, dispensa o uso
de runtimes (normalmente pagos) em estações Linux
ou Win9x, através de login’s remotos em estações
Linux e netterm em estações Win 9x.
Vejam os dois exemplos de telas de aplicativos cobol (com interface
à caracter), uma para compartilhar o ambiente do KDE
com outros aplicativos, e outra somente à caracter para
os aplicativos de missão crítica.
Passos
para a instalação:
1.
Emular Unix:
Carregar
o módulo iBCS (compatibilidade binária)
# insmod iBCS
Incluir esta linha no arquivo rc.local do diretório /etc/rc.d
2.
Fuso Horário:
Se
você, na instalação do Linux, configurou
o fuso horário (ex: BRASIL LESTE) provavelmente terá
uma diferença de horário de duas horas na sua
aplicação Cobol. Para resolver este contratempo
execute timeconfig escolha a hora para GMT, e na lista de países
selecione UTC. Isto fará com que o Linux passe a pegar
o horário da BIOS como o Cobol. Caso seja necessário
alterar a hora, utilize clock -w para atualizar a BIOS.
3.
Variáveis de ambiente:
Alterar
em /etc/profile as seguintes variáveis de ambiente, se
você instalou a versão do Linux em português:
#
Variáveis para idioma
LANG=english_us.ascii
LC_CTYPE=ISO_10646
export LANG LC_CTYPE
#
Variáveis para o MF Cobol 3.x
COBDIR=/usr/lib/cobol (indica o diretório de residência
do cobol)
COBSW=-i+F (-i = inibe o cancelamento por ctrl-c; +F = habilita
checagem de campos numéricos)
COBCPY=:$HOME/fds (indica o diretório dos arquivos copy.
$HOME é o diretório de login)
COBPATH=:$HOME/bin (indica o diretório dos arquivos executáveis.
$HOME é o diretório de login)
COBTERMINFO = /usr/lib/cobol/terminfo (indica o diretório
dos arquivos terminfo. )
export COBDIR COBSW COBCPY COBPATH COBTERMINFO
O
diretório dos arquivos terminfo específicos para
o MF Cobol devem residir em diretório diferente dos arquivos
padrão do Linux, para não afetar a execução
de outras aplicações que não foram escritas
em Cobol.
Faça um novo login para que as variáveis tenham
efeito durante a instalação do compilador propriamente
dito.
4.
Instalação do MF Cobol 3.2:
Atenção:
Existe incompatibilidade entre o utilitário tar do Unix
e o do Linux, quanto ao tratamento de arquivos multi-volume.
Se for utilizar um conjunto original de disquetes gravados no
Unix, este possui dois arquivos partidos em dois disquetes.
Estes arquivos devem ser concatenados antes da instalação
no Linux.
4.1.
Criar diretório /usr/lib/cobol
4.2.
Baixar todos os arquivos de instalação neste diretório.
4.3.
Executar o script install (# sh install) utilizando as opções
default.
4.4.
Copiar os arquivos fonte terminfo para /usr/lib/cobol/terminfo
4.5.
Compilar os arquivos fonte terminfo com o utilitário
mftic. Serão criados diretórios específicos
para cada fonte.
Os
arquivos fonte terminfo específicos devem ser convertidos
diretamente dos arquivos originais do Unix através do
utilitário infocmp e residir em diretório diferente
do padrão do Linux.
5.
Caracteres semi-gráficos:
5.1 Para as distribuições: Conectiva 3.0,
Red Hat 5.0 e 5.2:
Alterar a variável SYSFONT=cp850-8x16 no arquivo /etc/sysconfig/i18n
5.2
Para as distribuições: Conectiva 4.0 e 4.2, Mandrake
6.0 e 6.1, Red Hat 6.0 e 6.1 e Caldera Open Linux 2.2:
Incluir
no arquivo /etc/rc.d/rc.local (genérico para todo o sistema)
ou no arquivo /etc/profile, os seguintes comandos, específicamente
nesta ordem:
setfont
/usr/lib/kbd/consolefonts/viscii10-8x16.psf.gz 2>null
setfont /usr/lib/kbd/consolefonts/tcvn8x16.psf.gz 2>null;
Colaboradores:
Alcides Junqueira
Avanço Informática (MG)
Alexandre C Souza
Borborema-Imperial (PE)
Cesar
Siens – Engenharia de Sistemas (PR)
Dênio dos Santos
Avanço Informática (MG)
Erik Brito e Silva
Consultor independente (MG)
Fernado Scheid
Unitech (MG)
José Geraldo Masson Barbosa
Masson Aplicativos Ltda (MG)
Weliton José da Silva
Infokeep (MG)
José
Geraldo Masson Barbosa
|