Heres Edison Valdivieso Tobar Neto DEFINIÇÃO DE UM MECANISMO DE COMUNICAÇÃO PARA AQUISIÇÃO DE MÍDIAS DISTRIBUÍDAS EM UMA REDE LOCAL

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

Download "Heres Edison Valdivieso Tobar Neto DEFINIÇÃO DE UM MECANISMO DE COMUNICAÇÃO PARA AQUISIÇÃO DE MÍDIAS DISTRIBUÍDAS EM UMA REDE LOCAL"

Transcrição

1 Heres Edison Valdivieso Tobar Neto DEFINIÇÃO DE UM MECANISMO DE COMUNICAÇÃO PARA AQUISIÇÃO DE MÍDIAS DISTRIBUÍDAS EM UMA REDE LOCAL Palmas 2003

2 Heres Edison Valdivieso Tobar Neto DEFINIÇÃO DE UM MECANISMO DE COMUNICAÇÃO PARA AQUISIÇÃO DE MÍDIAS DISTRIBUÍDAS EM UMA REDE LOCAL Monografia apresentada como requisito parcial da disciplina Prática de Sistemas de Informação I (Estágio) do curso de Sistemas de Informação, orientada pela Profª. M.Sc. Madianita Bogo e coorientada pelo Prof. M.Sc. Fabiano Fagundes Palmas 2003

3 HERES EDISON VALDIVIESO TOBAR NETO DEFINIÇÃO DE UM MECANISMO DE COMUNICAÇÃO PARA AQUISIÇÃO DE MÍDIAS DISTRIBUÍDAS EM UMA REDE LOCAL Monografia apresentada como requisito parcial da disciplina Prática de Sistemas de Informação I (Estágio) do curso de Sistemas de Informação, orientada pela Profª. M.Sc. Madianita Bogo e coorientada pelo Prof. M.Sc. Fabiano Fagundes Aprovado em Dezembro de 2003 BANCA EXAMINADORA Profª. M.Sc. Madianita Bogo Centro Universitário Luterano de Palmas Prof. M.Sc. Eduardo Kessler Piveta Centro Universitário Luterano de Palmas Prof. M.Sc. Fabiano Fagundes Centro Universitário Luterano de Palmas Palmas 2003

4 Há duas formas de passar pela vida: Uma é acreditar que não existe milagre. A outra é acreditar que todas as coisas são um milagre. (Albert Einstein)

5 AGRADECIMENTOS Agradeço única e exclusivamente a Deus pela minha vida e pela vida dos que de mim são próximos, pela força a mim concedida para que não desistisse nunca deste trabalho, embora quase o tenha feito. Agradeço principalmente por ter colocado na minha vida pessoas maravilhosas como meus pais e meus irmãos. Agradeço a Deus também, por permitir que eu conhecesse e contracenasse no palco da vida com pessoas como meu papito Fabiano, meu ex-papito Augusto e minha mamita Mádia, que muito me ensinaram sobre responsabilidade e perseverança, além de terem me dado muitíssimos e merecidos puxões de orelha. Também não posso deixar de agradecer a Deus, pelas outras pessoas, não menos importantes na minha vida, os meus amigos: Alessandro Pau Véi; Álvaro; Anderson; Aureliano; Bibiu; Brito; Chicão; Danilão; Devegili; Fran; Jansle; Jânio Jota-Erre; Kênia; Ludimila; Maikim; Marcus; Nalvinha (Minha namoradinha querida); Paraíso; Paulo; Pingas; Pivas; Polly; Tia Neida; Thilfa; Victor; Vivi; Xambioá; Zito, que de alguma forma direta ou indireta vieram a contribuir para a realização deste trabalho. Agradeço pelos bons professores e coordenadora do curso de Sistema de Informação, são eles responsáveis pelo altíssimo nível do curso e por grande parte dos meus conhecimentos adquiridos. E finalizando, agradeço a Deus também pelo término deste trabalho, pela minha aprovação e pela oportunidade de viver a cada dia um novo dia! Obrigado Senhor!

6 SUMÁRIO 1 INTRODUÇÃO REVISÃO DA LITERATURA APLICAÇÕES DISTRIBUÍDAS Java RMI (Remote Method Invocation) CORBA (Common Object Request Broker Architecture) DCOM (Distributed Common Object Model) SISTEMAS MULTIMÍDIA Características das mídias Tipos de Mídias Texto Gráficos Imagens Vídeos Áudio MATERIAL E MÉTODOS LOCAL E PERÍODO MATERIAIS Software Hardware Fontes Bibliográficas METODOLOGIA RESULTADOS E DISCUSSÃO DESCRIÇÃO DO PROJETO ARQUITETURA DO MECANISMO PROPOSTO TECNOLOGIA DO MECANISMO DE COMUNICAÇÃO FUNCIONAMENTO BÁSICO Cenários... 35

