CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos

Tamanho: px
Começar a partir da página:

Download "CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos"

Transcrição

1 CORBA Common Object Request Broker Architecture Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos

2 Introdução OMG (Object Management Group): uma organização formada por empresas de diferentes ramos da informática que trabalham sem fins lucrativos, para promover a criação e elaboração de modelos e padrões que proporcionem a interoperabilidade entre aplicações que usam tecnologia OO. Criou a arquitetura CORBA

3 O que é CORBA? CORBA (Common Object Request Arquitecture Broker) Padrão proposto pela OMG Estrutura comum para o desenvolvimento utilizando técnicas de OO em redes heterogêneas Propõe a interoperabilidade local ou remota entre aplicações, independente das linguagens de programação em que foram desenvolvidas e sobre quais plataformas serão executadas

4 O que é CORBA? Objetivo: promover a intercomunicação de objetos distribuídos em uma rede de computadores, a fim de executar alguma tarefa Porém o CORBA é uma parte de uma outra tecnologia proposta pela OMG, chamado OMA (Object Management Architecture)

5 O que é CORBA? Composto por 4 componentes principais: ORB: define um barramento comum para troca de mensagens entre os objetos. Objetos de serviço: ampliam a funcionalidade do ORB e gerenciam os objetos Facilidades comuns: definem as interfaces no nível da aplicação. Objetos da aplicação: objetos utilizados pela aplicação do usuário final.

6 Arquitetura do Modelo de Referência

7 Modelo de Objetos Objetos distribuídos CORBA são pequenas partes de um sistema maior Essas partes estão distribuídas na rede e podem ser acessados por métodos de invocação Objetos clientes podem ser remotos ou não

8 Semântica dos Objetos Principal característica: disponibilizar serviços a um determinado cliente, onde este é qualquer entidade capaz de requisitar tais serviços. A seguir algumas semânticas que serão abordadas no corpo deste trabalho:

9 Semântica dos Objetos Objetos: entidade de identidades encapsuladas, com a capacidade de prover serviços aos clientes. Requisições: evento que pode ser utilizado por um cliente para solicitar um serviço de um determinado objeto. Nesta operação, deve conter informações do tipo da operação executada, o objeto alvo, zero ou mais parâmetros e alguns textos adicionais para a requisição. Formulário de requisição: descrição ou padrão que podem ser avaliados ou executados em vários tempos para provocar uma emissão de pedido; Valores: algo que pode ser legalmente utilizada como parâmetro em uma requisição; Referência a objetos: determinado valor que se relaciona especificamente a um determinado objeto.

10 Semântica dos Objetos Criação e destruição de objetos: objetos podem ser criados ou destruídos de acordo com as necessidades do pedido de um emissor. Tipos: identificação de uma entidade que possui características associadas ao seu valor. Os "tipos" são usados para restringirem a possibilidade de determinados parâmetros ou caracteres sejam apresentados como resultados. Tipos Básicos: 16 bits, 32 bits e 64 bits; precisão simples (32 bits), precisão dupla (64 bits); caracter; booleano; string; constantes. Tipos de Construções Possíveis: Tipo seqüência; tipo matriz; tipo interface; tipo record. Interfaces: um conjunto de operações que podem ser requeridas por um cliente satisfazendo suas necessidades.

11 Semântica dos Objetos Operações Entidade identificadora que denota os serviços que podem ser requeridos e identificados por um identificador de operações. As informações necessárias para sua ativação (envio de parâmetros, retorno de resultados, tratamento de exceções, semântica e informação de contextos) são relacionadas em sua assinatura. Na especificação CORBA, as "operações" são tratadas de forma genérica.em outras palavras, a mesma operação para vários objetos de diferentes características. Isso é possível, pois há uma total desvinculação dos detalhes da implementação de uma interface e também porque há utilização de herança.

12 Semântica dos Objetos Parâmetros: valores necessários para a execução de uma determinada operação, dados no momento da requisição de um determinado serviço. Os parâmetros se caracterizam por: Modo: sentido que flui a informação representada pelo parâmetro, referenciando-se sempre com o servidor, podendo ser in, out, inout. Tipo: está relacionado aos possíveis valores que podem ser transmitidos por meio desse parâmetro. Valor de Retorno: parâmetro out especial que tem como finalidade simplesmente transmitir, quando necessário, o resultado de uma operação. Exceções: indicam que uma requisição a uma operação não foi executada corretamente. Em outras palavras, ocorreu um erro durante a prestação de um determinado serviço. Os tipos de erros que podem ocorrer ou estão ligados ao sistema propriamente dito ou a própria implementação do objeto que provê tal serviço desejado. Contextos: informações adicionais e especiais, diferenciando-se dos valores dos parâmetros tradicionais. Entretanto, apesar de serem valores especiais, estes podem afetar no resultado de uma operação.

