|
Acadêmico(a): André Luiz Jacinto |
Título: Cobol Query 1.0: Ferramenta para Extração de Dados em Arquivos Cobol |
|
Introdução: |
Archbell et al (2003) afirmam que setenta e cinco por cento de todas as transações em mainframes são realizadas por sistemas desenvolvidos na linguagem de programação COBOL. Dizem ainda que mais de sessenta por cento de todos os acessos a informações em páginas na internet ocorrem em um mainframe. Continua citando que mais de noventa por cento dos dados financeiros e relacionados a seguros são processados por programas COBOL. Portanto, é correto afirmar que esta linguagem tem grande importância no cenário de desenvolvimento de sistemas de informação, tanto na sua história quanto na utilização ainda hoje em grande escala. Os sistemas desenvolvidos na linguagem de programação referenciada acima não são aprazíveis ao mundo orientado a objetos, mas funcionam de forma rápida, precisa e confiável na concepção de aplicações comerciais de grande porte (ARCHBELL et al, 2003). Por outro lado, a estrutura de armazenamento das informações é totalmente vinculada ao sistema que a gerencia, pois os arquivos de dados não possuem nenhuma descrição sobre o tipo de informação que está armazenada, sendo estas informações gerenciadas pela aplicação. Desta forma, não há uma maneira de interação dos usuários com os dados diferentemente ao que o sistema disponibiliza, salvo por ferramentas comerciais como o ConnectWare (PARKWAY, 2005). Por fim, se é desejável a visualização de uma informação de modo diferente ao que o sistema prevê, é necessário o desenvolvimento de uma rotina especial para atender a solicitação do cliente. Pensando em auxiliar as empresas desenvolvedoras de softwares comerciais e clientes usuários de aplicações desenvolvidas por estas empresas, surge a idéia da concepção de uma ferramenta em Java para consulta a estes dados de forma externa. A escolha de Java se dá por ser uma linguagem orientada a objetos, o que proporciona um nível elevado de abstração, auxiliando no desenvolvimento, modelagem e manutenção. Segundo Bezerra (2002, p. 6), a orientação a objetos como técnica de desenvolvimento de sistemas diminui a diferença entre a realidade e os modelos construídos. A aplicação apresentada neste trabalho tem como entrada o cadastro do metadados , pois como citado anteriormente, os arquivos de dados COBOL não guardam informações sobre as suas características. Após ter o metadados cadastrado, a ferramenta possibilita a digitação de comandos de manipulação de dados em DML, parte da linguagem de acesso a dados SQL, para leitura dos arquivos. As requisições são enviadas a um interpretador, que analisa léxica, sintática e semanticamente os comandos, gerando um código fonte COBOL com o uso de templates . Por fim, este código de saída é compilado em tempo de execução, gerando um programa. Este programa é executado, gravando o resultado do comando DML em um arquivo temporário, que é lido pela ferramenta e apresentado ao usuário. A ferramenta permite apenas a leitura aos dados, pois qualquer alteração, inserção ou exclusão de informações indevidas podem comprometer o sistema que gerencia os arquivos, causando inconsistências. Esta limitação ocorre porque em um banco de dados desta natureza, o controle relacional está totalmente embutido dentro da camada de aplicação. O código gerado é equivalente ao comando informado e a compilação do mesmo é transparente ao usuário da ferramenta. Os analisadores léxico e sintático tem a responsabilidade de consistir a requisição digitada, evitando erros de interpretação. O analisador semântico possui a função de mapear a requisição do usuário, obtendo assim o código de saída fiel à instrução solicitada. Estes fatores acarretam em certo grau de complexidade, visto que não pode haver inconsistência entre o comando informado e o resultado da execução do código gerado. Além disso, para a geração do código de saída, o uso de templates faz-se necessário, pois existem particularidades com a sintaxe da linguagem de programação entre os compiladores existentes. Ainda, para flexibilizar a ferramenta apresentada, o compilador do código gerado é parametrizável. Isto permite o uso do compilador do mesmo fabricante e com a mesma versão do utilizado na construção do sistema de gerência da base de dados. É importante ressaltar que a estruturação interna dos arquivos de dados também pode variar de acordo com fabricante e versão. Para finalizar, a liberdade de visualização das informações traz uma flexibilidade maior na extração dos dados por parte dos clientes. Conseqüentemente, acarreta em menos alterações de programas por parte dos desenvolvedores e maior eficiência na resolução de problemas por parte do suporte aos usuários. |
|
|