7 5 CONCLUSÕES CONSIDERAÇÕES FINAIS RECOMENDAÇÕES PARA TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS... 40

8 LISTA DE FIGURAS Figura 1: Arquitetura multicamadas dos sistemas distribuídos (RICCIONI, 2000) Figura 2: Arquitetura Java/RMI (RICCIONI, 2000) Figura 3: Principais elementos da arquitetura CORBA (TRINTA, 2000) Figura 4: Arquitetura de comunicação em CORBA (CARDOZO, 2002) Figura 5: Arquitetura de comunicação do DCOM (CARDOZO, 2002) Figura 6: Arquitetura de comunicação HTSPN Player/mídias Figura 7: Banco de Dados de controle das mídias Figura 8: Cenário de funcionamento do mecanismo de comunicação remota... 36

9 RESUMO Atualmente, presencia-se um crescimento na utilização de aplicações distribuídas e dos sistemas multimídia, juntamente com a popularização da Internet e das redes locais. Com as facilidades e mobilidade que as redes proporcionam e com as características de interação dos sistemas multimídia, surgiu uma nova fase de sistemas computacionais: a da utilização dos Sistemas Multimídia Distribuídos. O Laboratório de Multimídia e Hipermídia iniciou, no semestre de 2003/02, um projeto para um sistema de sincronização multimídia, no qual existe um módulo player, que possibilitará a exibição de arquivos multimídia distribuídos em uma rede. Para que o player possa copiar as mídias de máquinas remotas, é necessária a existência de um mecanismo de comunicação distribuída. Assim, esse trabalho apresenta a proposta de um mecanismo para a troca de mensagens remotas, descrevendo o seu funcionamento básico e os componentes a serem implementados. Além disso, serão apresentadas tecnologias para a comunicação remota entre esses componentes, sendo sugerida uma delas para a implementação do mecanismo proposto. Palavras chave: Sistemas Multimídia Distribuído, CORBA, JRMI, DCOM.

10 ABSTRACT Currently, is perceived an increase in use of distributed applications and the multimedia systems, together with the use of the Internet and local networks. With the easiness and mobility that the networks provide and the interaction characteristics of multimedia systems, appeared a new phase of computational systems: the use of Distributed Multimedia Systems. The Multimedia e Hypermedia Laboratory began, in 2003/2, a project of a multimedia synchronization system, it has a player component that will make possible the execution of distributed medias files in a network. So, the player component can copy the medias from remote machines, it needs to have a distributed communication mechanism. Thus, this work presents the proposal of a mechanism for the remote messages passing, describing its basic functioning and the components to will implemented. Moreover, this work presents technologies for remote communication between these components, being indicated one of them for the proposal mechanism implementation. Keywords: Distributed Multimedia Systems, CORBA, JRMI, DCOM.

11 10 1 INTRODUÇÃO As aplicações distribuídas vêm aumentando o número de adeptos a essa tecnologia, o que faz com que ela se torne uma área muito procurada pelas empresas de softwares no que se refere a pesquisas e desenvolvimento. Outra tecnologia que já vem ganhando espaço há algum tempo é a dos sistemas multimídia, devido as suas características de estímulo audiovisual, dinamismo de conteúdo e provimento de interação com o usuário final. Atualmente, vários sistemas utilizam essas duas tecnologias a fim de conseguir maior sucesso entre os usuários. Esses novos tipos de sistemas que, além de possibilitar a distribuição dos módulos em diversos computadores, permitem prover conteúdo multimídia, são chamados de Sistemas Multimídia Distribuídos. Como prova de que estão conseguindo atingir o usuário de informática, pode-se citar os comunicadores (bate-papos), ferramentas de videoconferência, trabalho em grupo e compartilhadores de arquivos. O Laboratório de Multimídia e Hipermídia do curso de Sistemas de Informação do Centro Universitário Luterano de Palmas, atualmente, está trabalhando em um projeto de edição e apresentação de mídias, denominado Editor e Player de Sistemas Multimídia Corretamente Sincronizados, que além de vários outros, contém um módulo chamado HTSPN Player, o qual é responsável por exibir conteúdo multimídia de forma sincronizada, utilizando para isso Redes de Petri. O módulo do player deve prover, num futuro próximo, possibilidade de exibição de conteúdo multimídia distribuída. Nesse ponto encontra-se a proposta do trabalho: definir um mecanismo de comunicação para a busca de mídias, distribuídas em várias máquinas em uma rede local, informando também qual a melhor tecnologia a ser utilizada para a troca de mensagens remotas, na implementação.

