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

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

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

Transcrição

1 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

2 Diogo Francisco Sales da Silva Flávio Rodrigo Lovatti Computação Distribuída, Web Service - um estudo de caso Trabalho de Conclusão de Curso apresentado ao Centro Univertário Vila Velha como requisito parcial para a obtenção do grau de Bacharel em Ciência da Computação. Orientador: Cristiano Biancardi VILA VELHA 2009

3 Diogo Francisco Sales da Silva Flávio Rodrigo Lovatti Computação Distribuída, Web Service - um estudo de caso BANCA EXAMINADORA Prof. Msc. Cristiano Biancardi Centro Universitário Vila Velha Orientador Prof. Msc. Leonardo Muniz de Lima Centro Universitário Vila Velha Prof. Msc. Vinícius Rosalém Centro Universitário Vila Velha Trabalho de Conclusão de Curso aprovado em 05/06/2009.

4 Dedico este trabalho aos meus pais e irmão, que abdicaram de muitas coisas e se esforçaram para que eu atingisse meu objetivo. Dedico também a minha tia Sandra, que me acolheu em sua casa durante o tempo que precisei. "Diogo Francisco Sales da Silva"

5 Dedico esse trabalho aos meus pais que estiveram sempre ao meu lado e fizeram todo esforço necessário para que este meu objetivo fosse alcançado. "Flávio Rodrigo Lovatti"

6 AGRADECIMENTOS Agradecemos primeiramente a Deus por ter nos dado a força e a perseverança necessária para que este objetivo fosse alcançado. Agradecemos aos nossos pais por terem sido nosso apoio e peça fundamental nesse difícil caminho que foi trilhado. Agradecemos aos nossos familiares que, direta ou indiretamente nos ajudaram a tornamos esse sonho em realidade. É com grande satisfação que damos o nosso "Muito Obrigado!".

7 Não existe guerra que não possa ser vencida. Não existe barreira que não possa ser quebrada. E não existe objetivo que não possa ser alcaçado Sun-Tzu

8 LISTA DE FIGURAS 1 Passos em uma comunicação cliente e servidor RPC Ilustração do funcionamento do RMI Sistema de distribuição de recurso P2P Descoberta de par em um modelo P2P centralizado Descoberta de par em um modelo P2P descentralizado Arquitetura básica de um Grid Arquitetura das camadas de um Grid Exemplo de Cluster controlado por um servidor Visão Geral de CORBA Requisição de um cliente Funcionamento básico de um serviço web Exemplo de um WSDL Exemplo de interação entre entidades Comunicação entre dois serviços web Ilustração da comunicação entre um serviço cliente e um serviço servidor comunicação entre uma aplicação cliente e um serviço web Demonstração da aplicção Caso de uso Método construtor da classe HibernateUtil Diagrama de pacotes Diagrama de classes Entity diagrama de classe DAO

9 23 Diagrama de classes faces Diagrama de sequência Diagrama de implantação Classe TransfereciaService WSDL Schema da aplicação WSDL do cliente Classe ClienteFaces Arquivo WSDL importado pelo C Sharp Método criado dentro do arquivo reference.cs Chamada do método transferencia dentro do cliente C Sharp Estado inicial do serviço web e aplicação cliente web Estado do servidor e aplicação cliente após a execução da transferência Estado do servidor e aplicação cliente C Sharp depois de realizada uma transferência

10 SUMÁRIO 1 INTRODUÇÃO JUSTIFICATIVA DESCRIÇÃO DOS CAPÍTULOS REFERENCIAL TEÓRICO SISTEMAS DISTRIBUÍDOS Desempenho e escalabilidade Conectividade e segurança Confiabilidade e tolerância a falhas em sistemas distribuídos Transparência Comunicação em sistemas distribuídos MODELOS DE COMPUTAÇÃO DISTRIBUÍDA Chamada de procedimento remoto - Remote Procedure Call (RPC) Invocação de método remoto - Remote Method Invocation (RMI) Computação distribuída Peer-to-peer (P2P) Grid Cluster CORBA Serviço web (Web Service) TABELAS COMPARATIVAS CORBA vs serviço web RPC vs RMI