13 Semântica dos Objetos Semânticas de execuções: existem duas formas de se executar uma operação: No máximo uma: se uma determinada operação foi executada com sucesso, é por que a mesma fora executada uma única vez, com sucesso. Outra possibilidade: havendo a emissão de uma exceção, significa dizer que a operação fora executada apenas uma vez e fora possível, nesta única execução da operação, alcançar o resultado desejado. Melhor Esforço: não é esperado, pelo cliente, nenhum tipo de resultado da operação, por isso o cliente não precisa ficar ocioso por uma resposta. Para que um cliente nunca fique esperando por um resultado de uma operação que nunca virá, as informações necessárias sobre a semântica da execução estão anexadas pela assinatura, garantindo assim que os clientes e servidores fiquem cientes da natureza da operação (no máximo uma melhor esforço)

14 Semântica dos Objetos Atributos: declarações feitas para permitir a manipulação de valores do objeto servidor. Um atributo equivale logicamente a declaração de funções de acesso (uma para receber o valor do atributo e outra para escolher o valor do atributo). Entretanto um atributo pode ser definido como só de leitura. Herança: conceito herdado do Paradigma de Orientação a Objeto, adotado e utilizado pela especificação CORBA. O CORBA permite utilizar herança para criar tanto novas interfaces como novos objetos. Ele implementa múltipla herança, porém não é possível herdar de duas classes que tenham mesmo nome de operação ou de atributo. Não é possível alterar os nomes das operações ou atributos herdados nas classes derivadas, podendo apenas serem redefinidos nomes de tipos, constantes ou exceções. O CORBA ainda permite múltipla herança com metaclasses (metaclasse é uma classe de objetos criada em tempo de execução).

15 Arquitetura CORBA Repositório de Interfaces

16 Componentes da Arquitetura CORBA Clientes Toda entidade responsável por invocar uma determinada operação sobre uma implementação de objeto. Os detalhes utilizados para que seja feito esse acesso aos serviços de um determinado objeto é transparente e dispensável do conhecimento do cliente, precisando o mesmo apenas saber interagir com a interface do tal objeto. Essa invocação feita pelo cliente poderá ser feita utilizando-se o stub ou utilizando-se um conjunto de rotinas de invocações feitas dinamicamente através da interface DII

17 Componentes da Arquitetura CORBA Implementação de Objetos Operações que podem ser implementadas em uma interface ORB IDL. Tem informações de objetos, como dados internos, os códigos de seus métodos e seus respectivos procedimentos de ativação e desativação determinados na criação do objeto.

18 Componentes da Arquitetura CORBA ORB Interface ORB Stub Skeleton Interface de Invocação Dinâmica (DII) Interface de Esqueleto Dinâmico (DSI) Adaptador de Objeto

19 ORB - Object Request Broker Middleware da especificação CORBA Uma das partes mais importantes do CORBA Componente que define o barramento comum, criado para facilitar a comunicação entre objetos Permite que objetos façam, de forma transparente, requisições a objetos que podem estar localizados localmente ou remotamente O usuário não precisa se preocupar onde tal objeto está localizado, em que sistema operacional ele roda ou qual programa foi usado para desenvolvê-lo.

20 ORB - Requisições É um pedido feito pelo cliente ao ORB Componentes de uma requisição: Referência ao Objeto: identifica o objeto desejado Operação: identifica qual a operação deve ser executada Parâmetros: dados necessários para a execução da operação;

21 ORB - Requisições Quando um cliente invoca uma operação, a ORB fica responsável por encontrar a implementação do objeto, sua ativação e se necessário, entregar a requisição ao objeto e retornar qualquer resposta a quem o invocou. O cliente faz uma requisição Com isso, invoca ou cria uma rotina do Stub. A implementação do objeto não precisa saber o tipo de método de invocação foi utilizado O pedido é repassado para o ORB que fica responsável em encontrar a implementação do objeto, para então transmitir os parâmetros e o controle para essa implementação, tudo isso utilizando um Skeleton IDL específico da interface e através do adaptador de objetos Então, a implementação do objeto acessa o ORB através de um adaptador de objetos, retornando para o cliente o resultado da operação

