Página Inicial Índíce Página Anterior Próxima Página MAC499 - Trabalho de Formatura Supervisionado
Atividades Realizadas durante o estágio

Ferramentas e Técnicas Utilizadas

Quase todos os projetos implicaram no desenvolvimento ou adaptação de um Sistema para Gerenciamento de Aprendizagem e de ferramentas adicionais de suporte ao usuário.

As tecnologias utilizadas dependem muito da base instalada do cliente e dos seus interesses. Um de nossos clientes, por exemplo, tem a seguinte estrutura no servidor Windows NT:

   Netscape Enterprise Server como servidor Web
   Banco de Dados Oracle
   JRun (servlet container) como add-on do servidor http

Diante desse cenário a escolha natural foi a utilização de Servlets para o desenvolvimento do sistema de gerenciamento e a ferramenta utilizada foi o emacs, acessando base de dados Oracle para Linux e tendo os servlets rodando no JRun para Linux que pode funcionar como um módulo do Apache.

Visando separar o design gráfico do código da aplicação, utilizamos uma ferramenta de template open source chamada FreeMarker (Na época o JSP ainda não era uma opção). Com a utilização dessa ferramenta pude separar facilmente o HTML da codificação Java nos servlets. Para exibição de conteúdo dinâmico, os servlets disponibilizam as variáveis pertinentes a cada página e nessa página podemos acessar esse conteúdo utilizando a sintaxe do Freemarker. Outra ferramenta de template, que também é livre, é o Webmacro, mas essa eu não cheguei a utilizar.

Apesar de hoje em dia o JSP se apresentar como uma opção para fazer essa divisão entre servlet e web design, eu ainda não optei por sua utilização. Acredito que ferramentas de templates como o Freemarker fazem essa separação com maior propriedade, não havendo a tentação de colocar código java junto com o HTML, que pode acabar por dificultar a manutenção dos sistemas. Outro fator que me leva a optar pelo Freemarker é que a velocidade do JSP é um pouco mais lenta. Existe uma matéria interessante sobre a utilização de JSP e ferramentas de template no seguinte endereço: The Problems with JSP.

A título de curiosidade uma página HTML que utiliza templates do FreeMarker fica da seguinte forma:
....
<table ....>
  <list usuarios as usuario>
    <tr>
       <td>${usuario.id}</td>
       <td>${usuario.nome}</td>
       <td>${usuario.matricula}</td>
     </tr>
  </list>
</table>
....

Essa entidade usuarios utilizada na tag do FreeMarker é inicializada dentro de um servlet, com os campos pertinentes (id, nome, matricula e outros), daí esse Servlet chama o método que processa o template, para que essa iteração seja feita para carregar todos os usuários. Como podemos ver, a parte de design fica bastante simplificada, a área de sistemas precisa especificar quais variáveis e campos podem ser utilizados em cada HTML e o responsável pelo Web Design utiliza essas variáveis, que podem tanto ser listas de entidades quanto variáveis simples.

Apesar do desenvolvimento ter sido feito inteiramento no Linux, não tivemos problemas na instalação no cliente que utiliza o Windows NT, visto que o padrão aberto dos Servlets facilita a sua portabilidade.

Temos também casos de clientes que utilizam o IIS (Internet Information Server) e já utilizavam ASP para as aplicações de suas intranets, e não queriam misturar com Servlets, então o desenvolvimento do sistema foi feito em ASP, acessando base de dados do MSQLServer. Com a utilização de ASP a separação do design gráfico da lógica da aplicação fica um pouco comprometida. Visando minimizar esses problemas projetamos o sistema modularizado com uma interface bem definida para que a utilização dentro da página ASP não ficasse complicada. Em muitos casos conseguíamos lidar com o ASP como se fosse uma página de template somente, quase sem código adicional.

O projeto do sistema de gerenciamento, conceituamente, foi o mesmo para ambas as plataformas, com algumas diferenças em termos de peculiaridades dos clientes e dos projetos pedagógicos elaborados em cada caso.

Esses sistemas envolvem cadastro de usuários, cursos, módulos, atividades, exercícios, avaliações, fóruns. Eles também são responsáveis pela navegação do usuário dentro do treinamento, controlando o acesso às atividades no caso de ser necessário um acesso sequencial, controlam também o histórico e desempenhos dos usuários e sua frequência.

Para o acesso às base de dados usamos duas ferramentas principais. Se o projeto é desenvolvido em Java Servlets, utilizamos JDBC (Java DataBase Connectivity API) para efetuar acesso a qualquer tipo de banco de dados para os quais estão disponíveis os drivers JDBC; em produção utilizamos drivers para o Oracle e para o mySQL. Quando o projeto é desenvolvido usando ASP, o acesso à base de dados é feito utilizando ADO (ActiveX Data Objects). Estes objetos utilizam o conjunto de interfaces OLEBD para acessar bancos de dados; em sistemas de produção utilizamos ADO para acessar o Microsoft SQL Server.

Outra parte muito comum na qual me envolvia era no desenvolvimento de simuladores, salas de chats, fóruns de discussão e outras ferramentas de suporte ao usuário. Estas ferramentas algumas vezes foram desenvolvidas em Java, aparecendo para o usuário na forma de Applets ou Aplicação, outras vezes desenvolvidas usando Flash, ou até mesmo JavaScript.

IME - Instituto de Matemática e Estatística
USP - Universidade Estadual de São Paulo
Última Alteração:  18/12/2000 21:24:30