11 2.3.3 Grid vs Cluster vs P2P DEFINIÇÃO DO MODELO ESCOLHIDO Serviços web, uma visão mais abrangente Benefícios de serviços web Evolução de tecnologias e produtos Segurança Reusabilidade, disponibilidade e escalabilidade Típicos cenários de serviços web Interação com padrões de negócio Integrando com sistemas de informação existentes Alcançando diversos clientes Padrões e Tecnologias Overview dos padrões de serviços web Modelos de desenvolvimento Desenvolvimento de serviços web para usarem outros serviços Desenvolvimento de aplicações clientes para usarem serviços web Design de serviço de ponto final ESTUDO DE CASO DESCRIÇÃO DA APLICAÇÃO EXEMPLO DIAGRAMA DE CASO DE USO ESPECIFICAÇÃO DO PROJETO Tecnologias Arquitetura Diagramas de classes Diagrama de sequência

12 4.3.5 Classes Entity Classes DAO Classes faces Páginas web Diagrama de implantação CONSTRUINDO E CONSUMINDO O SERVIÇO WEB Implementando um serviço web Consumindo um serviço web Visualização da aplicação em funcionamento CONCLUSÃO 98 REFERÊNCIAS 100 Anexo 1 - Classe HibernateUtil 102 Anexo 2 - Classe Cliente - Entity 103 Anexo 3 - Classe Conta - Entity 104 Anexo 4 - Classe ClienteConta - Entity 105 Anexo 5 - Classe ClienteContaPK - Entity 106 Anexo 6 - Classe GenericDAO 107 Anexo 7 - Classe ClienteContaFaces 108 Anexo 8 - Classe TransferenciaFaces 109

13 12 1 INTRODUÇÃO A computação toma rumos onde aplicações deixam de ser apenas locais, ou seja, concentradas em uma única estação ou servidor, e passam a ser distribuídas geograficamente em um ambiente qualquer, a fim de distribuir tarefas em uma rede. Nestas aplicações, há necessidade de se ter um maior recurso computacional com um custo baixo, motivando o uso da computação distribuída nos últimos anos, resultando em um aumento de pesquisa nesta área. Com o aumento do uso de redes de computadores e a sofisticação dos ambientes multitarefa torna-se inquestionável a importância dos mecanismos de otimização de computação. A utilização de técnicas de programação distribuída visa cumprir metas importantes baseadas em funcionalidades cujo objetivo é prover soluções a fim de proporcionar um melhor uso da capacidade computacional, propiciando vantagens como à interoperabilidade, o desempenho, a escalabilidade, a conectividade, a confiabilidade, a transparência, a tolerância à falhas e segurança em ambientes heterogêneos e homogêneos. Assim, cresce o número de aplicações que demandam acesso de forma integrada, uniforme em tais ambientes [6]. Quando se fala em aplicações hoje em dia é praticamente certo que o assunto acabará em web. E com essa visão, o trabalho foi direcionado a discutir uma tecnologia de comunicação, entre aplicações, que abstraísse em qual plataforma as aplicações estão rodando ou em quais linguagens de programação foram desenvolvidas. Dentro deste contexto, este trabalho apresenta um estudo dos modelos de computação distribuída, conceituando e exemplificando suas características de uma forma bem ampla e aprofundada, fazendo uma comparação entre elas. Além disso, um estudo de caso foi definido, com o intuito de exemplificar o funcionamento e a troca de

14 13 informações entre aplicações clientes e os serviços propriamente ditos, além da interoperabilidade, que é uma das principais características dos modelos de computação distribuída. Esse estudo de caso é baseado em um cenário onde a computação distribuída é fortemente usada, simulando uma transferência entre contas de um banco. Com base no estudo feito e no cenário do estudo de caso (ver capítulo 4), foi escolhido um modelo específico (web service) para o desenvolvimento. Para tanto, um serviço e uma aplicação cliente foram desenvolvidos na linguagem de programação Java, e com o intuito de mostrar a interoperabilidade dos serviços web, outra aplicação cliente foi desenvolvida na linguagem C Sharp. 1.1 JUSTIFICATIVA O foco das empresas e a crescente demanda por aplicações distribuídas no cenário do mercado nacional, os desafios e a inovação que serviços web proporcionam às empresas de software, acrescidos da vontade de conhecer a fundo uma tecnologia nova, tomando como base uma linguagem de desenvolvimento nova, como o Java e o C Sharp, para o estudo aprofundado da referida tecnologia nos motivou a realizar este estudo. E a cada vez que detínhamos conhecimento sobre o assunto, era necessário aprender mais e mais. 1.2 DESCRIÇÃO DOS CAPÍTULOS O capítulo 2 apresenta um referencial teórico, descrevendo o conceito de sistemas distribuídos e alguns modelos de computação distribuída com suas principais características, exemplos de aplicação, vantagens e desvantagens. Além disso, apresenta também uma comparação entre os modelos estudados. O capítulo 3 apresenta a definição de um modelo de computação distribuída (serviços web), dentre as estudadas, para um estudo mais aprofundado, mostrando suas características, benefícios e outras peculiaridades relacionadas.

