SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS Pág. CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 2.1 A tecnologia de orientação a objetos 25 2.1.1 Projeto de software baseado em objetos 25 2.2 Objetos Distribuídos 26 2.2.1 Sistemas distribuídos orientado a objetos 27 2.2.2 Middleware 30 2.3 CORBA 30 2.3.1 Interoperabilidade CORBA 32 2.3.2 Object Management Architecture OMA 32 2.3.3 Serviços CORBA 34 2.3.3.1 Serviço de persistência de objeto 34 2.3.3.2 Serviço de identificação dos objetos 34 2.3.3.3 Serviço de segurança 35 2.3.4 O repositório de interfaces 35 2.4 A linguagem de programação Java 37 2.5 UML 38 2.6 Sistemas de banco de dados 39 2.6.1 Banco de dados distribuídos 39 CAPÍTULO 3 PERSISTÊNCIA DE OBJETOS O ESTADO DA ARTE 43
3.1 Persistent State Service 46 3.1.1 Objetivos 46 3.1.2 Descrição do serviço 47 3.1.3 Definindo objetos persistentes 49 3.1.4 PSDL 50 3.1.5 Um exemplo simples 52 3.2 Limitações do PSS 54 CAPÍTULO 4 A ARQUITETURA SICSD 55 4.1 Os serviços da arquitetura 58 4.2 Funcionamento do sistema 61 CAPÍTULO 5 SERVIÇO DE PERSISTÊNCIA PROPOSTO 65 5.1 Características funcionais do serviço proposto 67 5.2 A modelagem do SPP 69 5.2.1 Análise do SPP 70 CAPÍTULO 6 IMPLEMENTAÇÃO DO PROTÓTIPO 77 6.1 Softwares utilizados 77 6.1.1 Java Development Kit JDK 1.2.1 77 6.1.2 Oracle 8i 77 6.1.2.1 Oracle 8i Replicação de dados 78 6.1.3 Visibroker 79 6.2 Ambiente de testes 80 6.3 O escopo do protótipo 81 6.4 Interação entre o SPP e o Repositório de Interfaces 82 6.5 Análise da interface recuperada do Repositório de Interfaces 83 6.6 Funcionamento do SPP 85
6.7 Serviço de Persistência Processo de armazenamento 89 6.8 Serviço de Persistência Processo de recuperação 92 6.9 Serviço de Persistência Processo de exclusão 93 6.10 Distribuição do Banco de Dados 94 CAPÍTULO 7 RESULTADOS E CONCLUSÕES 95 7.1 Desempenho 95 7.2 Considerações finais 104 REFERÊNCIAS BIBLIOGRÁFICAS 107 APÊNDICE 113
LISTA DE FIGURAS 2.1 Arquitetura OMA 34 2.2 Organização Hierárquica do Repositório de Interfaces 36 2.3 Compilação e Interpretação de um Programa Java 37 2.4 Write Once, Run Anywhere 39 3.1 Interface Interna 45 3.2 Esquema de Armazenamento do PSS 46 3.3 Manipulação dos Objetos Persistentes 47 4.1 Sistema de Controle de Satélites Distribuído e Dinâmico 57 4.2 Uma Visão dos Serviços da Arquitetura SICSD 59 4.3 A Dinâmica de Interação em cada Nó entre os Serviços e Objetos 62 5.1 Serviço de Persistência: Mediador entre a Aplicação e o Meio de armazenamento 65 5.2 SPP Processo de Armazenamento 68 5.3 Diagrama de Classes 71 5.4 Diagrama de Casos de Uso 72 5.5 Diagrama de Seqüência - Armazenar 73 5.6 Diagrama de Estados - Armazenar 74 5.7 Diagrama de Atividades 75 6.1 Ambiente de Replicação do Oracle 79 6.2 Ambiente de testes do SPP 81 6.3 Interação entre o Serviço de Persistência e o Repositório de Interfaces 83 6.4 Objetos Instanciados para cada Nó pela Rotina START 86 6.5 Diagrama de Seqüência RECUPERAR 92 6.6 Diagrama de Seqüência EXCLUIR 93 6.7 Ambiente de testes do SPP - Replicação 94 7.1 Acesso Estático X Acesso Dinâmico 98 7.2 Média - Acesso Estático X Acesso Dinâmico 98 7.3 Desempenho do SPP em Máquinas de Diferentes Configurações 99 7.4 Visualizador de Telemetria Bruta do CBERS Exemplo 1 100
7.5 Visualizador de Telemetria Bruta do CBERS Exemplo 2 101 7.6 Visualizador de Telemetria Bruta do CBERS Exemplo 3 102 7.7 Visualizador de Telemetria Bruta do CBERS Exemplo 4 102 7.8 Adequação do SPP ao Software de Controle de Satélites 103
LISTA DE TABELAS 3.1 Palavras Chave Psdl 51 5.1 Base de Armazenamento 67 6.1 Inteiros Associados a Alguns Tipos de Dados 85 7.1 Acesso Estático X Acesso Dinâmico 97
LISTA DE SIGLAS E ABREVIATURAS API - Application Programatic Interface BDOO - Banco de Dados Orientado a Objetos BDOR - Banco de Dados Objeto Relacional BDR - Banco de Dados Relacional CAST - Chinese Academy of Space Technology CBERS - China-Brazil Earth Resources Satellite CCS - Centro de Controle de Satélites CORBA - Commom Object Request Broker Architecture CRC - Centro de Rastreio e Controle de Satélites DCOM - Distributed Component Object Model IDL - Interface Definition Language INPE - Instituto Nacional de Pesquisas Espaciais JDBC - Java DataBase Connectivity JVM - Java Virtual Machine MAF - Mobile Agent Facility MECB - Missão Espacial Completa Brasileira OCI - Oracle Call Interface OMA - Object Management Architecture OMG - Object Management Group ORB - Object Request Broker POA - Portable Object Adapter POS - Persistent Object Service PSDL - Persistent State Definition Language PSS - Persistent State Service RMI - Remote Method Invocation SCD1 - Sistema de Coleta de Dados 1 SCD2 - Sistema de Coleta de Dados 2 SICSD - Sistema de Controle de Satélites Distribuído SGBD - Sistema Gerenciador de Banco de Dados
SGBDR SGBDOO SPP SQL SUCESU UML - Sistema Gerenciador de Banco de Dados Relacional - Sistema Gerenciador de Banco de Dados Orientado a Objetos - Serviço de Persistência Proposto - Structured Query Language - Sociedade de Usuários de Informática e Telecomunicações - Unified Modeling Language