12 11 Para definir qual tecnologia seria utilizada na implementação do mecanismo, foram analisadas três muito utilizadas atualmente: JRMI, CORBA e DCOM. Um dos motivos para a escolha dessas três tecnologias foi o fato de trabalharem com orientação a objetos, já que o HTSPN Player será implementado com Java. Para a escolha da tecnologia a ser utilizada, foram analisados critérios como forma de transferência de dados, facilidade de implementação, disponibilidade de ferramentas e documentação, portabilidade, entre outras, em cada uma das tecnologias. Após a análise, de acordo com os critérios citados, a escolhida para a implementação foi o CORBA. Além da definição da tecnologia que será utilizada na implementação foi apresentado o funcionamento básico do mecanismo proposto e definidos os componentes básicos deste. Esses componentes são: Processo Cliente de Mídia, que fará a solicitação da mídia; Servidor de Mídia, que terá responsabilidade de envio de mídias a um processo cliente; Banco de Dados de Mídias Locais, cuja função será a de manter dados das mídias que se encontram na mesma maquina que ele; e o pacote ComunicaPlayer, responsável pelos métodos que serão utilizados pelo player para a comunicação com os outros componentes do sistema. O trabalho está dividido da seguinte maneira: a seção 2 apresenta os conceitos das tecnologias que poderiam ser usadas na implementação da comunicação remota, bem como outros conteúdos importantes para a definição do mecanismo de comunicação proposto; a seção 3 cita o material e os métodos utilizados para o desenvolvimento do trabalho; a seção 4 apresenta a descrição do mecanismo proposto, a tecnologia a ser utilizada para a implementação e um exemplo do funcionamento; a seção 5 apresenta as considerações finais e algumas propostas para a continuação do trabalho; e por fim, a seção 6 lista as bibliografias utilizadas como base nas pesquisas.

13 12 2 REVISÃO DA LITERATURA 2.1 Aplicações Distribuídas As aplicações distribuídas recebem esse nome pela forma com que seus objetos estão dispostos e realizam as suas tarefas. Esses módulos são distribuídos e podem executar em um mesmo computador ou estarem dispostos em computadores distintos em uma rede local ou em redes diferentes, como na Internet. Os módulos são ligados entre si por um mecanismo de comunicação que torna a distribuição transparente, isto é, o usuário não percebe que os módulos estão comunicando-se remotamente. Existem várias definições para aplicações distribuídas, uma delas é apresentada por RICCIONI (2000) que diz o seguinte: Aplicação distribuída é uma coleção de computadores autônomos ligados por uma rede, com software projetado para produzir uma facilidade de computação integrada. Atualmente, percebe-se um aumento considerável na utilização de sistemas distribuídos. Dentre algumas aplicações para esse tipo de sistemas, as que mais se destacam são: aplicações para comunicação entre pessoas como ICQ, MSN Messenger, AOL Messenger, Yahoo Messenger, entre outros; compartilhadores de arquivos ou P2P Peer to Peer, como Kazaa, Morpheus, imesh, entre outros; ferramentas para teleconferências, como Microsoft NetMeeting, MSN Messenger, entre outras; e trabalho cooperativo em grupo, como Habanero (2003) Macedo (1999). Segundo Trinta (2000), algumas características que tornam os sistemas distribuídos viáveis e implementáveis são as seguintes:

14 13 compartilhamento de recursos: os módulos são recursos que atendem a vários outros módulos. Nessa relação, cada módulo gerencia seu compartilhamento; abertura: a disponibilidade de interfaces públicas e bem definidas permite uma maior flexibilidade para eventuais mudanças nas aplicações, através da inserção ou retirada de módulos de um sistema distribuído; concorrência: as tarefas podem ser realizadas por vários módulos, concorrentemente, com objetivo de melhoria de desempenho; escalabilidade: diz respeito à capacidade que o sistema tem de adaptar-se facilmente a uma carga crescente de recursos e serviços, podendo ser alcançada através da replicação e distribuição de cargas entre os componentes de uma aplicação; tolerância à falhas: é a continuidade do funcionamento do sistema, mesmo ocorrendo alguma falha em um dos seus componentes. A redundância de alguns recursos pode ser utilizada, para que determinadas tarefas, essenciais à aplicação, possam ser realocadas entre os mesmos; transparência: a localização de módulos que compõem a aplicação, e a sua conseqüente distribuição, não são percebidas pelos usuários do sistema. A figura 1 apresenta a arquitetura multicamadas dos sistemas distribuídos segundo a visão de (RICCIONI, 2000). Figura 1: Arquitetura multicamadas dos sistemas distribuídos (RICCIONI, 2000).