15 14 O capítulo 4 apresenta um estudo de caso, baseado em um cenário onde a computação distribuída é usada com ênfase. Esse estudo mostra a descrição de uma aplicação exemplo, bem como o seu desenvolvimento. Além disso, caracteriza uma demonstração prática da aplicação desenvolvida. O capítulo 5 contém a conclusão do trabalho, mostrando os pontos que foram abordados durante o mesmo. Além disso, são apresentadas algumas sugestões de trabalhos futuros. O capítulo 6 mostra as referências dos conceitos que foram utilizadas ao longo do trabalho.

16 15 2 REFERENCIAL TEÓRICO Neste capítulo são apresentados o conceito de sistemas distribuídos e alguns modelos de computação distribuída, usados como base para a análise de suas principais características e escolha de um modelo para o desenvolvimento de uma aplicação exemplo. 2.1 SISTEMAS DISTRIBUÍDOS A comunicação remota via rede, originalmente reservada para grandes instalações de computadores e ambientes acadêmicos, foi amplamente difundida. Em um sistema distribuído, computadores independentes cooperam via rede de modo que pareçam uma máquina local. Aplicações de sistemas distribuídos podem executar código em máquinas locais e remotas e compartilhar dados, arquivos, e outros recursos entre máquinas. Sistemas distribuídos quase sempre surgem da necessidade de melhorar a capacidade, a confiabilidade de uma única máquina e atender uma grande base de usuários. Algumas das vantagens de se utilizar a tecnologia de sistema distribuído é que se pode atingir um alto nível de desempenho por um custo menor do que um sistema único [6] Os sistemas distribuídos são atribuídos de vantagens em relação a sistemas centralizados como desempenho e escalabilidade, conectividade e segurança, confiabilidade, tolerância a falhas e transparência. Vantagens essas que são apresentadas ao longo deste tópico.

17 Desempenho e escalabilidade Em um sistema centralizado, um único servidor trata todas as requisições de usuários. Com um sistema distribuído, as requisições podem ser enviadas a diferentes servidores aumentando o desempenho. Escalabilidade permite que um sistema distribuído cresça sem afetar as aplicações e os usuários existentes [6] Conectividade e segurança Um sistema distribuído pode fornecer acesso sem descontinuidade e recursos através da rede [5]. Se o recurso for um processador, o sistema distribuído deverá permitir que tarefas sejam executadas em qualquer máquina. Se o recurso for um sistema de arquivos globalmente compartilhado, usuários remotos poderão acessá-lo como acessariam um sistema de arquivos local, privado. Conectividade em sistemas distribuídos requer protocolos de comunicação de estado a fim de manter uma operação eficiente, devem fornecer interfaces comuns a todos os computadores do sistema. Sistemas distribuídos devem permitir que apenas usuários autorizados acessem recursos e garantir que a informação transmitida pela rede somente possa ser lida pelos recipientes pretendidos [6] Confiabilidade e tolerância a falhas em sistemas distribuídos Sistemas distribuídos implementam tolerância a falhas fornecendo replicação de recursos através do sistema. A replicação oferece aos usuários maior confiabilidade e disponibilidade em relação a implementações de máquinas isoladas. Sistemas distribuídos devem ter um software que detecte e reaja a falhas no sistema, fornecer mecanismos para assegurar a consistência entre informações de estado de máquinas diferentes, e precisam estar equipados para reintegrar recursos que falharam, logo que sejam reparados [5] Transparência Transparência em sistemas distribuídos é ocultar dos usuários seus aspectos distribuídos [7]. Esses sistemas devem implementar transparência de localização, ocul-

