Grupo G6 - CORBA

     Subject: Grupo G5 - CORBA
        Date: Mon, 27 Apr 1998 13:52:30 -0700
        From: Fernanda Buonafina 
Organization: Faculdade de Engenharia Eletrica e da Computacao - UNICAMP
  Newsgroups: feec.posgrad.IA368F


Grupo G5 :
        Fernanda - Relatora                      
        Marcelo                                                  
        Ricardo
        Sérgio

APRESENTAÇÃO

    Em reunião realizada em sala de aula (14/04), propusemos o mecanismo de
programação que achávamos mais adequado para cada uma das funcionalidades
propostas pelo ambiente "Curso sob medida" + "Prova virtual" [Granja at. al,
1998] [ Dagnone at.  al, 1998].

    Com base na arquitetura de software por nós apresentada, trazemos agora uma
nova proposta considerando o uso de objetos distribuídos com CORBA.

INTRODUÇÃO

    Para que se possa analisar a adequação do uso de CORBA (Common Object
Request Broker Architecture) na implementação de cada uma das funcionalidades do
ambiente acima citado, é preciso que entendamos o que é CORBA.
    
    Como citado em [1], CORBA pode ser definida como sendo um padrão para
interoperabilidade em ambientes computacionais heterogêneos. CORBA define o ORB
(Object Request Broker), um mecanismo padrão através do qual objetos de software
distribuídos e seus clientes podem interagir [2].

ANÁLISE DO AMBIENTE

    Aqui apresentamos nossa proposta de implementação para cada uma das
funcionalidades do ambiente "Curso sob medida" + "Prova virtual" considerando o
uso de CORBA:

1 - Compor as disciplinas

    A composição da disciplina não precisará ser programada usando-se por base
formulários HTML / CGI como proposto anteriormente, mas sim através da
aproximação Java/CORBA como indicado por Evans e Rogers. Neste caso o formulário
HTML que era recebido normalmente pelo cliente, seria substituída por applets
Java, muito mais flexíveis para a implementação. Estes applets é que receberão
os dados referentes a seqüência de aulas, referências, exercícios, etc - como
citado na proposta anterior. Enviados estes dados ao Banco de Dados, um outro
applet poderá ser ativado apresentando informações consolidadas sobre a
disciplina que está sendo composta. Com relação ao Banco de Dados, CORBA traz
benefícios por permitir manipulações em ambientes heterogêneos diversos. Os
recursos trazidos pelo CORBA poderiam substituir o acesso tradicional via CGI.

2 - Estabelecer perfis para cada curso

    Mais uma vez a utilização do CGI pode ser satisfatoriamente substituída por
implementações baseadas em CORBA, principalmente lembrando os benefícios
relacionados a manutenção, entre outros trazidos por objetos. Além disto,
applets Java poderiam disponibilizar as gamas de perfis existentes. Por último a
dificuldade de uma implementação pelo CGI, devido a sua falta de persistência é
solucionada por CORBA.

3- Cadastrar alunos considerando o seu curso e o seu tipo

    Outra vez a manutenção de estado proporcionada por CORBA facilitará o
cadastramento do perfil do aluno e sua relação com as disciplinas disponíveis,
mas principalmente permitirá consultas com a manutenção do RA e da senha
inicial, durante uma seção.  Ou seja, a partir do estabelecimento de um perfil,
o aluno terá acesso ou não as disciplinas adequadas a seu perfil sem maiores
problemas. Em todos estes casos, formulários HTML/CGI serão substituídos por
Java/CORBA.

4 - Disponibilizar disciplinas/aulas

    A disponibilização de uma determinada disciplina poderia continuar a fazer
uso de servlets , como proposto anteriormente, Porém o uso de CORBA poderia
trazer uma maior flexibilidade ao ambiente.

5 - Acompanhar o andamento da disciplina

    Anteriormente foi proposto o uso de servlets, o que continua sendo válido.
    
    O uso de forms HTML/CGI não seriam uma boa opção , visto que a falta de
persistência novamente se apresenta como uma dificuldade inerente. Esta
aplicação poderia se beneficiar de implementações baseadas no padrão CORBA,
trazendo assim para o sistemas maiores níveis de segurança e flexibilidade.

6 - Fornecer Feedback para alunos e professores

    A comunicação entre alunos - alunos, alunos - instrutores continua podendo
ser realizada via e-mail, mas podem ser complementadas com serviços como BBS e
chat, como os já implementados em aplicações existentes.

7 - Aplicar Prova

    Na implementação anterior já foi citada a utilização de applets Java para a
realização da prova. Continua uma solução adequada.

8 - Corrigir e pontuar provas

    Com relação a correção de provas a tecnologia Java pode ser bastante
adequada, ainda mais levando-se em conta a facilidade com que a ling. Java trata
o acesso a Banco de Dados, banco de dados que neste caso armazenaria os
resultados da prova.
        
9 - Disponibilizar resultado da prova

    A disponibilização dos resultados da prova, poderia ser feita via servlets.


CONCLUSÃO
        
    Concluímos que o uso de CORBA em muitas aplicações se apresenta como uma
opção muito interessante para a solução do problema da interação entre ambientes
de software e hardware diferentes. A junção Java/CORBA surge como uma das
melhores opções para a interação cliente/servidor na WEB.
     
    Ao analisarmos nossa proposta anterior (14 / 04), percebemos que o uso de
Java/CORBA poderia nos trazer muitos benefícios, desde melhorias no desempenho,
até a solução de problemas relacionados a persistência.

                
BIBLIOGRAFIA
        
[1] S.Baker, V.Cahill, P.Nixon," Bridging Boundaries: CORBA in perspective" ,
IEEE Internet Computing, setembro/outubro 1997 , pg 52-57

[2] E.Evans, D. Rogers, "Using Java applets and CORBA for Multi-User Distributed
Applications", IEEE Internet Computing , maio/junho 1997 , pg 43-57

ricarte@dca.fee.unicamp.br

Last modified: Tue Apr 28 10:40:29 BRA 1998