15 14 Segundo RICCIONI (2000), as aplicações distribuídas possuem três camadas lógicas: camada de apresentação: geralmente centradas nas estações, embora na Web algumas de suas funções fiquem a cargo dos servidores de dados ou de aplicação; camada de aplicação: camada que se responsabiliza pelas regras do negócio e por gerir o fluxo de dados. Geralmente ficam instalados nos servidores de aplicação; camada de dados: tem responsabilidade de controle dos dados. Uma aplicação distribuída, para implementar a comunicação remota entre seus módulos, utiliza chamadas remotas ou interfaces comuns. Tais artifícios são capazes de reconhecer a localização dos respectivos objetos servidores e tratar da intercomunicação entre o objeto-cliente e objeto-servidor de um serviço (middleware) (VASCONCELOS, 2002). As chamadas remotas são tentativas de acessar funções ou métodos de outros objetos, componentes, programas ou módulos que não se encontram na mesma máquina da aplicação realizadora das chamadas. Uma chamada remota pode ser visualizada como um pedido de execução local de algo que não está localizado localmente. Esse pedido deverá chegar ao seu destino através de uma rede, utilizando para isso mecanismos RPC (Remote Procedure Call), que permitem a uma aplicação cliente fazer chamada a procedimentos em servidores remotos da mesma forma em que chamadas são feitas localmente (RICCIONI, 2000). Neste trabalho serão utilizadas técnicas de programação orientada a objetos para a implementação de aplicações distribuídas, devido às inúmeras vantagens desse paradigma em relação ao de programação estruturada (CAMARÃO & FIGUEIREDO, 2003) e também pela escolha da linguagem de implementação do HTSPN Player (PRESTES, 2003), o Java. Nas aplicações distribuídas orientadas a objetos, utilizam-se vários mecanismos para a comunicação entre seus objetos clientes e objetos servidores, e a evocação dos métodos remotos de um objeto servidor a partir de objetos cliente. Tais técnicas (ORB, RPC, DCE, Stubs, etc.) serão explicadas a seguir junto com as arquiteturas que as utilizam.

16 15 Dentre as arquiteturas que provêm formas de comunicação remota entre objetos distribuídos se destacam: CORBA, DCOM e JRMI. A seguir serão apresentados as principais características e o funcionamento básico dessas arquiteturas Java RMI (Remote Method Invocation) O JRMI é uma arquitetura criada pela Sun Microsystem para permitir a comunicação entre objetos, implementados em Java, distribuídos remotamente. Com o JRMI, um objeto pode ter seus métodos acessados por outro objeto Java localizado em outra máquina virtual através de uma rede. Para que tal comunicação seja possível, deve existir um ORB (Object Request Broker, ou Analisador de Requisições a Objetos), que é responsável pela transmissão dos pedidos entre objetos cliente e servidor (TRINTA, 2000). O ORB pode ser definido como um roteador de mensagens (requisições e respostas às requisições) entre os clientes e os objetos distribuídos. Segundo FRAGA (2001), ORB pode ser considerado como sendo o canal de comunicação entre os objetos que utilizam o modelo de iteração cliente/servidor. Um ORB tem como principal característica o fato de não deixar transparecer detalhes como: localização, implementação, estado de execução e mecanismos de comunicação com objetos (GOULARTE, 1998). A comunicação remota em RMI é intermediada por objetos proxy chamados stubs e skeletons, através dos quais as invocações a métodos remotos são feitas da mesma forma que para objetos locais. Esses objetos são gerados a partir de uma interface e contém os mesmos métodos que foram declarados nelas (GUIZZARDI, 2000). Os stubs do cliente são responsáveis por interceptar as chamadas a métodos remotos, recolher os valores de seus argumentos e direcioná-los através de mensagem ao stub do servidor (skeleton). Estes, por sua vez, executam a chamada ao método da mesma forma que uma requisição local, recebem o retorno e enviam-no de volta ao stub cliente, que se encarrega de repassar a resposta ao objeto requisitante do método remoto. A figura 2 representa a arquitetura de comunicação remota do JRMI.

17 16 Figura 2: Arquitetura Java/RMI (RICCIONI, 2000). Existem duas formas com as quais um objeto pode encontrar um objeto remoto: recebendo uma referência através do retorno da execução de um método, ou através do serviço registry (RMIregistry). Esse serviço pode ser utilizado por clientes e servidores RMI. Através desse serviço, os clientes obtêm referências para objetos remotos com nomes que identificam serviços prestados pelos objetos (ALBUQUERQUE, 2001). O RMIregistry deve ser implementado em um programa que fique rodando em todos os servidores que disponibilizam objetos. O protocolo utilizado para a comunicação entre os objetos é o JRMP (Java Remote Method Protocol) (TRINTA, 2000). Este protocolo baseia-se na serialização de objetos Java, isto é, os objetos utilizados como parâmetros podem ser transportados como um fluxo de dados, através de uma sessão TCP. As classes utilizadas na implementação de programas RMI encontram-se nos packages (pacotes): java.rmi e java.rmi.server. O processo de comunicação envolve, primeiramente, a localização do objeto, que é fornecida através de uma string que contém o nome do objeto e o endereço da máquina que o abriga (CEZE, 2001). O uso de um protocolo padrão facilita a implementação de RMI, porém pode provocar uma perda de desempenho, devido as mensagens de controle enviadas pelo TCP para garantir a entrega das mensagens.

18 CORBA (Common Object Request Broker Architecture) O CORBA é uma arquitetura criada pelo OMG (Object Management Group), que provê um suporte completo à comunicação remota entre objetos, implementados em diversas linguagens de programação e executando em diversas plataformas (GUIZZARDI, 2000). Essa comunicação dá-se de forma transparente, isto é, o usuário da aplicação não percebe que existe uma comunicação remota. Assim como no JRMI, para que se realize a comunicação entre os vários componentes de uma aplicação distribuída são utilizadas as chamadas remotas. Estas chegarão ao seu destino por intermédio de um ORB (Object Request Broker). As interfaces do ORB são definidas nas especificações do CORBA e atuam como camadas mascarando as diversas formas possíveis de implementação dos módulos (SIQUEIRA & FRAGA, 1996), permitindo que objetos interajam em ambientes homogêneos e heterogêneos. A figura 3 apresenta os quatro principais elementos que compõem a arquitetura CORBA. Figura 3: Principais elementos da arquitetura CORBA (TRINTA, 2000).

19 18 Os Objetos de Aplicação (ou, objetos distribuídos) acessam os serviços e as facilidades CORBA através de um ORB. Os serviços fornecem funções para utilização e implementação dos objetos, de forma que o programador não tenha que se preocupar com os serviços a nível de sistema. Dentre esses serviços, definidos pela OMG, estão: serviço de persistência; nome; ciclo de vida; notificação de eventos; controle de concorrência; transação; atomicidade; relacionamento; segurança; entre outros (RICCIONI, 2000). As facilidades CORBA são coleções de serviços utilizados pelas mais diversas aplicações (RICCIONI, 2000). São divididas em dois grupos: facilidades horizontais e facilidades verticais. Facilidades Horizontais são utilizadas por varias aplicações, independente da área de aplicação, e são subdivididas em: interface do usuário; gerenciamento de sistema; gerenciamento de informação e gerenciamento de tarefa. Facilidades Verticais são utilizadas em áreas de aplicação específicas, como medicina, contabilidade, simulação distribuída, entre outros. Como já foi citada anteriormente, no CORBA a comunicação entre os objetos distribuídos não depende da linguagem utilizada em sua implementação, podem ser usadas: C, C++, Java, Ada, COBOL e Smaltalk. A diferença existente entre elas é mascarada pelo CORBA através do mapeamento da IDL (Interface Definition Language) para a linguagem desejada. A IDL é uma linguagem neutra, puramente declarativa, que não dependente de sistemas operacionais e nem linguagem de programação (TRINTA, 2000). Sua sintaxe é baseada em C++, porém, após passar por um tradutor (compilador IDL), terá suas definições mapeadas para a linguagem de implementação do objeto que disponibilizará métodos remotamente. A exemplo do que acontece no JRMI, a compilação das interfaces (IDLs) também gera os stubs no cliente e os skeletons no servidor. Os stubs e skeletons no CORBA têm funcionamento similar a uma chamada de procedimento remoto (RPC), incluindo os processos de empacotamento (Marshalling) e desempacotamento (Unmarshalling) (GOULARTE, 1998). A figura 4 apresenta a arquitetura de comunicação no CORBA.

20 19 Figura 4: Arquitetura de comunicação em CORBA (CARDOZO, 2002). A comunicação no CORBA é, assim como no JRMI, através de TCP, ou seja, são transmitidos fluxos de bytes, sendo orientada a conexão. A transmissão de dados é feita através de uma sessão TCP (PRADO, 1997). Através da utilização de CORBA é possível criar aplicações distribuídas em que um módulo é implementado em Java e outro em C++, por exemplo. Mesmo que esses módulos estejam em sistemas operacionais diferentes, um em Windows e o outro em Unix, a comunicação dar-se-á de forma transparente e sem problemas de incompatibilidade DCOM (Distributed Common Object Model) O DCOM aplica às redes de computadores o funcionamento do COM, que utiliza uma estrutura especificada pela Microsoft para permitir a comunicação entre componentes escritos em linguagens diferentes (TRINTA, 2000), acrescentando a possibilidade de objetos locais poderem acessar métodos de objetos remotos de forma transparente. O Modelo de Objetos Componentes (COM) é a especificação e implementação de uma infra-estrutura criada pela Microsoft para prover a integração de componentes de software baseados em objetos (TRINTA, 2000). Através da utilização deste framework é possível implementar sistemas utilizando vários componentes de diversos distribuidores. Entende-se por componente um conjunto de funcionalidades prontas para serem acessadas por programas de computador, englobadas em um pacote.

21 20 Essa arquitetura baseia-se em um protocolo de comunicação chamado ORPC (Object Remote Procedure Call) (VASCONCELOS, 2002), que foi construído sobre o RPC da DCE (Distributed Computing Environment), uma arquitetura que fornece um ambiente para o tráfego de informações entre objeto requisitante e requisitado nas duas direções (RICCIONI, 2000). Essa arquitetura suporta a comunicação de objetos implementados em diversas linguagens diferentes, porém, o sistema operacional onde serão executados deve ser necessariamente o Windows (GUIZZARDI, 2000). Para que os objetos remotos se comuniquem é necessário que um ORB DCOM esteja instalado. Ele interceptará as chamadas aos métodos remotos e estabelecerá a comunicação com o ORB em que se localiza o objeto possuidor do método (LUCENA, 2001). Assim como no CORBA, o ORB é responsável por direcionar as requisições e respostas dos objetos que estão se comunicando remotamente. A figura 5 apresenta a arquitetura de comunicação utilizada no DCOM. Figura 5: Arquitetura de comunicação do DCOM (CARDOZO, 2002). Para que o acesso aos objetos DCOM seja possível, devem ser definidas suas interfaces (IDL), que são declaradas com o uso de uma linguagem chamada MIDL (Microsoft Interface Definition Language). Os clientes DCOM interagem entre si e com o sistema chamando funções definidas nestas interfaces.

22 21 Após a compilação da IDL são gerados os stubs que serão utilizados como um proxy para a invocação de métodos remotos (LUCENA, 2001). Esses stubs têm funcionalidade semelhante à dos stubs do JRMI e os do CORBA. Um cliente DCOM poderá chamar métodos de um servidor somente após a aquisição de uma referência a uma das interfaces deste objeto, ou seja, um ponteiro para um objeto em um determinado estado (TRINTA, 2000). Após isso, consegue-se informação sobre localização do objeto na rede. As chamadas aos métodos do servidor são feitas indiretamente aos métodos expostos pela API (Application Program Interface) do objeto (LUCENA, 2001). A API de um objeto possui os métodos que podem ser acessados por outros objetos. Os objetos DCOM não mantêm seu estado, isto é, ao final da conexão são destruídos, assim, várias interfaces devem ser definidas, cada uma representando um estado diferente do objeto (TRINTA, 2000). Não é possível que, após um encerramento de conexão, o objeto cliente se reconecte a uma instância de objeto igual ao de uma conexão anterior. Segundo RICCIONI (2000), o DCOM, além de oferecer a possibilidade de definir interfaces comuns aos objetos distribuídos, oferece outros recursos, como: Object Definition Language (ODL), que é a linguagem de definição de objetos utilizada para descrever metadados; e o Object Services, que são os serviços oferecidos pelos objetos (por exemplo: serviço de eventos, serviço de diretório local, mecanismo de licença entre outros). Estes recursos facilitam a programação e o acesso aos objetos distribuídos. O DCOM pode ser uma boa opção no que se refere à escolha da linguagem para implementação dos módulos, pois estes podem ser implementados em várias linguagens, incluindo C++, Java, entre outras. Porém o fato de suportarem apenas conexões UDP entre as aplicações distribuídas e a limitação no que diz respeito ao sistema operacional, dificulta a sua maior abrangência no campo de sistemas distribuídos. 2.2 Sistemas Multimídia Multimídia pode ser definida, no contexto computacional, como sendo a integração de duas ou mais mídias. Para definir sistemas multimídia os seguintes conceitos podem ser utilizados:

23 22... um sistema multimídia é um sistema ou aplicação que suporta o processamento integrado de vários tipos mídias (contínuas e discretas), com ao menos uma mídia contínua (PRESTES, 2003). A multimídia constitui uma tecnologia interdisciplinar que orienta aplicações que visam atender às necessidades multi-sensoriais da natureza humana. Sistemas multimídia tornam isso possível devido às novas alternativas de integração, manipulação, armazenamento, transmissão, exibição e interação de diferentes formatos de mídia (texto, gráfico, animação, áudio e vídeo) (GUIZZARDI, 2000). Sistemas multimídias em geral se caracterizam pela integração de diversos tipos de meios em uma única infra-estrutura computacional (PRADO, 1997). Podemos concluir então que sistemas multimídias são aqueles que conseguem gerenciar e prover conteúdo diversificado, isto é, vários tipos de mídias integradas, de forma a proporcionar maior interação com o usuário final. Essas mídias podem ser classificadas como mídias discretas e mídias contínuas. As mídias discretas podem ser: texto; gráfico e imagem, enquanto que as mídias continuas são representadas por: áudio e vídeo (DINIZ, 1998) Características das mídias As principais vantagens identificadas na utilização de sistemas multimídias, sejam eles centralizados ou distribuídos, são o maior estímulo aos sentidos audiovisuais e maior sensação de realidade. Podemos citar como exemplos de sistemas multimídias bem difundidos e utilizados: videoconferências, fóruns, bate-papo, entre outros. Nos dias de hoje a multimídia vem sendo aplicada em áreas como: medicina, visualização de imagens de alta resolução, sistemas de videoconferência, sistemas de aprendizado à distância e em trabalhos em grupo (GOULARTE, 1998). Todo esse sucesso vem sendo alcançado devido ao grande avanço da tecnologia computacional no que se refere à velocidade de processamento, escoamento de dados, algoritmos de compressão de

24 23 sons e imagens, dentre outros avanços que promovem facilidades às implementações e disseminação dos sistemas multimídia. Algumas das principais características de um sistema multimídia podem ser vistas a seguir: acesso não-linear; interatividade; integração com programas aplicativos; emprego da animação; emprego do som; substituição de mídia convencional. O acesso não-linear se caracteriza pela possibilidade de vinculação de inúmeros pontos na mídia, como os links em uma página da Web. A interatividade é garantida pelo acesso a microfones, dinamismo do conteúdo das páginas Web e outros fatores que proporcionam ao usuário de um sistema multimídia a capacidade participar da execução direta das mídias envolvidas. O emprego de animações, sons e imagem aumentam, além da interatividade com o usuário, a possibilidade de substituir as mídias convencionais (radio, fita VHS, cartão de visita, etc.) pelas aplicadas a sistemas de computadores. Existem dois tipos de sistemas multimídia: SMC (Sistemas Multimídia Centralizados) e SMD (Sistemas Multimídia Distribuídos). Os SMC são sistemas que operam em uma máquina, sem ligações e separações de módulos em computadores distintos. Já os SMD são uma generalização dos SMC, porém, suas mídias encontram-se distribuídas e/ou seus módulos estão localizados em máquinas diferentes em uma rede de computadores (PRADO, 1997). Para a implementação de sistemas multimídia distribuídos existem inúmeras limitações, dentre elas, segundo VASCONCELOS (2002), estão: negociação de QoS (Quality of Services): dificuldade na implementação de QoS em algumas infra-estruturas de rede;

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

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

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

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

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

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

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

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

A utilização do JSWDP para construção de Web Services

A utilização do JSWDP para construção de Web Services A utilização do JSWDP para construção de Web Services Fabiana Ferreira Cardoso 1, Francisco A. S. Júnior 1, Madianita Bogo 1 1 Centro de Tecnologia da Informação Centro Universitário Luterano de Palmas

Leia mais

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

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos CORBA Common Object Request Broker Architecture Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos Introdução OMG (Object Management Group): uma organização formada por empresas

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

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

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

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

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

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

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

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

Arquiteturas de Aplicações Distribuídas

Arquiteturas de Aplicações Distribuídas Arquiteturas de Aplicações Distribuídas Fernando Albuquerque 061-2733589 fernando@cic.unb.br www.cic.unb.br/docentes/fernando Tópicos Introdução. HTTP / CGI. API sockets. JDBC. Remote Method Invocation.

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

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

Comunicação. Parte II

Comunicação. Parte II Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor

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

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

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

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

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

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

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

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

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

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

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução.

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. CAPÍTULO 3 MIDDLEWARE Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. 3.1 ARQUITETURA CLIENTE/SERVIDOR Primeiramente, surgiu a arquitetura centralizada

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

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

3 Qualidade de serviço na Internet

3 Qualidade de serviço na Internet 3 Qualidade de serviço na Internet 25 3 Qualidade de serviço na Internet Além do aumento do tráfego gerado nos ambientes corporativos e na Internet, está havendo uma mudança nas características das aplicações

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

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

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

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 5 Servidores de Aplicaçã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

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

Comunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34

Comunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Protocolos regras que os processos que estão se comunicando tem de seguir Protocolos

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 Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

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

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

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Aplicações Multimídia Distribuídas. Aplicações Multimídia Distribuídas. Introdução. Introdução. Videoconferência. deborams@telecom.uff.br H.

Aplicações Multimídia Distribuídas. Aplicações Multimídia Distribuídas. Introdução. Introdução. Videoconferência. deborams@telecom.uff.br H. Departamento de Engenharia de Telecomunicações - UFF Aplicações Multimídia Distribuídas Aplicações Multimídia Distribuídas Videoconferência Padrão H.323 - ITU Padrão - IETF Profa. Débora Christina Muchaluat

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1 1. Conceitos Básicos a. Invocação remota (RPC/RMI)

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

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

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