18 17 tando a localização de recursos no sistema distribuído daqueles que estão tentando acessá-lo, permitindo acesso a arquivos remotos como se fossem locais. Essa característica pode ser alcançada por replicação ou por ponto de verificação/recuperação de sistema onde a replicação fornece vários recursos que executam a mesma função e, ao usar pontos de verificação, periodicamente serão armazenados informações de estado de um objeto, como um processo. Além dessas, também devem ser implementadas transparências de migração ou transparência de realocação, onde a transparência de migração se preocupa em mascarar a movimentação de um objeto de uma localização para outra no sistema. Já a transparência de realocação mascara a realocação de um objeto por meio de outros objetos que se comunicam entre eles. Por fim, sistemas distribuídos devem implementar transparência de transação, permitindo que um sistema obtenha consistência mascarando a coordenação entre um conjunto de recursos [6] Comunicação em sistemas distribuídos Gerenciar a comunicação entre computadores é um desafio em sistemas distribuídos, onde se deve estabelecer interoperabilidade entre computadores e aplicações heterogêneas [6]. Para que um sistema, ao ser projetado, alcance as características de um sistema distribuído, esse deve ser desenvolvido em cima de algum modelo de computação distribuída, e como exemplo desses modelos, tem-se: RPC, RMI, P2P, CORBA, Grid, Cluster e Web Services, que são apenas alguns, de vários existentes. Esses modelos serão apresentados e discutidos nos próximos tópicos.

19 MODELOS DE COMPUTAÇÃO DISTRIBUÍDA Os modelos apresentados a seguir podem ser tomados como base para o desenvolvimento de aplicações distribuídas. É lógico que o modelo a ser escolhido depende do objetivo da aplicação a ser desenvolvida Chamada de procedimento remoto - Remote Procedure Call (RPC) A comunicação entre um componente e outro em um sistema distribuído usando a técnica de RPC proporciona uma abordagem estruturada de alto nível [6]. Por usar a arquitetura cliente/servidor com base, RPC permite que um processo que esteja em execução em um computador cliente chame um procedimento que esteja em execução em outro computador servidor [5], onde o usuário não sabe se o procedimento está sendo executado por seu computador ou por outro computador. A execução desse procedimento sempre ocorre no servidor, e o resultado então é transmitido pela rede ao cliente. O funcionamento do RPC é semelhante a uma chamada de procedimento local, levando em conta que existem dois processos, um invocador e um servidor, onde o invocador envia uma mensagem para o servidor e aguarda uma mensagem de resposta. A mensagem de invocação contém os parâmetros do procedimento; já a mensagem de resposta contém os resultados da execução do procedimento. Já do lado do servidor, um processo permanece aguardando até chegar uma requisição e, quando essa requisição chega, seus parâmetros são extraídos e processados, gerando o resultado, que é enviado na mensagem de resposta. Após isso, o servidor volta a esperar uma requisição. Essa interação entre cliente e servidor é ilustrada na figura 1.

20 19 Figura 1: Passos em uma comunicação cliente e servidor RPC A chamada de procedimento remoto introduz o conceito de stub, que é o componente da aplicação servidora responsável pela identificação do endereço da aplicação cliente, para empacotar informações do método cliente. Para emitir uma chamada de procedimento remoto, o processo cliente faz uma chamada ao procedimento no stub do cliente, passando os parâmetros apropriados. O stub do cliente executa a montagem de dados, que empacota argumentos de procedimento juntamente com o nome do procedimento em uma mensagem para transmissão via rede. Ao receber a mensagem do stub do cliente, o sistema operacional do servidor transmite a mensagem ao stub do servidor, então a mensagem é desmontada e o stub do servidor envia os parâmetros ao procedimento local apropriado. Quando o procedimento for concluído, o stub do servidor monta o resultado e o envia de volta ao cliente. Por fim, o stub do cliente desmonta o resultado, notifica o processo e passa o resultado para ele [6]. As vantagens de se usar RPC é que essa técnica oculta os detalhes de soquetes, uma abstração computacional que mapeia diretamente uma porta de transporte (TCP ou UDP) e mais um endereço de rede, do ponto de vista dos programadores de aplicações, e ainda possui ligação dinâmica com as portas dos servidores [6]. Existem diversas complicações associadas à chamada de procedimento remoto. Ela pode executar sobre protocolos TCP ou UDP, o que significa que implementações diferentes podem oferecer níveis variáveis de confiabilidade. Implementação de cha-