22 ORB - Referência a objetos Para um cliente realizar uma requisição a um objeto, precisa ter uma referência ao mesmo, é importante dizer que cada objeto possui uma identificação única. Existem várias maneiras de se obter uma referência a objeto: Criação de Objetos: o CORBA cria objetos. Os objetos são criados por meio de invocações sobre objetos-fabricas, localizados no servidor de objetos. Essa operação gera uma referência ao objeto criado. Serviço de Diretório: é permitido ao cliente invocar um determinado tipo de serviço de procura, para que possa achar referências a objetos. Conversão de Referência em String e Vice-Versa: permite a conversão de uma referência a objeto em uma string, podendo a mesma futuramente ser recuperada e ser transformada novamente em referência a objeto.

23 ORB Os serviços restantes que fazem do ORB um middleware, estão relacionados aos serviços a nível de sistemas, que oferecem outros tipos de serviços como: segurança, persistência entre outros. O ORB ainda apresenta algumas deficiências: falta de mecanismos de controle de concorrência, de balanceamento de carga e de coleta de lixo Não se dispõe de servidores de tolerância a falhas, o que é feito para uma maior confiabilidade é a replicação de objetos. não trabalham com produtos "chaves" das empresas de hoje, que são justamente monitores de processamento de transações, sistemas de banco de dados orientados a objetos e nem relacionais, dificultando assim a integração do ORB ao ambiente cliente/servidor já existente nas empresas.

24 Invocações Processo de se chamar um método para que seja feito um acesso a um serviço de um objeto Três formas de invocações existentes no CORBA: Invocação Síncrona: o cliente fica travado esperando o resultado Invocação Síncrona Deferida: o cliente pode executar outras chamadas e posteriormente receber os seus resultados. Invocação ONEWAY: é usada pelo cliente quando não necessita de resultado, ficando livre para continuar seu processamento. Dois diferentes tipos de processos de invocações: Estática e Dinâmica

25 Invocação Estática Gerada diretamente em um formulário do stub, e compilada pelo compilador IDL O cliente está ciente de quais objetos e métodos estão disponíveis além de ter todas as interfaces do sistema já definidas. É bom para programas que na hora de compilar a invocação, sabem quais as operações que vão precisar usar.

26 Stubs Estão localizados no lado do cliente Promovem interfaces estáticas para criar e enviar requisições aos serviços desejados São gerados a partir da compilação da interface do cliente. Quando um cliente deseja chamar um método de um objeto, basta apenas indicar qual o objeto que deseja O stub que receber essa chamada, localiza o objeto desejado, transforma a chamada para que possa ser enviada pela rede e a transmite para o ORB A comunicação entre o stub e o ORB se dá por meio de interfaces privadas.

27 Skeletons Executam função similar ao Stub do cliente, no "lado" do servidor. Tem como função encontrar os serviços que são solicitados pelo Stub. O Skeleton receberá na sua criação o "pacote" do ORB, e irá descompactá-lo e envia-lo para a implementação do objeto A requisição será recebida pelo objeto que irá executá-la, havendo alguma resposta, esta será enviada de volta ao cliente O fato de existir um Skeleton, não implica em dizer que existe um Stub do outro lado, pois a invocação a ele pode ser feita de forma dinâmica

28 Passos para Invocação Estática Definição da classe de objetos usando IDL; Execução do arquivo IDL através de um compilador Adicionamento do código de implementação para o skeleton Compilação do código Ativação das definições da classe através do Repositório de Interfaces Instanciação do objeto no servidor Registro em tempo de execução do objeto no Repositório de Interfaces.

29 Invocação Dinâmica Caracterizam-se por permitir que programa/clientes possam dinamicamente construir e invocar requisições a objetos. Todas as informações necessárias para que o cliente possa realizar o processo de invocação, são encontradas no Repositório de Interfaces. Surgiram da necessidade de se eliminar o problema que ocorria quando se necessitava inserir um novo objeto. Era preciso parar todo o sistema para que ele pudesse ser recompilado Com as invocações dinâmicas é possível adicionar um novo objeto em tempo de execução sem a necessidade de parar o sistema para tal.

30 Interface de Invocação Dinâmica DII permite descobrir ou construir dinamicamente uma invocação a um objeto, permitindo a inclusão do mesmo sem que seja necessário um conhecimento prévio de quais objetos ou métodos estão disponibilizados. O cliente não precisa utilizar o Stub, os parâmetros são todos checados em tempo de execução e não de compilação. Para se executar esse tipo de invocação, é necessário: Identificar o Objeto Alvo; Pegar a interface do Objeto ; Construir uma invocação ou chamada; Invocar a requisição e receber o resultado (quando houver).

