Tecnologias de distribuição Web e CORBA
Grupo D6:
Carlos Augusto Fernandes Dagnone R.A. 932034
Valmir Tadeu Fernandes R.A. 946211
Firmiano Ramos Perlingero R.A. 972407
Marcio Vieira Soares R.A. 984331
As alterações propostas
Conclusões
Introdução
O CORBA "Common Object request Broker architecture" é um sistema composto por objetos distribuidos, que provê mecanismos através dos quais um objeto pode fazer pedidos e receber respostas de outros objetos dentro do mesmo ambiente. Esta arquitetura foi definida pela OMG (Object Management Group), um pool de mais de 150 empresas, para promover a utilização do modelo de programação orientada ao objeto, no desenvolvimento de software distribuido.
Como objeto de nossa reunião de 23/04, estudamos a utilização do Corba para implementação do ambiente "Curso sob medida" + "Prova virtual". As propostas até então aceitas pelo grupo eram relacionadas com o uso de servlets e applets Java, com finalidade de resolver problemas ligados à distribuição, uso de bancos de dados e outros problemas relativos à implementação do ambiente.
A entrada do CORBA, permitiu alterações na arquitetura inicialmente proposta.
As vantagens do CORBA/JAVA
O conjunto Java/Corba, em comparação com aplicações baseadas em CGI, tem uma série de vantagens como pode ser visto na tabela de comparações abaixo:
Item |
CGI |
Java/Corba |
Flexibilidade |
Agrupa interface do usuário e definições remotas em formulários HTML Argumentos de operações remotas são necessáriamente strings, não se aceitam dados estruturados |
Separa Interface e operações remotas Aceita estruturação de dados |
Manutensibilidade |
Alterações do formulário HTML devem ser feitas manualmente no programa CGI |
Mudanças no IDL podem ser automaticamente transmitidas ao cliente e servidor pela saída do compilador IDL |
Configuração do Servidor |
Formulários HTML são instalados no host WWW Cada programa CGI é feito para manuseio de uma operação distinta Cada chamada remota exige uma nova instância do programa CGI |
Software applet cliente java é instalado no servidor. Um objeto remoto pode ser criado para manuseio de muitas operações remotas Um objeto remoto pode gerenciar várias chamadas remotas. |
Intuitividade da interface do usuário |
O desenvolvedor tem controle limitado sobre a interface com o usuário Desenvolvedor limitado ao uso das tags HTML |
Controle pleno da interface pelo desenvolvedor Desenvolvedor pode criar novos componentes a partir de outros |
Sensibilidade |
Nova interface implica em nova carga da página HTML Cada invocação remota é vagarosa pela carga do programa CGI e de seus recursos Não suporta Multi-thread |
A applet gerencia direto a nova interface Uma invocação remota pode ser gerenciada por uma applet já sendo executada O objeto servidor remoto pode já Ter carregado os recursos antes do pedido Suporta Multi-thread |
As alterações propostas
No documento anterior emitido pelo grupo, estabeleceu-se como ferramentas a programação utilizando, para cada funcionalidade um conjunto de ferramentas que deveriam facilitar a implementação. Na análise de cada funcionalidade tivemos:
Esta distribuição então, poderíamos agrupar de acordo com a ferramenta utilizada:
Servlets: 1, 2, 3, 4, e 9
Servlets e Castanet: 6
Applets Java: 5, 7 e 8
O uso do CORBA vem facilitar a eliminação dos gargalos de operação no sistema, e, devido à sua própria arquitetura e perfeita integração com o Java, se torna muito interessante para substituir as propostas de uso de servlets e da Castanet das funcionalidades 1, 2, 3, 4, 6 e 9 da proposta anterior, com vantagens claras de rendimento do sistema.
Conclusão:
O CORBA, em conjunto com o Java, pode (e deve) ser o conjunto escolhido para a implementação do ambiente educacional proposto, principalmente devido à necessidade de rendimento exigida por uma aplicação com essa finalidade. No caso de se resolver pela iteração de grupos de estudo (de forma sincrona) ou no desenvolvimento do aplicativo, este uso será fundamental, principalmente levando em consideração controle de versões.
A eliminação do gargalo de processamento no sistema é um item importantíssimo nesta implementação. Outro aspecto fundamental é a necessidade de processamento distribuído, que o uso da dupla Java/CORBA permite e realiza com grande desenvolvoltura.
BIBLIOGRAFIA:
Evans, Eric and Rogers, Daniel "USING JAVA APPLETS AND CORBA FOR MULTI-USER DISTRIBUTED APPLICATIONS", - University of Texas at Austin, IEEE Internet Computing
May-June/ 1997
S.Baker, V.Cahill, P.Nixon," BRIDGING BOUNDARIES: CORBA IN PERSPECTIVE" ,
IEEE Internet Computing, setembro/outubro 1997 , pg 52-57
Siqueira, Frank; "CORBA - Common Object Request Broker Architecture" - apostila Universidade Federal de Santa Catarina
Dagnone et all, programação na Web.