Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Análise comparativa entre as especificações de objetos distribuídos
DCOM e CORBA
Universidade Regional de BlumenauCentro de Ciências Exatas e Naturais
Acadêmico: Rubens BósioOrientador: Marcel Hugo
Blumenau, julho de 2000
Roteiro� Objetivos� Introdução� Objetos Distribuídos� CORBA� DCOM� Especificação do Protótipo� Comparação� Considerações Finais
Objetivos
� Fazer um protótipo de uma ferramenta de consulta a banco de dados de forma remota.
� Fazer um estudo das principais características das duas tecnologias de desenvolvimento de objetos distribuídos: DCOM e CORBA.
IntroduçãoOrientação a Objetos
Sistemas Distribuídos
Objetos Distribuídos
Objetos Distribuídos
� Mesmas características dos objetos normais.
� Arquitetura Cliente-Servidor.
� Necessitam de infra-estrutura (barramentos) para viabilizar a comunicação
� Object Management Group� Mais de 750 empresas (IBM, HP, Sun, DEC,
Microsoft, Netscape, etc.)
� “...estabelecer guias e especificações de gerência de objetos para a indústria, visando prover uma base comum para o desenvolvimento de aplicações distribuídas”
CORBA
CORBA
Repositório de Interface Compilador IDL Repositório de Implementação
Cliente Implementação do Objeto(Servidor)Ref.
OBJ
Parâmetros de entrada
Método ()
Parâmetros de Saída + valores de retorno
DII IDLSTUBS
INTERFACE
ORB
IDLSKELETON
DII
ADAPTADOR DE OBJETO
NÚCLEO ORB GIOP/IIOP
Interface padrão
ORB – Interface específica
Mapeamento padrão de linguagem
Protocolo padrão
Fonte: [SCH1999]
Arquitetura
DCOM
� Microsoft� Surgiu com o lançamento do
Windows NT 4.0� Baseado na tecnologia COM
DCOMArquitetura
Objeto Cliente Objeto Proxy Stub Objeto Servidor
Provedor de
Segurança
DCE RPC
Pilha de PRotocolo
Provedor de
Segurança
DCE RPC
Pilha de PRotocolo
OLE 32
SCMSCM
Protocolo de
rede DCOM
CoCreateInstance
Ativação Remota
CoCreateInstance
Protótipo
Requisição dos Dados (SQL)
Retorno dosDados
Protótipo
Efetuar consulta
Usuario
Envia SQL
Caso de Uso
Protótipo
0,n
Servidor
Qtd_ConexoesLista_Conexoes
Valida_Usuario( )Executa_SQL( )Conecta( )Disconecta( )Atualiza_Lista_Conexoes( )
1
Cliente
UsuarioSenha
create( )conecta( )executa_Sql( )disconecta( )destroy( )
Diagrama de Classes
Comparativo
Infra-estrutura:baseada em serviços do Windows
Infra-estrutura:desenvolvida separadamente tornando-se assim independente de plataforma
DCOMCORBA
Comparativo
Maturidade:Está apenas começando, porém possui implementações construídas com sucesso.
Maturidade:Possui implementações longe do ciclo de maturidade
Nível de abstração:Mantém um alto nível de abstração por conseguir um ponteiro para o objeto servidor.
Nível de abstração:O cliente obtém uma referência para o objeto servidor.
DCOMCORBA
Comparativo/PerformanceAmbiente
Pentium III – 500 MHz
64 Mb Memória
Windows 2000
Computador A
Pentium 233 MHz
64 Mb Memória
Windows NT 4
Computador B
AMD K6 II - 500 MHz
64 Mb Memória
Windows 2000
Computador C
Comparativo/PerformanceExecução Local (computador A)
Execução local (1 máquina)
0,000
5,000
10,000
15,000
20,000
25,000
30,000
35,000
40,000
Execução
Tem
po (e
m s
egun
dos)
DCOM
CORBA
DCOM 30,214 27,169 26,779 27,269 27,109
CORBA 36,603 27,720 28,451 27,860 28,771
1 2 3 4 5
Cliente
Computador C
Servidor
Banco de Dados
Computador ASQL
Dados
Comparativo/PerformanceExecução com cliente remoto
E x e c u ç ã o c o m a p e n a s o c lie n te re m o to
2 8 ,0 0 0
2 9 ,0 0 0
3 0 ,0 0 0
3 1 ,0 0 0
3 2 ,0 0 0
3 3 ,0 0 0
3 4 ,0 0 0
E x e c u ç ã o
Tem
po (
em s
egun
dos)
D C O M
C O R B A
D C O M 3 2 ,9 2 7 3 0 ,2 6 3 2 9 ,8 4 3 3 0 ,1 0 3 2 9 ,9 8 3
C O R B A 3 2 ,6 2 7 3 0 ,3 8 4 3 0 ,4 3 3 3 0 ,7 7 4 3 0 ,8 1 5
1 2 3 4 5
Comparativo/Performance
Cliente
Servidor
Computador B
Banco de Dados
Computador ASQL
Dados
Execução com banco remoto
E x e c u ç ã o c o m a p e n a s o b a n c o d e d a d o s re m o to
4 0 ,0 0 0
4 5 ,0 0 0
5 0 ,0 0 0
5 5 ,0 0 0
6 0 ,0 0 0
E x e c u ç ã o
Tem
po (
em s
egun
dos)
D C O M
C O R B A
D C O M 5 2 ,5 1 5 4 7 , 5 2 8 4 7 ,3 5 8 4 6 , 6 3 7 4 6 ,7 7 7
C O R B A 5 5 ,5 9 0 4 9 , 0 5 1 4 9 ,2 3 1 4 8 , 5 0 0 4 9 ,2 4 1
1 2 3 4 5
Comparativo/Performance
Servidor
Computador B
Banco de Dados
Computador ASQL
Dados
Cliente
Computador CSQL
Dados
Execução com banco remoto
E x e c u ç ã o c o m t r ê s c a m a d a s r e m o ta s
4 7 , 0 0 0
4 8 , 0 0 0
4 9 , 0 0 0
5 0 , 0 0 0
5 1 , 0 0 0
5 2 , 0 0 0
5 3 , 0 0 0
5 4 , 0 0 0
E x e c u ç ã o
Tem
po (
em s
egun
dos)
D C O M
C O R B A
D C O M 5 0 , 1 9 2 4 9 , 5 0 2 4 9 , 3 3 1 4 9 , 7 1 1 4 9 , 6 4 1
C O R B A 5 3 , 5 2 7 5 0 , 9 9 4 5 0 , 7 0 3 5 0 , 7 9 3 5 1 , 1 8 3
1 2 3 4 5
Comparativo/PerformanceMédia
Média de todas as execuções
34,000
36,000
38,000
40,000
42,000
44,000
46,000
Execução
Tem
po (
em s
egun
dos)
DCOM
CORBA
DCOM 41,462 38,616 38,328 38,430 38,378
CORBA 44,587 39,537 39,705 39,482 40,003
1 2 3 4 5
Considerações Finais
� Os objetivos foram alcançados
� O.D. atendem muitas necessidades em nível de desenvolvimento e em nível mercadológico
� Questão de tempo para Objetos distribuídos se tornar algo comum
Considerações Finais
� O Delphi se mostrou uma boa ferramenta para DCOM, porém bastante limitada com relação ao CORBA
Considerações Finais
� Vantagem do CORBA por ser independente de plataforma
� Não se pode negar a representatividade da Microsoft no mercado, o que torna o DCOM uma tecnologia competitiva.
Trabalhos futuros
� Estudo de outra ferramenta de desenvolvimento com suporte a CORBA e DCOM
� Extensão do trabalho atual para o ambiente de Internet