21 20 mada de procedimento remoto está diretamente relacionada com o tipo de sistema de arquivos de rede, onde cada implementação pode oferecer um nível diferente de segurança Invocação de método remoto - Remote Method Invocation (RMI) Em sistemas distribuídos, outra forma de comunicação entre componentes de uma rede é usando a técnica de invocação de método remoto que, assim como o RPC, usa a arquitetura cliente/servidor como base. Tome duas aplicações distintas onde estas aplicações são construídas utilizando linguagens orientadas a objeto. A aplicação que proverá o método a ser utilizado é chamada de aplicação servidora e a aplicação que irá fazer uso deste método é chamada de aplicação cliente. A aplicação servidora irá habilitar um determinado método em seu corpo a fim de este poder ser invocado a partir da aplicação cliente, seja esta local ou remota [6]. Três camadas distintas de software caracterizam a arquitetura de invocação a método remoto [5]: a camada de stub/esqueleto, a camada remota de referência e a camada de transporte. A camada de stub/skeleton usa o stub para empacotar informações do método cliente. E o skeleton, que é o componente da aplicação cliente, usado para a identificação do endereço da aplicação que irá prover o método desejado, para desempacotar as informações do lado servidor. A camada remota de referência é onde o stub usa a serialização de objeto para criar sua mensagem montada, característica que permite que objetos sejam codificados em correntes de bytes e transmitidos de um espaço de endereçamento para outro. A camada de transporte é responsável por pegar os dados enviados pela camada de referência e separá-los em pacotes que serão transmitidos pela rede [6]. RMI tem seus métodos definidos nas interfaces e tem seus métodos implementados nas classes. Esse funcionamento do RMI pode ser visto na figura 2.

22 21 Figura 2: Ilustração do funcionamento do RMI RMI pode ser utilizado da seguinte forma: imagine duas aplicações que troquem informações pela internet (via http), e que possam fazer uso da técnica referida. Ao executar uma determinada tarefa, a aplicação cliente recorre a um método; este, por sua vez, não se encontra em seu corpo. Tal método é chamado no corpo da aplicação e a aplicação irá procurar o referido método em suas interfaces. Sendo encontrado, são passados para o método os devidos parâmetros e todo o trabalho de envio dos dados, computação efetuada e recebimento dos dados de resposta ficarão transparentes ao usuário. Tal tecnologia é muito utilizada para a distribuição de poder computacional a aplicações que executem tarefas específicas, como por exemplo, uma determinada aplicação de uma agência de turismo. Esta irá precisar verificar reservas em hotéis, passagens aéreas dentre outros. Ao invés do agente de turismo ter uma aplicação para cada tipo de negócio, o mesmo pode ter uma única aplicação que faça uso de outras aplicações específicas, fazendo valer-se do RMI para a troca e execução das informações pretendidas Computação distribuída Peer-to-peer (P2P) Em sistemas distribuídos, um dos modelos de distribuição de recurso é o modelo P2P que consiste em uma distribuição de processamento e requisição de informação em uma rede de computadores, onde todos os componentes isolados do sistema P2P, chamado de nós, executam ambas as tarefas de cliente e servidor, distribuindo as responsabilidades de processamento e informação para muitos computadores [6].

23 22 Tal modelo é apresentado na figura 3, mostrando de forma visual o conceito de um sistema P2P. Note que computadores distintos, juntos, formam as redes de computadores do sistema P2P, e essas se ligam a outras redes formando blocos, os quais estão ligados a outros blocos formando uma rede maior ainda, centralizadas ou descentralizadas [6]. Figura 3: Sistema de distribuição de recurso P2P Clientes enviam consultas a servidores que, por sua vez, acessam as bases de dados, onde todas as informações ficam armazenadas e respondem com uma informação. Aplicações P2P são diferentes de aplicações cliente/servidor [10]. Enquanto aplicações cliente/servidor possuem funções definidas, nas aplicações peer-to-peer todos os componentes têm a capacidade de enviar uma requisição e enviar uma resposta, podendo compartilhar recursos. A grande vantagem de aplicações P2P é que não é necessário nenhum administrador de rede [6], [5]. Um sistema distribuído P2P propõe um modelo com as seguintes características: 1. Todos os nós são usuários de serviços em potencial e são, ao mesmo tempo, provedores em potencial desses serviços. 2. Todo nó é independente. 3. Os nós são dinâmicos, podem existir e deixar de existir imprevisivelmente.