31 Interface de Invocação Dinâmica Permite que o cliente realize operações de envio e recebimento de forma separada e também operações unidirecionais. Um ponto de desvantagem da invocação dinâmica, é que acarreta um maior tráfego na rede, já que necessita realizar acessos adicionais ao Repositório de Interfaces, além do fato de que verificar os parâmetros em tempo de execução prejudica também um pouco o sistema.

32 Interface Skeleton Dinâmica DSI - trabalha de forma similar ao DII, para os objetos servidores Permite que novos objetos servidores sejam criados sem a necessidade de se usar os Skeletons Funcionamento de uma DSI: o ORB passa a chamada ao DSI Essas chamadas possuem informações sobre o objeto chamado e a operação solicitada Essas informações são acessadas no Repositório de Interface e nos Adaptadores de Objetos. Apesar de ser dinâmica, é capaz de receber invocações tanto estáticas como dinâmicas Uma vantagem é que a DSI é muito útil para a implementação de pontes genéricas (um mesmo padrão) na ligação entre ORB s.

33 IDL e Interfaces Interface é um conjunto de informações dos objetos que são disponibilizadas aos demais Utilizando para isso uma mesma linguagem (IDL) Com a finalidade de permitir a interação de um conjunto de objetos de naturezas diferentes Sem que seja necessário se preocupar com detalhes individuais da implementação de cada objeto.

34 IDL e Interfaces Devem utilizar uma linguagem que seja puramente declarativa, gerando apenas declarações e não códigos IDL - é a linguagem adotada pela OMA para especificar toda a sintaxe de todas as interfaces

35 Repositório de Interfaces É utilizado pela IDL para armazenar todas as definições dos objetos Deve estar sempre disponível tanto ao cliente como ao ORB e às implementações permite a descoberta das informações de tipo em tempo de execução É um excelente suporte para as invocações dinâmicas

36 Adaptador de Objetos Faz o papel intermediário na comunicação entre os objetos e o ORB, ajudando na entrega de requisições às implementações dos objetos e na ativação desses objetos Necessário devido a grande diversidade de implementação de objetos. Serviços Oferecidos: Registros de Implementações de Objetos : utilizado na localização da implementação do objeto Geração de Referência a Objetos Capacidade de Invocações(em auxílio com o Skeleton) Ativar ou Desativar uma Implementação de Objeto Segurança das Interações: junto com o ORB deve garantir a entrega das requisições por meio de conexões múltiplas sem bloquear nenhuma dessas conexões.

37 Adaptador de Objetos BOA (Basic Object Adapter): Adaptador de objetos genéricos, incluso na especificação CORBA. Podem ser desenvolvidos adaptadores especializados para determinada especificação. Os adaptadores especializados seriam apenas complementares ao BOA, realizando pequenas tarefas. Porém, acabaram por ser utilizados também para suprir as deficiências do BOA.

38 Funcionamento do Adaptador de Objetos O ORB recebe uma requisição para um objeto e verifica se o servidor esta ativo ou não; Ativa o servidor, caso não esteja, e passa para o mesmo todas a informações necessárias para a comunicação com o BOA; O servidor envia uma mensagem para o BOA comunicando que está tudo pronto para interagir com ele; O BOA passa a referência ao objeto para a rotina de ativação do objeto desejado, para que seja possível a sua ativação pelo servidor; O BOA passa a invocação para o objeto, utilizando-se do Skeleton, e no momento que receber a resposta, a repassa para o cliente;

39 Funcionamento do Adaptador de Objetos Se o BOA receber algumas chamadas adicionais sobre esse determinado objeto, ele (BOA) passará novas invocações ao objeto, entretanto o BOA pode receber novas chamadas, mas agora para um outro objeto, nesse caso ele precisará passar a referência ao objeto para a rotina de ativação do objeto, o servidor ativa esse objeto e depois é feita a invocação a esse outro objeto; O servidor pode precisar desativar um objeto, para isso ele envia uma mensagem ao BOA comunicando que o objeto "x" será desativado; O servidor pode também precisar se desativar, nesse caso, também enviará uma mensagem ao BOA comunicando-o do fato.

40 Adaptador de Objetos De acordo coma especificação OMG, podem ser empregadas 4 políticas para a ativação de uma implementação de objeto pelo adaptador de objetos: Política Compartilhada de Servidor: permite que objetos múltiplos possam ser executados no mesmo programa; Política Não-compartilhada de servidor: objetos múltiplos não podem ser executados no mesmo programa; Política de Servidor por Método: política onde um servidor é ligada toda vez que é recebida uma requisição; Política de Servidor Persistente: o servidor fica sempre ativo.

41 Interoperabilidade Com o avanço da tecnologia CORBA, foram surgindo no mercado ORB s de diferentes fabricantes. Com isso, surgiu a necessidade de tratar a interoperabilidade entre esses ORB s. A questão não era apenas diferentes implementações dos ORB s, mas também envolvia a segurança na comunicação e a disponibilização de um ambiente confiável de "teste" para os produtos que ainda estavam sendo desenvolvidos.

42 Interoperabilidade CORBA 2.0: criação de domínios. Um determinado objeto pode fazer parte de mais de um domínio, desde que satisfaça a todos os seus requisitos. Limite de um domínio: limite de um escopo no qual uma determinada característica tem algum significado. Como exemplos de domínios, podemos citar os escopos: de uma referência de objetos; de uma sintaxe de transferência de mensagens; de um endereço; de uma mensagem de rede; de uma política de segurança; de um identificador de tipos; de um serviço de transações qualquer, etc. Interoperabilidade só será possível através de uma perfeita conexão de domínios.

43 Pontes Fazem a conexão entres os objetos de diferentes domínios. Devem ser capazes tanto de fazer a comunicação de domínios que se baseiam em uma mesma implementação quanto domínios que se baseiam em implementações diferentes. Podem trabalhar de duas maneiras: Imediata(Direta) ou Mediada (Indireta).

44 Pontes Imediatas(Diretas) Boa velocidade de comunicação Menos geral, pois as requisições são transformadas diretamente da forma interna de um ORB para a forma interna do outro, daí o nome Diretas.

45 Pontes Mediadas(Indiretas) Há um tradutor na extremidade de cada domínio A requisição, através do tradutor do ORB, é traduzida da forma interna do ORB que a está transmitindo para um padrão comum entendido por todos os tradutores da rede. Após a tradução, a requisição é enviada até o tradutor do ORB destinatário, onde o mesmo irá traduzir desse padrão comum para a forma interna de seu ORB. Mais lenta que a Ponte Imediata.

46 Pontes Além dessas duas classificações para a forma de comunicação entre os domínios, ainda podem ser aplicadas mais duas: Ligações em Linha: quando são implementadas do interior do ORB. Pode ser feita por meio de um requerimento ao ORB para o fornecimento de serviços adicionais, ou por meio de introdução de códigos adicionais no stub e skeleton. Ligações de Nível de Requisição: quando são implementadas em camadas superiores ao ORB.

47 GIOP Para que as pontes se tornassem operáveis, foi especificado GIOP (General Inter-ORB Protocol), um padrão que atende às premissas (especificando formato das mensagens e uma representação comum para os dados) e permite a interligação ORB-para-ORB, além de ser capaz de trabalhar sobre qualquer protocolo de transporte. Foi adotado o TCP/IP como protocolo de transporte padrão. Com isso surgiu o IIOP (Internet Inter-ORB Protocol).

48 IIOP Especifica como as mensagens de padrão GIOP são transmitidas por meio de uma rede TCP/IP. O IIOP possibilita o uso da própria internet como backbone entre os ORB s. O IIOP provê interoperabilidade também entre ORB s compatíveis ao padrão CORBA. A especificação de interoperabilidade da OMG definiu também o ESIOP (Environment-Specific Inter-ORB Protocol), como um conjunto de protocolos que permitem a interoperabilidade entre implementações baseados em GIOP, mas que utilizam protocolos proprietários de transportes.

49 Segurança São implementados alguns serviços para garantir a segurança da transmissão das requisições, a saber:

50 Segurança - Autenticação Identificador único, que permite ao cliente acessar qualquer servidor em qualquer lugar. A autorização se procede a partir de um simples logon, que pega a autenticação e lhe oferece um conjunto de opções de segurança para a comunicação. Para uma maior segurança, nenhum password é armazenado no login script do cliente. Após feita a autenticação de um cliente em um determinado ORB da rede, o mesmo (ORB) se encarrega de propagar a autenticação por todo o resto da rede.

