UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula 04: RM-ODP Visão Geral
ODP Open Distributed Processing Sistemas Distribuídos Sistemas Distribuídos Abertos (Sistemas ODP)
Sistemas ODP: Características Envolvem múltiplos domínios organizacionais autônomos Heterogeneidade hardware, sistemas operacionais, protocolos de rede, linguagens de programação, aplicações, políticas de administração e uso Evolutibilidade adição, remoção, substituição de componentes Mobilidade
Sistemas ODP: Requisitos básicos Interoperabilidade face à presença de componentes heterogêneos Integração de novos componentes em tempo de execução Preservar a continuidade da operação do sistema face à mobilidade de componentes, recursos e usuários Papel fundamental de middleware
O Modelo de Referência ISO RM-ODP Um conjunto de regras e padrões para guiar o desenvolvimento de arquiteturas de sistemas ODP Identifica os conceitos e elementos de sistemas ODP terminologia, princípios arquiteturais Visão integrada do processo de desenvolvimento de sistemas ODP Modelo orientado a objetos
O modelo RM-ODP Um conjunto básico de especificações: Introdução e visão geral (parte 1) Fundamentos (parte 2) Arquitetura (parte 3) Semântica arquitetural (parte 4) Padrões para aspectos específicos de ODP trader, referências de interface e bindings, repositório de tipos
O modelo RM-ODP Um meta-padrão para middleware arcabouço genérico de conceitos arquiteturais e terminologia que permitem o surgimento de padrões específicos/concretos de middleware Ex.: CORBA Uma base conceitual para entender e avaliar tecnologias de middleware
Pontos de vista ODP Projeções sobre o sistema ODP como um todo segundo um conjunto de aspectos de interesse Abstraindo aspectos não relevantes Sistema é modelado com base em vários pontos de vista Ponto de Vista C Ponto de Vista A Sistema ODP Ponto de Vista D Ponto de Vista B Ponto de Vista D Cada ponto de vista define uma linguagem específica
Ponto de vista de Empresa Considera o sistema ODP no contexto em que ele está inserido, em termos de: participantes - usuários e componentes, internos e externos contratos - obrigações mútuas entre os participantes do sistema papéis de cada participante escopos de atuação de cada participante políticas - governam as interações
Ponto de vista de Informação Modela um sistema ODP em termos de: elementos de informação mantidos pelo sistema fluxo de informações no sistema processamento necessário para a manipulação destas informações Esquemas conceituais de dados Visão unificada da estrutura e semântica das informações no sistema
Ponto de vista Computacional Modela um sistema ODP através de sua decomposição funcional em objetos independente de distribuição Objeto: encapsula estado e interage através de uma ou mais interfaces Binding: modela as interações entre objetos permite governar as propriedades das interações (Ex.: QoS, aspectos não-funcionais)
Ponto de vista de Engenharia Modela o sistema ODP em termos dos mecanismos e funções necessários para o suporte a interações no ambiente distribuído infra-estrutura necessária para a criação e manutenção de objetos mecanismos para a realização de bindings gerenciamento de recursos
Ponto de vista de Tecnologia Modela o sistema ODP em termos de configurações de componentes de hardware e software que constituem sua implementação em função dos requisitos e funcionalidades expressos nos demais pontos de vista Define o uso de padrões específicos Sistemas operacionais, linguagens, protocolos de rede, tecnologia de middleware específica Implementação e testes do sistema
Transparências de distribuição Modelo de abstração fundamental em RM- ODP permite que os desenvolvedores de sistemas ODP se concentrem apenas na lógica específica da aplicação demais aspectos (não-funcionais) são mantidos de forma invisível através de soluções padronizadas e reutilizáveis
Transparências ODP Localização: abstrai a localização física de um objeto através de nomes e identificadores lógicos Acesso: abstrai as diferenças entre métodos de acesso a objetos e interfaces compatibilização das diferentes representações de dados e mecanismos de invocação presentes no sistema heterogêneo Transparências essenciais em ODP
Transparências ODP Falhas: mascara, do ponto de vista de um objeto, a ocorrência de falhas em outros objetos ou no próprio objeto tolerância a falhas automática Replicação: mascara o uso de um grupo de objetos compatíveis para implementar uma única interface para melhorar o desempenho, tolerância a falhas, etc.
Transparências ODP Migração: mascara, do ponto de vista de um objeto, a capacidade de o sistema mudar sua própria localização física Relocação: mascara a mudança de localização de uma interface em relação aos seus usuários Permitem a continuidade das interações e referências no sistema
Transparências ODP Persistência: permite que um objeto seja desativado, armazenado e reativado de maneira transparente ao programador o tempo de vida do objeto torna-se independente do programa que o implementa Transação: mascara a existência de mecanismos de coordenação distribuída manutenção da consistência das interações em uma configuração de objetos distribuídos
Funções ODP Definem a estrutura básica para sistemas distribuídos abertos Funcionalidades necessárias para o suporte às transparências ODP Realizáveis através de (configurações de) objetos Especificadas em termos dos conceitos definidos nos pontos de vista ODP
Funções ODP Funções de gerenciamento controle do ciclo de vida de objetos (criação, desativação, reativação, recuperação) gerenciamento de recursos Funções de coordenação notificação de eventos checkpointing e recuperação grupos de objetos e replicação migração, transação
Funções ODP Funções de repositório repositório de tipos: mantém informações sobre tipos de interfaces e relacionamentos trader: publicação e descoberta de informações sobre os recursos e serviços disponíveis no sistema Funções de segurança controle de acesso, auditoria, autenticação, integridade, confidencialidade, chaves
Em resumo Pontos de Vista Infra-estrutura de suporte para ODP Transparências Funções ODP