24 23 4. A capacidade de cada nó é altamente variável. Aplicações peer-to-peer centralizada versus aplicações peer-to-peer descentralizadas Aplicações P2P podem ser de duas formas: centralizadas e descentralizadas [6]. Uma aplicação P2P centralizada usa um sistema servidor central que se conecta a cada par. Em uma aplicação centralizada, de mensagens instantâneas, quando um par quer falar com outro par, primeiramente precisa obter o endereço do par requisitado no servidor. Então, o par requisitante se comunica com o par requisitado. Se um ou mais servidores centrais falharem, a rede inteira poderá falhar [10]. Já uma aplicação descentralizada, ou aplicação P2P pura, não tem um servidor. Em uma aplicação P2P pura de mensagens instantâneas, quando o par quer se comunicar com outro, ele não precisa mais se comunicar com o servidor; em vez disso, o par requisitante descobre o par requisitado visto mecanismos de busca distribuída e envia a mensagem ao par requisitado, diretamente [6]. Buscas em tempo real podem ser lentas e aumentam o tráfego da rede à medida que consultas se propagam por ela. Aplicações P2P puras são completamente descentralizadas. A centralização melhora o desempenho de busca, mas torna a rede dependente de um servidor. Fazer transferências de arquivos entre pares reduz a carga do servidor [6]. Descoberta e busca de par Descoberta de par é o ato de descobrir pares em uma aplicação P2P [5]. Uma solução para a descoberta de par pode ser os usuários, primeiramente, se juntarem à rede especificando o seu endereço de rede. Sem conhecer pelo menos um par servidor da rede, um usuário não pode se juntar à ela. O servidor da rede recebe a pesquisa que o par previamente acoplado à rede e realiza uma busca nos arquivos indexados contidos nela. Encontrando, envia o endereço de rede do par, ou pares, que contém o alvo da busca; não encontrando, não envia resultado algum. Outra forma de executar a des-

25 24 coberta de um par é um par enviar uma mensagem com critérios de busca aos pares conectados a ele. Então, esses pares propagam a busca por toda a rede de pares. Se um par particular puder atender a busca, passa a informação de volta a quem enviou a primeira mensagem. Então, esse primeiro par se conecta diretamente com o par alvo e, assim, podem trocar informações. O par que fez a consulta original pode se identificar somente quando se conectar diretamente com o par que tem a informação requisitada para, assim, poder iniciar a transferência requisitada [10]. Figura 4: Descoberta de par em um modelo P2P centralizado Na figura 4 é apresentado o diagrama de como funciona a conectividade entre pares em um sistema P2P centralizado no que tange a descoberta de par. Quando um par requer uma determinada informação, este irá buscar no índice do servidor a fim de receber como resposta o endereço do par que contém a informação em questão. Figura 5: Descoberta de par em um modelo P2P descentralizado

26 25 Na figura 5 é apresentada a forma que os pares tomam quando se juntam à rede P2P. Estes estão diretamente conectados a todos os outros nós do sistema P2P. Em tal sistema para a requisição de informações, a pesquisa é direcionada a todos os nós. E todos estes que contiverem a informação em questão irão responder ao par requisitante com seu determinado endereço Grid A utilização de forma cooperativa e transparente de recursos distribuídos geograficamente considerando-os como um único e poderoso computador é algo desejado há bastante tempo [7]. Grid é uma proposta promissora para resolver as crescentes demandas da computação paralela e distribuída por transparência, desempenho e capacidade computacional. A infra-estrutura de Grid deve prover de forma global e transparente os recursos para aplicações de grande demanda computacional e/ou de dados [5]. Estes recursos manipulados podem ser de diferentes tipos, havendo grande heterogeneidade dentro de uma mesma classe de recursos [6]. A figura 6 ilustra a arquitetura básica de um Grid. Figura 6: Arquitetura básica de um Grid Características Existem três aspectos que caracterizam Grids computacionais [5]:

27 26 1. Heterogeneidade: um Grid envolve uma multiplicidade de recursos que são heterogêneos por natureza e que podem estar dispersos geograficamente; 2. Escalabilidade: um Grid pode crescer de poucos recursos para milhões; 3. Dinamicidade ou adaptabilidade: em um Grid a falha de um recurso é a regra, e não a exceção. Os gerenciadores de recursos ou aplicações devem adaptar o seu comportamento dinamicamente a fim de extrair o máximo de desempenho a partir dos recursos e serviços disponíveis [9]. De modo a facilitar a colaboração entre múltiplas organizações, executando diversos recursos heterogêneos autônomos, um número de princípios básicos deve ser seguido no desenvolvimento do ambiente de Grid [8]: 1. Não interferir na autonomia e administração existentes; 2. Não comprometer a segurança existente; 3. Não precisar substituir o sistema operacional, os protocolos de rede ou os serviços existentes; 4. Permitir que computadores remotos se juntem ou saiam do ambiente quando eles decidirem; 5. Não impor paradigma de programação, linguagens, ferramentas ou bibliotecas que o usuário precise usar; 6. Disponibilizar uma infra-estrutura confiável e tolerante a falhas sem um ponto único de falhas; e 7. Fornecer suporte para componentes heterogêneos. Um ambiente de Grid ideal irá prover acesso aos recursos disponíveis de forma homogênea de tal modo que descontinuidades físicas tais como diferenças entre plataformas, protocolos de rede e bordas administrativas se tornem completamente transparentes [8]. Esses ambientes são voltados para aplicações onde existem características como sincronização de processos, transferência e armazenamento de grandes volumes de dados e interoperabilidade entre aplicações heterogêneas.

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

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

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

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

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

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

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

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Serviços Web: Introdução

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

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

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

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

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

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

Leia mais

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

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

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

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

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

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

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

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

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

Sistemas Cliente-Servidor

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

Leia mais

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

Serviços Web: Arquitetura

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

Leia mais

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

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

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

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

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

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

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

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

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS Arquiteturas www.pearson.com.br capítulo 2 slide 1 2.1 Estilos Arquitetônicos Formado em termos de componentes, do modo como esses componentes estão conectados uns aos outros, dos dados trocados entre

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

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

Service Oriented Architecture (SOA)

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

Leia mais

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

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

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Sistemas Distribuídos Aula 2

Sistemas Distribuídos Aula 2 Sistemas Distribuídos Aula 2 Prof. Alexandre Beletti Ferreira Tipos de Sistemas Distribuídos Sistemas de Computação Distribuída Alta Disponibilidade / Balanceamento de carga Alto Desempenho 1 Sistemas

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

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

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

Leia mais

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

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

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

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

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

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

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 OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

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

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

Curso de Aprendizado Industrial Desenvolvedor WEB

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

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

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

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

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Sistemas Distribuídos. Introdução

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

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

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

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

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

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

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

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

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

e-ping - Padrões de Interoperabilidade de Governo Eletrônico www.governoeletronico.gov.br www.eping.e.gov.br

e-ping - Padrões de Interoperabilidade de Governo Eletrônico www.governoeletronico.gov.br www.eping.e.gov.br e-ping - Padrões de Interoperabilidade de Governo Eletrônico www.governoeletronico.gov.br www.eping.e.gov.br e PING: Segmentação Interconexão Segurança Meios de acesso Organização e intercâmbio de informações

Leia mais

Firewall. Alunos: Hélio Cândido Andersson Sales

Firewall. Alunos: Hélio Cândido Andersson Sales Firewall Alunos: Hélio Cândido Andersson Sales O que é Firewall? Firewall pode ser definido como uma barreira de proteção, que controla o tráfego de dados entre seu computador e a Internet (ou entre a

Leia mais

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral da solução Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral À medida que tecnologias como nuvem, mobilidade, mídias sociais e vídeo assumem papéis

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

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

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

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

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

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP Anexo VI Edital nº 03361/2008 Projeto de Integração das informações de Identificação Civil 1. Definições de interoperabilidade adotadas pela SENASP A Senasp procura adotar os padrões de interoperabilidade

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

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

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

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação

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

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc. Endereços IP Endereços IP IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.) precisam ter endereços. Graças

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais