Prof. Me. Sérgio Carlos Portari Júnior

Documentos relacionados
Plataformas de Distribuição de Objetos

Common Object Request Broker Architecture

Principais conceitos de CORBA

Sistemas de Objetos Distribuídos

Sistemas Distribuídos

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

Sistemas Distribuídos CORBA. Edeyson Andrade Gomes.

Implementando Aplicações Distribuídas Utilizando CORBA: Um Estudo de Caso Voltado à Área de Banco de Dados

Plataformas de Distribuição de Objetos

PMR3507 Fábrica digital

Objetos e Componentes Distribuídos: EJB e CORBA

Arquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web

Sistemas Operacionais II

Introdução a CORBA. Renato Cerqueira. Departamento de Informática, PUC-Rio

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Análise comparativa entre as especificações de objetos distribuídos DCOM e CORBA

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Sistemas Distribuídos: Conceitos e Projeto RPC e RMI

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Sistemas Distribuídos

CORBA IDL. Interface Definition Language. Mário Meireles Teixeira.

CENTRO UNIVERSITÁRIO DO TRIÂNGULO INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE CIÊNCIA DA COMPUTAÇÃO OBJETOS DISTRIBUÍDOS ELIANA SILVA SOUZA

Exemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros

Desenvolvimento de Aplicações Distribuídas

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA AGÊNCIA DE TRANSPORTES INTERNACIONAIS

INTRODUÇÃO. RPC x RMI

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados

www/~cagf/sdgrad Serviço de Nomes CORBA e Interoperabilidade de ORBs

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

Modelo de Componentes CORBA

Repositórios de Implementações e Binding. Chamada Remota de Métodos

Sistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21

Programação Distribuída. Metas de um Sistema Distribuído

3 Tecnologias Relacionadas

3 Kaluana Arquitetura

4 ALBATROZ : Um ambiente para desenvolvimento de SMA

3 Uma Arquitetura Distribuída via WEB

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

Tópicos em Sistemas Distribuídos CORBA

SISTEMAS DISTRIBUIDOS

GRUPO: Rafael Igor Vanderlei Vieira

Análise e projeto de sistemas

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Introdução a Web Services

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos

3 A Infra-estrutura CSBase

Cliente. Servidor. Núcleo do ORB. Depende do adaptador Interface proprietária. Independe de ORB Depende das definições IDL.

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

Sérgio Koch Van-Dall

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

por parte dos usuários dos sistemas de computação se tornou menos necessária e a popularidade desse tipo de linguagem diminuiu. Mais recentemente, a

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.

Desenvolvimento de Aplicações Distribuídas

Projeto de Linguagem. Linguagens de Programação

3 Trabalhos relacionados

Máquina Y. O que parece acontecer. O que acontece na verdade. Cliente. chama Objeto CORBA. objref. envia requisição. Cliente. Servidor.

Objetos e Componentes Distribuídos: EJB

7.1 Trabalhos Relacionados

5 Implementação Desenvolvimento do VideoCVS

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

Aspectos para Construção de Aplicações Distribuídas

SISTEMA DE APOIO AO COORDENADOR DO SIMULADOR DE EMPRESAS VIRTUAL UTILIZANDO A TECNOLOGIA CORBA

ANÁLISE COMPARATIVA ENTRE AS ESPECIFICAÇÕES DE OBJETOS DISTRIBUÍDOS DCOM E CORBA UTILIZANDO O AMBIENTE DE DESENVOLVIMENTO DELPHI

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Avanços e Perspectivas do Projeto Integrade na UFMA

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

TECNOLOGIAS DE SISTEMAS DISTRIBUÍDOS IMPLEMENTADAS EM JAVA: SOCKETS, RMI, RMI-IIOP E CORBA

Serviço de Nomes CORBA. Serviço de Nomes CORBA e Interoperabilidade de ORBs. Serviço de Nomes CORBA. Serviço de Nomes CORBA. Serviço de Nomes CORBA

Projeto. Observatório Nacional de Clima e Saúde

CBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013

FIGURA 59 Interação entre componentes da plataforma CrystalWalk. Fonte: do autor.

Introdução à Análise e Projeto de Sistemas

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Sistemas Distribuídos

Padrões. Arquitetura de Software Thaís Batista

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos

SIST706 Sistemas Distribuídos

Metadados. Repositório de Interfaces em CORBA

Uma Introdução ao CORBA

Programação Orientada a Objetos

UM AMBIENTE PARA O DESENVOLVIMENTO DE APLICAÇÕES ORIENTADAS À CONFIGURAÇÃO

6 Conclusão Contribuições da Dissertação

Protótipo de um Agente SNMP para uma rede local utilizando a plataforma JDMK

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

INF1013 MODELAGEM DE SOFTWARE

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Java RMI Remote Method Invocation

Análise de Sistemas. Aula 5

UML Unified Modeling Language Linguagem de Modelagem Unificada

Sistemas Distribuídos

Comunicação Objetos Distribuídos e RMI

Capítulo 3. Conceitos Básicos 26

3.1 Reflexão Computacional

UTILIZAÇÃO DE TECNOLOGIAS MODERNAS PARA CADASTRAMENTO DAS FAMÍLIAS DA ATENÇÃO BÁSICA DE SAÚDE DO MUNICÍPIO DE COARI

UMA INFRA-ESTRUTURA BASEADA EM FT-CORBA PARA O DESENVOLVIMENTO DE APLICAÇÕES DISTRIBUÍDAS CONFIÁVEIS

Transcrição:

Prof. Me. Sérgio Carlos Portari Júnior

Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade de hardware, sistemas operacionais, linguagens de programação, protolocos de comunicação, arquiteturas de computadores e diferentes formas de se representar dados.

Para resolver esses problemas, percebeu-se a necessidade de se ter transparência de localização de recursos computacionais, suporte universal de representação de dados, interoperabilidade entre componentes de uma aplicação distribuída, reutilização de componentes, integração de código.

O modelo de arquitetura CORBA propõe a interoperabilidade local e/ou remota entre aplicações que têm como base a tecnologia orientada a objetos. Com isso, é possível permitir que objetos de sistemas distribuídos comuniquem-se de forma transparente, independentemente do local onde se encontram, do protocolo que utilizam, da linguagem em que foram implementados, da plataforma e do sistema operacional em que estão rodando

Common Object Request Broker Architecture (CORBA) ou Arquitetura Comum de Agente de Requisição de Objetos. Trata-se de um padrão proposto pela Object Manager Group (OMG), uma organização internacional da indústria de software que estabeleceu uma estrutura comum para o gerenciamento de objetos distribuídos, conhecida como Object Manager Architecture (OMA) Arquitetura de Gerência de Objetos.

Seus principais componentes são: Núcleo do CORBA o Object Request Broker (ORB) - manipulam as requisições dos objetos. Um intermediário entre o cliente e o servidor (objeto). Serviços CORBA - definem serviços que ajudam a gerenciar e a manter objetos. Exemplo: serviço de nomes, eventos, ciclo de vida, tempo, persistência, etc.

Facilidades CORBA - definem facilidades e interfaces no nível de aplicação, manipulação de dados e armazenamento. Objetos de aplicação - são os objetos que podem ser considerados visíveis ao nível de aplicação.

Para cada sistema de rede o CORBA permite que seja definida uma Linguagem de Definição de Interface (IDL). Essas interfaces descrevem os serviços que são oferecidos. Trata-se de uma linguagem puramente declarativa, que ao ser compilada irá gerar o stubs e o skeletons (responsável pela comunicação entre objetos). Desta forma, a aplicação cliente pode acessar facilmente todos os serviços oferecidos.

Além disso, o CORBA inclui uma estrutura de execução, fornecendo diversas funcionalidades básicas importantes como localização e ativação automática de serviços, comunicação, controle de transações e segurança. Em linhas gerais, a arquitetura CORBA é composta pelos seguintes componentes :

Do lado do cliente, temos os seguintes itens: Stubs Clientes - trata-se de uma interface estática gerada através da compilação de uma IDL. Compõe uma mensagem que contém uma identificação e protótipos dos métodos invocados a um servidor. Interface de Invocação Dinâmica (DII) - permite que o cliente invoque um método no servidor sem que tenha conhecimento, em tempo de compilação, de sua interface. Repositório de Interfaces - contém uma base de dados com a definição de todas as interfaces de serviços conhecidos pelo ORB.

Do lado do objeto CORBA servidor, temos os seguintes itens: Skeletons - interface estática para os serviços (métodos) remotos. É responsável por receber as requisições do cliente e repassá-las para o servidor. Interface de Skeletons Dinâmica (DSI) - é semelhante ao DII, porém ocorre no lado do servidor. Fornece um mecanismo que permite, em tempo de execução, que servidores entreguem requisições de um ORB para uma implementação de objeto sem que tenha conhecimento, em tempo de compilação, de sua interface; Repositório de Implementação - é um repositório, em tempo de execução, para as classes que um servidor suporta, os objetos instanciados e suas identificações;

Adaptador de Objetos (OA) - responsável por: registrar as classes servidoras no repositório de implementação; instanciar os objetos chamados em tempo de execução, de acordo com a demanda dos clientes; receber as chamadas para os objetos e repassá-las aos mesmos; gerar e gerenciar as referências de objetos (ORB). Interface ORB - permite o acesso às funcionalidades não oferecidas pelas demais interfaces, pois não depende da interface do objeto ou do adaptador do objeto.

A IDL é uma linguagem neutra de especificação de interfaces, usada no desenvolvimento de objetos servidores para a declaração dos métodos ou serviços. A descrição IDL de um componente/objeto CORBA estabelece uma relação contratual entre este e seus cliente e servidor, definindo a interface pela qual estes poderão interagir, no entanto sem fixar detalhes de implementação dos objetos.

Ela é independente de linguagem de programação (C++, Java, Smalltalk,...). Atualmente oferece uma série de mapeamentos como C, C++, Ada, Smalltalk, COBOL e Java. Em particular, a IDL é usada para especificação de: atributos de componentes; classes pais (herança); exceções; eventos tipados (sinais).

A sintaxe da IDL pode ser caracterizada como um subset de C++ mais diversas palavras chaves para programação distribuída. A estrutura geral de um arquivo IDL é ilustrada a seguir: module <identificador> // define um escopo de nomes, equivalente // a namespaces em C# ou packages em Java

{ <declarações de tipos de dados>; <declarações de constantes>; <declarações de exceções>; interface <identificador> [:<herança pcional>] { <declarações de tipos de dados>; <declarações de constantes>; <declarações de exceções>;

[<tipo>] <identificador de método> (<parâmetros>) [raises <exception>] [context];.. [<tipo>] <identificador de método> (<parâmetros>) [raises <exception>] [context];.. }