51 Segurança - Autorização Após feita a autenticação do cliente, os servidores de objetos ficam encarregados de verificar quais operações podem ser feitas por aquele determinado cliente. Para tal, os servidores usam as ACLs que contém uma lista de nomes e suas respectivas operações que podem ser executadas pelos mesmos. É possível implementar várias políticas de ALC, podendo ser implementadas tanto pelo ORB como pelos servidores de objetos.

52 Segurança Audit, Criptograia, Non-Reputdiation Audit Serviço que monitora todos os eventos que ocorrem no ORB, incluindo logons de clientes, quais objetos estão sendo usados e com quais servidores. Considerado como parte fundamental na segurança, pois tem a capacidade de detectar possíveis intrusos. Criptografia Non-Reputdiation "guardas eletrônicos" que protegem todas as partes no sistemas de possíveis falsos pedidos de requisições.

53 Vantagens na utilização de CORBA Vantagens na utilização de CORBA, e outras arquiteturas de objetos distribuídos Os programadores não precisam mais se preocupar com os detalhes de programação de baixo nível de rede, já que o nível de aplicação desse protocolo é apresentado como métodos de objetos definidos pela IDL, que apresenta-se mapeado para todos os propósitos; Como o próprio nome já nos mostra, essa arquitetura absorve todos os conceitos de orientação a objetos existentes; Com a utilização de applets, é possível acessar diretamente o conteúdo desejado, não necessitando assim de um browser intermediário na comunicação;

54 Vantagens na utilização de CORBA A utilização de múltiplos threads permite a elaboração de ricas apresentações e possibilita aos servidores web atenderem vários clientes ao mesmo tempo; O cliente pode criar um objeto e pedir que o mesmo referencie o servidor, sem precisar verificar no mesmo se algum evento ocorreu. Assim, o servidor apenas chamará o cliente quando o evento ocorrer. A arquitetura CORBA utiliza o JAVA para acessar os clientes web.

55 Implementações CORBA ORBIX VisiBroker oker/

56 Referências ba/

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

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and

Leia mais

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

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

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

Leia mais

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Objetos Distribuídos Graça Bressan Graça Bressan/LARC 2000 1 Objetos São entidades de software que encapsulam dados, ou atributos, e código e que são acessados através de funções ou métodos.

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

Leia mais

Computational viewpoint. Engineering Viewpoint

Computational viewpoint. Engineering Viewpoint Processamento Paralelo RM-ODP Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/0 - INF02799 RM-ODP Reference Model for Open Distributed Processing Contém conceitos para a especificação de sistemas

Leia mais

Usando Borland DELPHI para implementar aplicações CORBA

Usando Borland DELPHI para implementar aplicações CORBA Página 1 de 10 USANDO BORLAND DELPHI PARA IMPLEMENTAR APLICAÇÕES CORBA por Simone Vey Dutra e César Bridi Introdução A Arquitetura CORBA Criando uma Aplicação CORBA em Delphi Criando um Servidor CORBA

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais

SISTEMA DISTRIBUÍDO COM O PADRÃO DE ARQUITETURA CORBA

SISTEMA DISTRIBUÍDO COM O PADRÃO DE ARQUITETURA CORBA LEONARDO LINCOLN BIANCHETTI SISTEMA DISTRIBUÍDO COM O PADRÃO DE ARQUITETURA CORBA Trabalho de conclusão de curso apresentado ao Curso de Ciência da Computação. UNIVERSIDADE PRESIDENTE ANTÔNIO CARLOS Orientador:

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

Padrões Arquiteturais. Sistemas Distribuídos: Broker

Padrões Arquiteturais. Sistemas Distribuídos: Broker Padrões Arquiteturais Sistemas Distribuídos: Broker Sistemas Distribuídos Tendências: Sistemas Comp. com múltiplas CPUs Redes locais com centenas de hospedeiros Benefícios Economia Desempenho e escalabilidade

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Padrões de Projeto Implementados em Infraestrturas de Componentes

Padrões de Projeto Implementados em Infraestrturas de Componentes Padrões de Projeto Implementados em Infraestrturas de Componentes Paulo Pires paulopires@nce.ufrj.br http//genesis.nce.ufrj.br/dataware/hp/pires 1 distribuídas baseadas em componentes Comunicação transparente,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Desenvolvimento Cliente-Servidor 1

Desenvolvimento Cliente-Servidor 1 Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados

Leia mais

RMI: Uma Visão Conceitual