1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI)

1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI) PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1. Conceitos Básicos a. Invocação remota (RPC/RMI)

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 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

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

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

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos Middleware Camada Intermediária de Suporte a Sistemas Distribuídos Alternativas de comunicação entre processos (IPC) Mecanismos de IPC tradicionais (ou de baixo nível) Memória compartilhada, filas de mensagens,

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

Introdução ao protocolo SIP*

Introdução ao protocolo SIP* Introdução ao protocolo SIP* 1. SIP (Session Initiation Protocol) Pode se dizer que SIP trata se de um protocolo de controle referente à camada de aplicações do Modelo de Referência OSI (Open System Interconnection),

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 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

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

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

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

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

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos 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

Leia mais

Capítulo II Modelos de Programação Distribuída (parte 2)

Capítulo II Modelos de Programação Distribuída (parte 2) Capítulo II Modelos de Programação Distribuída (parte 2) From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley From: Cardoso, Jorge, Programação de

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 Arquiteturas Middlewares

Sistemas Distribuídos Arquiteturas Middlewares Sistemas Distribuídos Arquiteturas s Arquitetura Arquitetura de um sistema é sua estrutura em termos dos componentes e seus relacionamentos Objetivo: garantir que a estrutura satisfará as demandas presentes

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

Distributed Systems Concepts and Design

Distributed Systems Concepts and Design Distributed Systems, Cap 2, Coulouris Pag. 1 de 1 Distributed Systems Concepts and Design 2 Modelos de Sistemas Modelos de arquitetura de sistemas distribuídos, estão relacionado com o local onde estão

Leia mais

MODELOS DE SISTEMAS DISTRIBUÍDOS

MODELOS DE SISTEMAS DISTRIBUÍDOS MODELOS DE SISTEMAS DISTRIBUÍDOS Edeyson Andrade Gomes www.edeyson.com.br Agenda Visão geral Modelos de Arquitetura de Sistemas Distribuídos MASD Camadas de softwares Arquiteturas de sistema Variações

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 1- MODELO DE CAMADAS 1. INTRODUÇÃO A compreensão da arquitetura de redes de computadores envolve a compreensão do modelo de camadas. O desenvolvimento de uma arquitetura de redes é uma tarefa complexa,

Leia mais

Modelos e Arquiteturas de Sistemas Computacionais

Modelos e Arquiteturas de Sistemas Computacionais Modelos e Arquiteturas de Sistemas Computacionais Prof. Ricardo J. Rabelo UFSC Universidade Federal de Santa Catarina DAS Departamento de Automação e Sistemas SUMÁRIO Importância da definição da Arquitetura

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

Gerência de Redes de Computadores Gerência de Redes de Computadores As redes estão ficando cada vez mais importantes para as empresas Não são mais infra-estrutura dispensável: são de missão crítica, ou

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 Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

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 Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Redes de Computadores Aula 3

Redes de Computadores Aula 3 Redes de Computadores Aula 3 Aula passada Comutação: circuito x pacotes Retardos e perdas Aula de hoje Protocolo em camadas Aplicações C/S x P2P Web Estruturando a Rede Como organizar os serviços de uma

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre

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

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM CAPÍTULO 7 JAVA Java é uma linguagem orientada a objeto cujo projeto foi desenvolvido pela Sun Microsystems no início de 1991. Ela foi originalmente concebida para ser utilizada na programação de dispositivos

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

Protocolos de gerenciamento

Protocolos de gerenciamento Protocolos de gerenciamento Os protocolos de gerenciamento têm a função de garantir a comunicação entre os recursos de redes homogêneas ou não. Com esse requisito satisfeito, operações de gerenciamento

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

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

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

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede Prof. Samuel Souza } Monolíticas Aplicações em um computador centralizado } Em Rede Aplicações com comunicação em rede } Distribuídas Comunicação e cooperação em rede } Aplicações que são funcionalmente

Leia mais

Redes de Computadores (PPGI/UFRJ)

Redes de Computadores (PPGI/UFRJ) Redes de Computadores (PPGI/UFRJ) Aula 1: Apresentação do curso e revisão de interface de sockets 03 de março de 2010 1 2 O que é a Internet 3 4 Objetivos e página do curso Objetivos Apresentar a motivação,

Leia mais

ATIVIDADE 1. Redes Windows. 1.1 Histórico do SMB

ATIVIDADE 1. Redes Windows. 1.1 Histórico do SMB ATIVIDADE 1 Redes Windows Falar sobre Samba e redes mistas Windows / Linux, sem antes explicar o conceito básico de uma rede não parece correto e ao mesmo tempo, perder páginas e mais páginas explicando

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais