Objetos Distribuídos Padrão CORBA Trabalho de Fundamentos da Engenharia de Software Profº Ricardo Luiz Schneider Alunos: Fábio Campos Lourenço Fernando Azeredo Andrade
Desenvolvimento de Software Atualmente Não Possui o Devido Nível de Maturidade: Não atende totalmente às qualidades desejadas. Prazos de entrega não são cumpridos. Requisitos funcionais do sistema não satisfeitos ou desatualizados quando entregues. Orçamentos previstos “estouram”. Custos de manutenção são altos. Difícil integração dos sistemas.
Melhorando o Desenvolvimento de Sistemas Tecnologia de Orientação a Objetos Encapsulamento Os dados de um objeto estão encapsulados e são acessados pelos métodos de interface. Dá mais ênfase à interface dos objetos e à interoperabilidade entre classes.
Vantagens da Orientação a Objetos (O.O.) Melhor produtividade e redução do tempo de desenvolvimento. Reuso. Flexibilidade. Redução de custos. Facilidade de manutenção.
Arquitetura Cliente / Servidor Tem por objetivo compartilhar recursos, dados, software e hardware. Cada computador em uma rede pode oferecer serviços como um servidor e utilizar outros serviços como cliente.
Objetos Distribuídos Combinação de Orientação a Objetos e Computação Distribuída. Permite uma completa interoperabilidade entre componentes de aplicações em ambientes distribuídos e heterogêneos. Middleware.
Middleware Conectar aplicações distribuídas. Solucionar problemas de falta de transparência entre componentes. Permitir uma gerência simples e eficaz.
Modelo Integrador Identificar a compatibilidade entre tipos definidos em modelos diferentes. Compatibilizar o modelo de execução de objetos de diferentes arquiteturas que precisam interagir.
Aplicações Distribuídas em Camadas Two-tier (2 camadas) Falta de controle centralizado. N-tier (3 camadas) Desktop - Interface com o usuário. Servidor de Aplicação - Lógica do negócio e lógica de dados. Servidor de Banco de Dados - Serviços de dados e arquivos.
Visão Geral de CORBA Proposta da OMG (Object Management Group). Interface comum aos objetos escritos em diferentes linguagens de programação.
Objetivo da CORBA Dar a todos os seus componentes a “mesma cara”. Interfaces definidas em uma linguagem declarativa. A interação ocorre através de um Middleware(ORB), que estabelece a relação Cliente/Servidor.
Arquitetura CORBA ORB C++ Delphi Java C++ Delphi Java IDL IDL IDL IDL CLIENTE SERVIDOR ORB
Linguagem IDL Puramente declarativa, usada para descrever objetos CORBA. Subconjunto de C++ com instruções adicionais.
Objeto CORBA Geralmente representa conceito do mundo real. Oferece atributos e operações que compõe sua interface IDL.
Objeto CORBA Cliente/Servidor. Se comunicam estando na mesma máquina ou em uma máquina remota via Internet.
REPOSITÓRIO DE INTERFACE REPOSITÓRIO DE IMPLEMENTAÇÃO ADAPTADOR DE OBJETOS INTERFACE ORB CLIENTE SERVIDOR ESQUELETO IDL DII IDL STUBS
Serviços CORBA Componentes complementares definidos como IDL Ex: Segurança Controle de Concorrência Ciclo de Vida
Facilidades CORBA Especializações dos serviços CORBA. Ex: Interface do usuário Interfaces especializadas Gerência de tarefas
Padrão DCOM ActiveX Distributed Component Object Maior competidor do CORBA Criado pela Microsoft MS OLE MS COM DCOM EXTENSÃO ActiveX
DCOM x CORBA
DCOM x CORBA
DCOM x CORBA
Referências Bibliográficas www.infosys.tuwien.ac.at/Research/Corba/OMG/arch2.htm#446864 www.nautilus.com.br/~francioli www.omg.org/corba/beginners.html Moraes, João A. G. de Queiroz e Madeira, Edmundo. CORBA: Plataforma Aberta de Objetos Distribuídos. Developers Magazine nº 21, páginas 26 a 30, Maio de1998