RMI: Uma Visão Conceitual RMI: Uma Visão Conceitual Márcio Castro, Mateus Raeder e Thiago Nunes 11 de abril de 2007 Resumo Invocação de Método Remoto (Remote Method Invocation - RMI) trata-se de uma abordagem Java para disponibilizar

Leia mais

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA SUMÁRIO Introdução Comunicação entre objetos distribuídos Eventos e Notificações 1.INTRODUÇÃO Middleware oferece: Transparência de localização Independência de protocolos

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Arquiteturas de Sistemas Distribuídos

Arquiteturas de Sistemas Distribuídos Arquiteturas de Sistemas Distribuídos Sistema distribuído O processamento de informações é distribuído em vários computadores ao invés de confinado em uma única máquina. Bastante comum em qualquer organização

Leia mais

O modelo de arquitetura CORBA e suas aplicações

O modelo de arquitetura CORBA e suas aplicações ABR. MAI. JUN. 2004 ANO X, N º 37 157-163 INTEGRAÇÃO 157 O modelo de arquitetura CORBA e suas aplicações ANA PAULA GONÇALVES SERRA* Resumo Nos últimos anos, os sistemas de informação nas empresas têm evoluído

Leia mais

Arquitetura de Software e Atributos de Qualidade

Arquitetura de Software e Atributos de Qualidade Arquitetura de Software e Atributos de Qualidade Jair C Leite Requisitos e atributos de qualidade Requisitos Características, atributos, propriedades e restrições associadas ao software. Requisitos funcionais

Leia mais

3. Comunicação em Sistemas Distribuídos

3. Comunicação em Sistemas Distribuídos 3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

CORBA (Common Object Request Broker Architecture)

CORBA (Common Object Request Broker Architecture) CORBA (Common Object Request Broker Architecture) Sistemas Distribuídos Desafios para a realização de sistemas Distribuídos Exemplos de Sistemas Distribuídos CORBA Evolução Histórica OMA (Object Management

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

APOSTILA DE REDES DE COMPUTADORES PARTE - III

APOSTILA DE REDES DE COMPUTADORES PARTE - III APOSTILA DE REDES DE COMPUTADORES PARTE - III 1 REDE DE COMPUTADORES III 1. Introdução MODELO OSI ISO (International Organization for Standardization) foi uma das primeiras organizações a definir formalmente

Leia mais

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

Leia mais

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science (Tradução e Adaptação Ricardo Anido - IC/Unicamp) Capítulo 04: Comunicação Versão: 20 de março de 2014

Leia mais

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

Leia mais

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

O que são DNS, SMTP e SNM

O que são DNS, SMTP e SNM O que são DNS, SMTP e SNM O DNS (Domain Name System) e um esquema de gerenciamento de nomes, hierárquico e distribuído. O DNS define a sintaxe dos nomes usados na Internet, regras para delegação de autoridade

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

3 Propostas de Travessias de Firewalls/NAT

3 Propostas de Travessias de Firewalls/NAT 3 Propostas de Travessias de Firewalls/NAT Este capítulo irá apresentar as propostas deste trabalho para que aplicações que utilizem CORBA como plataforma de comunicação possam atravessar firewalls/nat.

Leia mais

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br JXTA Alessandro Vasconcelos Ferreira de Lima Roteiro Motivação Introdução Arquitetura de JXTA Elementos de JXTA Os Protocolos Comparações e Desvantagens Conclusão Motivação Limitações do Modelo Cliente

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado 5 Avaliação Decidimos avaliar a arquitetura de componentes para o OiL proposta neste trabalho em duas dimensões diferentes. Na primeira, demonstramos a capacidade de configuração do middleware com alguns

Leia mais

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 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

Leia mais

CAPÍTULO 5 CORBA 5.1 MODELO DE OBJETO

CAPÍTULO 5 CORBA 5.1 MODELO DE OBJETO CAPÍTULO 5 CORBA Um dos grandes problemas das empresas é, utilizando seus recursos de hardware e o software, integrar vários elementos de trabalho diferentes de maneira a resolver problemas de negócios

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

Segurança Internet. Fernando Albuquerque. fernando@cic.unb.br www.cic.unb.br/docentes/fernando (061) 273-3589

Segurança Internet. Fernando Albuquerque. fernando@cic.unb.br www.cic.unb.br/docentes/fernando (061) 273-3589 Segurança Internet Fernando Albuquerque fernando@cic.unb.br www.cic.unb.br/docentes/fernando (061) 273-3589 Tópicos Introdução Autenticação Controle da configuração Registro dos acessos Firewalls Backups

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

Leia mais

Cap 03 - Camada de Aplicação Internet (Kurose)

Cap 03 - Camada de Aplicação Internet (Kurose) Cap 03 - Camada de Aplicação Internet (Kurose) 1. Qual a diferença entre um Programa de computador e um Processo dentro do computador? R. Processo é um programa que está sendo executado em uma máquina/host,

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática /

Leia mais

1.264 Lição 16. Legado Middleware

1.264 Lição 16. Legado Middleware 1.264 Lição 16 Legado Middleware O que é o legado middleware? Cliente (interface do usuário, aplicativo local). Cliente (interface do usuário, aplicativo local). Como conectamos clientes e servidores?

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

Paradigma Cliente/Servidor

Paradigma Cliente/Servidor Paradigma Cliente/Servidor Mário Meireles Teixeira UFMA Departamento de Informática Dezembro, 2012 Comunicação em Sistemas Distribuídos! Os processos em um SD estão lógica e fisicamente separados. Precisam

Leia mais

Sistemas Cliente-Servidor

Sistemas Cliente-Servidor Sistemas Cliente-Servidor Disciplina Bancos de Dados II (INE 5616 2006-1) Curso de Sistemas de Informação Prof. Renato Fileto INE/CTC/UFSC 1 1 Cliente - Servidor Arquitetura cliente/servidor: Os servidores

Leia mais

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Sistemas Distribuídos 59. Sistemas Distribuídos 61. "Receive não-bloqueante:

Sistemas Distribuídos 59. Sistemas Distribuídos 61. Receive não-bloqueante: Comunicação entre processos! Memória Compartilhada: " os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Área Compartilhda!

Leia mais

Unidade 2.1 Modelos de Referência

Unidade 2.1 Modelos de Referência Faculdade INED Curso Superior de Tecnologia: Banco de Dados Redes de Computadores Disciplina: Redes de Computadores Prof.: Fernando Hadad Zaidan 1 Unidade 2.1 Modelos de Referência 2 Bibliografia da disciplina

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 1 Gustavo Reis gustavo.reis@ifsudestemg.edu.br - O que é a Internet? - Milhões de elementos de computação interligados: hospedeiros = sistemas finais - Executando aplicações

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas

Leia mais

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Aula II Prof. Rosemary Silveira F. Melo Arquitetura de Sistemas Distribuídos Conceito de Arquitetura de Software Principais elementos arquiteturais

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Computação Distribuída, Web Service - um estudo de caso

Computação Distribuída, Web Service - um estudo de caso CENTRO UNIVERSITÁRIO VILA VELHA CURSO DE CIÊNCIA DA COMPUTAÇÃO Diogo Francisco Sales da Silva Flávio Rodrigo Lovatti Computação Distribuída, Web Service - um estudo de caso VILA VELHA 2009 Diogo Francisco

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Definições Características Desafios Vantagens Desvantagens 2 Definições DEFINIÇÕES Um sistema distribuído é uma coleção

Leia mais

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009 Faculdade INED Unidade 2.1 Modelos de Referência Curso Superior de Tecnologia: Redes de Computadores Disciplina: Fundamentos de Redes Prof.: Fernando Hadad Zaidan 1 2 Bibliografia da disciplina Bibliografia

Leia mais

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente 1. Quais os componentes de um sistema cliente-servidor? Clientes e servidores 2. Na visão do hardware, defina o que é cliente e o que é servidor: Clientes. Qualquer computador conectado ao sistema via

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Este capítulo apresenta trabalhos relacionados ao problema da travessia de firewalls/nat por aplicações CORBA, alguns dos quais tiveram grande influência no desenvolvimento desta

Leia mais

Arquitetura Orientada a Serviço

Arquitetura Orientada a Serviço Arquitetura Orientada a Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society 1 SOA e Web Services SOA é um modelo

Leia mais

Conceitos de Segurança em Sistemas Distribuídos

Conceitos de Segurança em Sistemas Distribuídos Conceitos de Segurança em Sistemas Distribuídos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br 30 de novembro de 2011

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Aula 19-20: Arquitetura CORBA (continuação) Exemplo de cliente e servidor em CORBA Interfaces IDL Shape e ShapeList Exemplo de cliente e servidor

Leia mais

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback SMTP, POP, IMAP, DHCP e SNMP Professor Leonardo Larback Protocolo SMTP O SMTP (Simple Mail Transfer Protocol) é utilizado no sistema de correio eletrônico da Internet. Utiliza o protocolo TCP na camada

Leia mais