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;

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

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

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

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

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

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

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

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

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

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

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

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

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

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

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

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

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

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

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

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

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

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

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

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

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

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

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

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

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

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

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

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

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

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

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

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

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

4 Um Exemplo de Implementação

4 Um Exemplo de Implementação 4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

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

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

Márcio Leandro Moraes Rodrigues. Frame Relay

Márcio Leandro Moraes Rodrigues. Frame Relay Márcio Leandro Moraes Rodrigues Frame Relay Introdução O frame relay é uma tecnologia de chaveamento baseada em pacotes que foi desenvolvida visando exclusivamente a velocidade. Embora não confiável, principalmente

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

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

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

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

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

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

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

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

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

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

MODELO CLIENTE SERVIDOR

MODELO CLIENTE SERVIDOR SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

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

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2 Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo

Leia mais

Evolução na Comunicação de

Evolução na Comunicação de Evolução na Comunicação de Dados Invenção do telégrafo em 1838 Código Morse. 1º Telégrafo Código Morse Evolução na Comunicação de Dados A evolução da comunicação através de sinais elétricos deu origem

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível

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

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

O modelo ISO/OSI (Tanenbaum,, 1.4.1) Cenário das redes no final da década de 70 e início da década de 80: Grande aumento na quantidade e no tamanho das redes Redes criadas através de implementações diferentes de hardware e de software Incompatibilidade

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos

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

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

Leia mais

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz Camadas de Transporte, Sessão & Apresentação Redes de Computadores Prof. Leandro C. Pykosz Função A camada de Transporte fica entre as camadas de nível de aplicação (camadas 5 a 7) e as de nível físico

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS PROFESSOR: CARLOS BECKER WESTPHALL Terceiro Trabalho

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

AULA 5 Sistemas Operacionais

AULA 5 Sistemas Operacionais AULA 5 Sistemas Operacionais Disciplina: Introdução à Informática Professora: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Partições Formatação Fragmentação Gerenciamento

Leia mais

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Na Figura a seguir apresento um exemplo de uma mini-tabela de roteamento: Tutorial de TCP/IP - Parte 6 - Tabelas de Roteamento Por Júlio Cesar Fabris Battisti Introdução Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na

Leia mais

Relatorio do trabalho pratico 2

Relatorio do trabalho pratico 2 UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

Servidor Proxy armazenamento em cache.

Servidor Proxy armazenamento em cache. Servidor Proxy Servidor Proxy Um modo bastante simples de melhorar o desempenho de uma rede é gravar páginas que foram anteriormente acessadas, caso venham a ser solicitadas novamente. O procedimento de

Leia mais

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

Leia mais

Meio Físico. Mensagem. Protocolo. Emissor e Receptor. Data Terminal Equipment Data Communications Equipment

Meio Físico. Mensagem. Protocolo. Emissor e Receptor. Data Terminal Equipment Data Communications Equipment Emissor Receptor Meio Físico Mensagem Protocolo Emissor e Receptor Data Terminal Equipment Data Communications Equipment (DTE) + (DCE) Meio Físico Mensagem ( pacote ) O meio físico É o elemento que transmite

Leia mais