MAC 499 - Trabalho de Formatura Supervisionado

Introdução

Para o Trabalho de Formatura, a modalidade escolhida foi o estágio supervisionado, realizado na empresa Rerum Tecnologia entre janeiro e dezembro de 2001.

A seguir, são descritas as atividades realizadas no estágio.

  • Janeiro (Treinamento em Tuxedo)

    Participei de um treinamento em Tuxedo na empresa HP (Hewlett Packard) em Porto Alegre/RS. Mais informações são dadas abaixo.

    O Tuxedo é um sistema de alta performance e confiabilidade usado no desenvolvimento de aplicações distribuídas. Com ele, é possível construir aplicações cliente/servidor em três camadas. A arquitetura do sistema usado pela HP, que emprega o Tuxedo, pode ser vista a seguir:

    Arquitetura

    No contexto acima, o Tuxedo funciona como gerenciador de transações distribuídas. A lógica funciona da seguinte forma: uma requisição é feita em um browser (cliente) através do protocolo HTTP e chega até o servidor, que é responsável por gerar páginas Web dinâmicas (usando JSP - Java Server Pages e EJB - Enterprise Java Beans), bem como persistir (gravar) dados em um banco de dados. Após processar a requisição, o servidor utiliza uma interface JOLT que permite a invocação remota de serviços (rotinas que atendem a solicitações específicas) do Tuxedo. O Tuxedo é implementado com a linguagem Pro C++, utilizada para embutir consultas SQL em código C++. A consulta, processada no Tuxedo, é feita a um banco de dados Oracle por meio de uma interface XA que coordena transações entre múltiplos gerenciadores de BD que participam de uma transação. Os dados são então retornados do Oracle para o Tuxedo que os repassa ao servidor e este ao browser cliente. Além disso, a arquitetura envolve um mainframe para coordenação das chamadas de serviços do Tuxedo e a comunicação entre eles é feita através do protocolo de rede SNA de sete camadas.

    Dois exemplos implementados por mim em Pro C++ podem ser vistos nos links abaixo:

  • Exemplo 1 - Este serviço obtém um registro do BD segundo um OID fornecido, transforma o campo "nome" em maiúsculo e atualiza o BD com a modificação
  • Exemplo 2 - Este serviço recebe um buffer do mainframe e o desmonta, gravando os dados como um novo cliente no BD

  • Fevereiro a Junho (Projeto HSBC Seguros)

    Participei do projeto HSBC Seguros que envolvia várias empresas. O papel da Rerum era fazer as validações de formulários XML/XSL usando JavaScript.

    Alguns formulários validados por mim podem ser acessados a partir do link abaixo:

  • HSBC Seguros - Seguro de Vida para Pessoa Física

  • Julho a Dezembro (Projeto Rerum R/Gen Java)

    Nesse período, foi desenvolvido o projeto central desta monografia. Trata-se de um gerador de código que recebe como entrada dois arquivos IDL e um template. Informações detalhadas sobre o R/Gen são fornecidas no tópico "Sobre o Projeto".


    Índice

    Sobre a Empresa

    Sobre o Projeto

    Conclusão