Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Rafael Cristiano Macedo
Título: Desenvolvimento de um Serviço de Persistência Transparente Seguindo o Padrão de Objetos Distribuídos Corba
 
Introdução:
Uma das áreas da ciência da computação que apresentou um desenvolvimento rápido e acentuado durante os últimos anos foi a de redes de computadores. Segundo Queiroz (1994) este crescimento contribuiu para que os sistemas de computação fornecessem ambientes cada vez mais naturais para a evolução de sistemas distribuídos. Queiroz (1994) afirma que um sistema distribuído consiste de um conjunto de unidades de programas que cooperam entre si com o objetivo de realizar as diversas tarefas propostas pela sua definição. Segundo Mainetti (1997) de todas as tecnologias já utilizadas no desenvolvimento de sistemas distribuídos, a orientação a objeto é a que melhor se aplica a esse modelo. Um conceito da orientação a objeto é a descentralização, assim como os sistemas distribuídos. Capeletto (1999) e Mainetti (1997) afirmam que desenvolver sistemas distribuídos utilizando a orientação a objetos facilita o processo de desenvolvimento pelo fato do sistema ser projetado sem uma preocupação com a distribuição do processamento em diferentes máquinas e processos, resolvendo assim as regras de negócio do sistema. Uma vez definidos os objetos e suas interfaces, há a preocupação com a distribuição destes objetos. Existem vários modelos de objetos distribuídos, dentre eles destaca-se o Distributed Component Object Model (DCOM), da Microsoft, e o Common Object Request Broker Architecture (CORBA), do Object Management Group (OMG). O CORBA tem como principal característica a independência de sistema operacional e linguagem de programação, enquanto que o DCOM contempla somente o MS Windows NT 4.0, MS Windows 98 ES ou superior. Fundado no fim da década de 80, o OMG, com a missão de 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 (OMG, 2001a), tem como sua principal contribuição o padrão CORBA. OMG (2001a) afirma que o principal objetivo do CORBA é oferecer um barramento de comunicação de software transparente entre objetos heterogêneos distribuídos. Conforme Pires (1997) o padrão CORBA utiliza-se da colaboração entre os diferentes objetos que o constituem. Segundo Brose (2001) e OMG (2001b) estes objetos são classificados em cinco níveis. São eles: a) Object Request Broker (ORB): define o barramento de objetos CORBA. É o “núcleo” do CORBA. O ORB é responsável pela transferência da informação, independentemente dos protocolos de rede e comunicação, sistema operacional, etc; b) Serviços Comuns: define os objetos que contêm serviços comuns que podem ser herdados para os demais objetos, como ciclo de vida, nome, persistência, concorrência, transação, etc; c) Facilidades Comuns: define as coleções de objetos que proporcionam serviços comuns para os objetos de aplicações; d) Interfaces de Domínio: define as coleções de interfaces de domínio específico para aplicações de áreas específicas como finanças, transportes, etc. e) Interfaces de Aplicações: define os objetos específicos para as aplicações voltadas ao usuário final. Pelo fato do padrão CORBA ser não-proprietário (OMG, 2001a), existem atualmente no mercado várias implementações do ORB que podem ser adquiridas para serem utilizadas na implementação de um sistema distribuído. Mas os serviços oferecidos por elas podem não ser satisfatórios para uma determinada aplicação. Nesta situação pode-se implementar um serviço que atenda as necessidades específicas da aplicação, substituindo ou acrescentando o serviço ao ORB, respeitando a especificação do OMG para o determinado serviço. Como na maioria das implementações do ORB consultadas os serviços básicos já são implementados, verifica-se que o grande diferencial para a utilização do CORBA poderá estar nos serviços de persistência, concorrência, transação, segurança e pesquisa. Pelo fato do OMG ter formalmente especificado o serviço de persistência e nesta especificação não constar como implementar o serviço, mas sim o que o serviço deve contemplar, ela permite inúmeras formas de implementação. Assim, pretende-se projetar e implementar o serviço de persistência, integrando-o a um ORB já existente no mercado e executar um protótipo de aplicação demonstrando o uso do serviço implementado integrado ao ORB. O serviço de persistência consiste em armazenar fisicamente um objeto, de modo que, os objetos continuem a existir após a execução dos programas que os criaram ou atualizaram. Estes objetos podem ser armazenados de várias formas, por exemplo, em um banco de dados orientado a objetos ou banco de dados objeto-relacional ou em um conjunto de arquivos (OMG, 1999). Será especificado um protótipo de aplicação através da UML para demonstrar o funcionamento da implementação ORB selecionada. O protótipo será composto por um servidor que será implementado utilizando a linguagem de programação Java, e clientes que serão implementados utilizando Java.