Smart Proxies para Invocação de Serviços Web Replicados
|
|
- Lara Monsanto
- 5 Há anos
- Visualizações:
Transcrição
1 Smart Proxies para Invocação de Serviços Web Replicados José Geraldo Ribeiro Júnior (CEFET-MG / PUC Minas) Orientador: Prof. Marco Túlio Valente (PUC Minas) Fevereiro 2007
2 Apresentação Motivação Proposta Trabalhos relacionados Sistema SmartWS Experimentos Contribuições Conclusão Trabalhos Futuros 2/64
3 Motivação Potencial de Serviços Web para tornar realidade, idéias e princípios propostos em Computação Orientada por Serviços (SOC) Características do ambiente Flutuações de largura de banda Alto número de falhas Elevadas latências Desafios na busca de QoS na Internet Desempenho Disponibilidade 3/64
4 Replicação Vantagem Incrementa o desempenho e a disponibilidade de aplicações distribuídas Dificuldades Localização da réplica Diferenças entre réplicas 4/64
5 Solução - Middleware Vantagem Apoio ao desenvolvimento de clientes de serviços Web evitando o entrelaçamento entre o código funcional e não-funcional Considerar Características do cliente Latência de rede Carga de processamento nos servidores Dificuldade Atuais plataformas de middleware não disponibilizam suporte a replicação 5/64
6 Proposta Uso de Smart Proxies Extensão que inclui a especificação e geração de proxies especiais, destinados a encapsular as tarefas relacionadas com a seleção da melhor réplica de um serviço Extensão proposta - SmartWS Recursos definição de interfaces abstratas definição de políticas de seleção definição de adaptadores de interface definição de sessões de uso definição de protocolo de invocação de métodos 6/64
7 Trabalhos relacionados Políticas para seleção transparente de serviços Web replicados (implementadas por clientes) Framework RWS Implementa cinco políticas para seleção de servidores Web replicados: Aleatória (Randômica), Paralela, HTTPing, Melhor Última e Melhor Mediana Apresenta uma avaliação empírica das políticas implementadas, utilizando serviços Web reais espalhados em três continentes 7/64
8 Análise crítica - RWS Deixa a cargo da aplicação cliente a definição da política de seleção de réplica Não apresenta diretrizes claras e objetivas sobre os ambientes de rede adequados a cada uma das políticas propostas Não considera o fato dos servidores Web possuírem picos distintos de processamento e tráfego de rede de acordo com os fuso horários O cenário utilizado apresentava poucas falhas e por isso ignorou-se o tratamento de falhas Conseqüência: não foi possível detectar o problema de adaptação da política via Melhor Mediana 8/64
9 Contribuições em relação a RWS Proposta da política PBM (Parallel Best Median) para seleção de servidores Diretrizes claras e objetivas sobre os ambientes de rede adequados a cada uma das políticas de seleção de réplicas propostas Suporte a adaptadores de interfaces Suporte ao estabelecimento de sessões de uso de um servidor Suporte a protocolos de invocação de métodos Geração automática dos smart proxies, a partir de uma linguagem de especificação de alto nível 9/64
10 SmartWS Políticas de seleção de réplicas Seleção Estática Seleção Aleatória Seleção Paralela Seleção via Melhor Mediana Seleção PBM (Parallel Best Median) 10/64
11 Política de seleção - Estática Funcionamento Programador define, estaticamente, a ordem em que as réplicas serão invocadas (em caso de falhas) A política falha quando todas as réplicas falham Aplicação Tempos de resposta previamente conhecidos Prioridade de acesso a determinada réplica Sintaxe de uso em SmartWS policy service1 > service2 >... > servicen 11/64
12 Política de seleção - Aleatória Funcionamento Escolhe-se aleatoriamente a réplica que será invocada pelo cliente A política falha quando todas as réplicas falham Aplicação Servidores com características e tempos de resposta semelhantes Sintaxe de uso em SmartWS policy service1? service2?...? servicen 12/64
13 Política de seleção - Paralela Funcionamento Invoca-se concorrentemente todas as réplicas conhecidas de um serviço Web A política falha quando todas as réplicas falham Aplicação Tempos de resposta desconhecidos É permitido invocar todas as réplicas simultaneamente Desvantagem: overhead gerado Sintaxe de uso em SmartWS policy service1 service2... servicen 13/64
14 Política de seleção Melhor Mediana Funcionamento O serviço invocado é aquele que possui a menor mediana dentre as k últimas invocações A política falha quando todas as réplicas falham Aplicação Tempos de resposta desconhecidos Pequena variação nos tempos de resposta Poucas falhas Sintaxe de uso em SmartWS policy bestmedian(service1, service2,..., servicen) 14/64
15 Problemas detectados Política não se adapta a grandes variações no tempo de resposta e falhas Conseqüência: invocação de um serviço que se recuperou (após uma seqüência ruim de invocações) depende da piora de todos os outros Uso de buffer grande Conseqüência: tamanho do buffer está diretamente relacionado ao tempo necessário para adaptação 15/64
16 Exemplo de uso - Buffer com 13 posições Política utilizada - via Melhor Mediana. Mediana dos servidores: A = 400ms, B = 500ms, C = 650ms, D = 580ms Servidor A Posição do Situação 1 9 invocações Buffer (ms) depois (ms) Mediana /64
17 Princípios básicos para definição da política PBM (Parallel Best Median) Resolver o problema do overhead gerado pela política Paralela Proposta: definir um limite superior para o paralelismo, baseado nas características da rede Utilizar outros recursos além da escolha da melhor mediana (cenário que apresente alterações bruscas nos tempos de resposta ou falhas) Proposta: é imprescindível, independentemente do critério para seleção da réplica, renovar os tempos de todos os servidores periodicamente, para obter um novo panorama do cenário 17/64
18 Política de seleção PBM (Parallel Best Median) Combina aspectos positivos das políticas de seleção Paralela e via Melhor Mediana A cada ciclo com n invocações, as t primeiras invocações funcionam de forma idêntica à política Paralela Objetivo Atualizar o tempo de resposta de todos os servidores no início de cada ciclo Permitir que servidores voltem a ser selecionados Obs.: t deve ser igual ao b, onde b é o tamanho do buffer 2 18/64
19 Política de seleção PBM (Parallel Best Median) Nas próximas invocações do ciclo, invoca-se de forma concorrente: o serviço com a menor mediana m os serviços cujas medianas são menores ou iguais a m*k (limitados a um máximo de p servidores (k > 0, p r)) k - grau de paralelismo, p - limite superior para este paralelismo e r - total de réplicas Aplicação Tempos de resposta desconhecidos Variação nos tempos de resposta Falhas 19/64
20 Política de seleção PBM (Parallel Best Median) A política falha quando todas as réplicas falham Sintaxe de uso em SmartWS policy pbm(1.2, 2, 10, 3, service1, service2,.., servicen) Obs.: respectivamente: k, p, n, t 20/64
21 Composição de políticas Exemplo 1 policy (service1 service2 service3) > service4 Exemplo 2 policy pbm(1.2, 2, 10, 3, service1, service2, service3) > (service4 service5) 21/64
22 Adaptadores de interface Possíveis diferenças entre interfaces Nome dos métodos Número, tipo e ordem dos parâmetros de entrada SmartWS se vale dos conceitos de interfaces abstratas e adaptadores de interfaces Objetivo: compatibilizar a interface abstrata de um cliente com as interfaces concretas das réplicas que este cliente consulta Um objeto adaptador deve implementar a interface abstrata e possuir uma referência para o serviço que está sendo adaptado 22/64
23 Sessão de uso As operações opstart e opend delimitam uma sessão Desabilitam e habilitam o emprego de uma política de seleção de réplicas Aplicação Operação altera o estado de uma réplica e exige que as operações seguintes sejam processadas sobre o estado alterado Exemplo - Sistema de comércio eletrônico: operações como pesquisaproduto, login e logout 23/64
24 Protocolo de Invocação Define um protocolo com seqüências válidas de mensagens enviadas aos servidores remotos por meio de um AFD Cada transição representa uma chamada ao método da interface abstrata (se o estado atual não possui uma transição correspondente ao método, a referida chamada é inválida) 24/64
25 Estudo de caso Método Invocado pesqproduto pesqproduto additemcarrinho login additemcarrinho listacarrinho efetuacompra logout pesqproduto pesqproduto Servidor Estado q0 q0 Msg Erro q1 q1 q1 q1 q0 q0 q0 25/64
26 Timeout Tempo máximo no qual o cliente está disposto a esperar por uma resposta das réplicas Tempo considerado a partir da invocação até o momento em que a aplicação cliente recebe a resposta Timeout em sessões de uso No caso de perda da conexão durante uma sessão de uso é possível definir: número de tentativas para restabelecer a sessão intervalo entre cada tentativa 26/64
27 Interface de Programação SmartWS Arquitetura Geração Funcionamento Linguagem de especificação 27/64
28 Arquitetura do Sistema 28/64
29 Processo de geração de SmartWS 29/64
30 Funcionamento de SmartWS (política PBM) 30/64
31 Linguagem de especificação (sintaxe) interface name= EchoInt webservice alias= service1 uri= adapter= terra1 webservice alias= service2 uri= adapter= terra2 webservice... buffer size= 5 refresh= 20 timeout= policy pbm(1.2, 2, 10, 3, service1, service2,..., servicen ) end 31/64
32 Linguagem de especificação (sintaxe)... buffer... session begin= login finish= logout retry= 5 interval= 3000 protocol methods= pesqproduto, login, logout, additemcarrinho, remitemcarrinho, efetuacompra, limpacarrinho, listacarrinho states= q0, q1 transitions= q0, pesqproduto, q0; q0, login, q1; q1, additemcarrinho remitemcarrinho..., q1; q1, logout, q0; timeout = policy... end 32/64
33 Exemplo de implementação de uma aplicação cliente de SmartWS public class cliente { public static void main(string[] args){ //Instancia o objeto do tipo PROXY convtemp teste = PROXY.getInstance(); for(int x=1; x<=100; x++) { try { teste.ctof(100); } catch (WSFailureInvocation e) {... } catch (ProtocolFailure e) {... } catch (Exception e) {... } } } } 33/64
34 Resultados Experimentais Cenário 1 4 experimentos curtos 100 invocações (cada política) 3 servidores utilizados em cada experimento Políticas utilizadas: Estática, Aleatória, Paralela, via Melhor Mediana e PBM Serviço utilizado conversão de temperatura Cenário 2 3 experimentos de longa duração Cada experimento 4 dias (segunda a quinta-feira) 24h por dia 6 servidores utilizados Políticas utilizadas: Aleatória, Paralela, via Melhor Mediana e 2 variações da política PBM Serviço utilizado Echo (mensagens de 8 KB, 4 KB e 1 KB) 34/64
35 Resultados Experimentais Experimento 1 (Cenário 1) Foram utilizados 3 servidores (WebserviceX, DeveloperDays, local) 35/64
36 Resultados Experimentais Experimento 2 (Cenário 1) Foram utilizados 3 servidores locais (iniciados sem nenhuma carga extra de processamento) 36/64
37 Resultados Experimentais Experimento 2 (Cenário 1) Distribuição de cargas 37/64
38 Resultados Experimentais Experimento 3 (Cenário 1) Foram utilizados 3 servidores remotos (WebserviceX, DeveloperDays, CEFET-MG) O tempo de resposta dos servidores variava de forma considerável Servidores apresentavam sempre uma baixa taxa de falhas 38/64
39 Resultados Experimentais 39/64
40 Resultados Experimentais Experimento 4 (Cenário 1) Foram utilizados 3 servidores (WebserviceX, DeveloperDays, local (indisponível nas primeiras 50 invocações)) 40/64
41 Resultados Experimentais 41/64
42 Resultados Experimentais Serviços utilizados nos Experimentos 5, 6 e 7 (Cenário 2) WS (Terra) WS (Terra) WS (Empresa de BH) WS (Empresa de BH) WS (CEFET - MG) WS (Unicamp) 42/64
43 Resultados Experimentais Configurações da política PBM nos Experimentos 5, 6 e 7 (Cenário 2) Argumentos n t k p PBM ,2 1 PBM ,2 2 43/64
44 Resultados Experimentais Semana 1ª 2ª 3ª Registro de falhas durante os Experimentos do Cenário 2 Mensagens 8 KB 4 KB 1 KB Experimento Número de Invocações Timeouts 424 (1,4%) 887 (3,4%) 1382 (3,6%) Outras falhas 66 (0,2%) 41 (0,2%) 29 (0,1%) Obs.: Outras falhas - falhas na rede local, no acesso à Internet ou nos servidores consultados 44/64
45 Resultados Experimentais Experimento 5 (Cenário 2) Experimentos com 8 KB 45/64
46 Resultados Experimentais 46/64
47 Resultados Experimentais 47/64
48 Resultados Experimentais 48/64
49 Resultados Experimentais Experimento 6 (Cenário 2) Experimentos com 4 KB 49/64
50 Resultados Experimentais 50/64
51 Resultados Experimentais 51/64
52 Resultados Experimentais 52/64
53 Resultados Experimentais Experimento 7 (Cenário 2) Experimentos com 1 KB 53/64
54 Resultados Experimentais 54/64
55 Resultados Experimentais 55/64
56 Resultados Experimentais 56/64
57 Resultados Experimentais Somatório dos tempos de invocação - Mensagens de 8 KB 57/64
58 Resultados Experimentais Somatório dos tempos de invocação - Mensagens de 4 KB 58/64
59 Resultados Experimentais Somatório dos tempos de invocação - Mensagens de 1 KB 59/64
60 Contribuições Proposta de uma nova política de seleção chamada PBM (Parallel Best Median) Implementação de um protótipo em Java do sistema SmartWS Utiliza o conceito de smart proxies Suporta as principais políticas de seleção de servidores replicados, incluindo a política proposta PBM Adaptação de interfaces remotas Estabelecimento de sessões de uso Definição de protocolos de invocação Smart proxies são gerados automaticamente a partir de uma linguagem de especificação de alto nível Validação do protótipo proposto, por meio de experimentos Definição de diretrizes que permitem a um programador de clientes de serviços Web optar pela política mais adequada a sua aplicação 60/64
61 Conclusão Diretrizes para escolha de políticas de seleção de réplicas Política Estática Aleatória Mediana Ambiente Computacional Recomendada quando se tem servidores com tempos de resposta conhecidos a priori, estáveis e diferentes entre si (Experimento 1) Recomendada quando se tem servidores com tempos de resposta conhecidos a priori, estáveis e semelhantes entre si (Experimento 2) Recomendada quando se tem servidores desconhecidos a priori, mas que apresentam pequenas variações nos tempos de resposta. Não recomendada para ambientes instáveis, como a Internet (Experimentos 3, 5, 6 e 7) 61/64
62 Conclusão Política Paralela PBM Ambiente Computacional Recomendada quando se tem servidores com tempos de resposta desconhecidos ou que variam ao longo do tempo, que falham com freqüência considerável e em situações onde é permitido invocar todas as réplicas simultaneamente. Recomendado somente quando se utiliza um tamanho de mensagem que gere um overhead suportado pela rede (Experimentos 6 e 7) Recomendada quando se tem servidores com tempos de resposta desconhecidos ou que variam ao longo do tempo, que falham com freqüência considerável e onde o tamanho da mensagem não é previamente conhecido. Recomendada para ambientes como a Internet (Experimentos 4, 5, 6 e 7) 62/64
63 Trabalhos Futuros Permitir que as configurações da política PBM sejam definidas em tempo de execução Definir, por exemplo, um tamanho de ciclo maior ou menor, como mais ou menos invocações em paralelo Desenvolver um mecanismo para monitoramento e análise dos dados históricos, com o objetivo de prever mudanças de comportamento no ambiente Sugestão - utilizar técnicas de Inteligência Artificial como, por exemplo, Redes Neurais Fazer um estudo para definir o limite suportado com mensagens de tamanho x em uma rede com largura de banda y, acessando em paralelo z servidores Web 63/64
64 Trabalhos Futuros Permitir, em tempo de execução, uma combinação das políticas suportadas por SmartWS, ou mesmo alteração entre elas Definir em SmartWS a utilização de buffers diferentes para cada método, ou classes de métodos, de um servidor 64/64
65 Smart Proxies para Invocação de Serviços Web Replicados José Geraldo Ribeiro Júnior (CEFET-MG / PUC Minas) Orientador: Prof. Marco Túlio Valente (PUC Minas) Fevereiro 2007
Smart Proxies para Invocação de Serviços Web Replicados
Smart Proxies para Invocação de Serviços Web Replicados José Geraldo R. Junior PUC Minas Belo Horizonte, Brasil jgrjunior@gmail.com Glauber Tadeu S. Carmo PUC Minas Belo Horizonte, Brasil glaubertadeu@gmail.com
Leia maisProf. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
Leia maisSmart Proxies para Invocação de Serviços Web Replicados
José Geraldo Ribeiro Júnior Smart Proxies para Invocação de Serviços Web Replicados Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Informática da Pontifícia Universidade Católica de
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,
Leia maisSistemas Operacionais II
Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como
Leia maisRPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
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 maisSistemas Distribuídos
Sistemas Distribuídos RPC Remote Procedure Call 1 Fonte: Alcides Calsavara e Thais V. Batista Chamada de Procedimentos Remotos (RPC) Motivação: comunicação baseada em operações de entrada/saída Ideal:
Leia maisHMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP
HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP Aluno: Abel Luiz Cechinel Orientador: Paulo Fernando da Silva Sumário Introdução; Fundamentação Teórica; Desenvolvimento; Conclusão;
Leia maisInvocação Remota. Prof. Leonardo Barreto Campos. 1/29
Invocação Remota Prof. Leonardo Barreto Campos 1/29 Sumário Introdução Chamada de Procedimento Remoto Invocação a Método Remoto Leitura Complementar Bibliografia 2/29 Introdução Essa aula trata como os
Leia maisDesenvolvimento de Aplicações Distribuídas
Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características
Leia mais15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado
Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisProgramando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD
Leia maisAspectos para Construção de Aplicações Distribuídas
Aspectos para Construção de Aplicações Distribuídas Cristiano Amaral Maffort maffort@gmail.com Programa de Pós-Graduação em Informática PUC Minas Belo Horizonte MG 12 de junho de 2007 Middleware Objetivo:
Leia maisObjetos e Componentes Distribuídos: EJB e CORBA
: EJB e CORBA 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
Leia maisINTRODUÇÃO. RPC x RMI
1 INTRODUÇÃO RPC x RMI 2 INTRODUÇÃO RPC Remote procedure call Este termo é utilizado para aplicativos clientes que fazem normalmente chamadas a procedimentos remotos que estão em outro processo e hosts.
Leia maisAULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES
Leia maisIntroduçã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 maisUNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula
Leia maisInformática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1
Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Autor Autor Local Cláudio Geyer Instituto de Informática disciplinas: POD e PDP Versão v4 2010-1 Programação com Objetos Distribuídos
Leia maisReuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 5 - PROGRAMAÇÃO DISTRIBUÍDA COM RMI 1 (Remote Method Invocation) 1. INTRODUÇÃO Sistemas distribuídos necessitam que aplicações, executando em vários espaços de endereçamento, normalmente em diferentes
Leia maisUniversidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de
Leia maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisINTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA ORIENTADA A SERVIÇO
6ª Jornada Científica e Tecnológica e 3º Simpósio de Pós-Graduação do IFSULDEMINAS 04 e 05 de novembro de 2014, Pouso Alegre/MG INTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA
Leia maisAvanços e Perspectivas do Projeto Integrade na UFMA
Avanços e Perspectivas do Projeto Integrade na UFMA Francisco José da Silva e Silva Universidade Federal do Maranhão - UFMA Departamento de Informática Laboratório de Sistemas Distribuídos - LSD Agosto
Leia maisSistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34
Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo
Leia maisPrincipais conceitos de CORBA
Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem
Leia maisProgramação Distribuída. Metas de um Sistema Distribuído
Programação Distribuída Metas de um Sistema Distribuído Programação Distribuída Metas de um Sistema Distribuído Um S.D. deve oferecer: 1. fácil acesso a seus recursos; 2. ocultar onde estão esses recursos,
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Introdução Instructor's Guide for Colouris et al. SDs de diferentes tipos compartilham importantes propriedades fundamentais e
Leia mais5 Processo de Reificação e de Desenvolvimento com ACCA
Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes
Leia maisComponente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída
11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando
Leia maisDesenvolvimento de um Framework para replicação de dados entre bancos heterogêneos
Desenvolvimento de um Framework para replicação de dados entre bancos heterogêneos João Batista Gianisini JúniorJ Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação
Leia maisUm Serviço Escalável e Robusto para Gerenciamento de Membros em Grades Computacionais de Grande Escala*
Um Serviço Escalável e Robusto para Gerenciamento de Membros em Grades Computacionais de Grande Escala* Fernando Castor Filho 1, Rodrigo Castro 2, Augusta Marques 2, Francisco M. Soares-Neto 2, Raphael
Leia maisEstágio Supervisionado
Estágio Supervisionado Protótipo de um sistema de pré-matrícula via Internet utilizando agentes com acesso a banco de dados. Acadêmico : Mauri Ferrandin Empresa : FERJ Orientador na Empresa : Achilles
Leia maisO que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Leia maisTecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?
network link: Tecnologias de Distribuição e Integração ISP intranet backbone desktop computer: server: satellite link no interior de uma organização (intranet) clientes externos entre organizações 2 Quais
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se
Leia maisNúmero: Nome: Página 1 de 7. Duração da prova: 1h30m. Grupo I [7] Considere o seguinte excerto (incompleto) de um programa cliente em SUN RPC:
Número: Nome: Página 1 de 7 LEIC/LETI 2016/17, Repescagem do 1º Teste de Sistemas Distribuídos 4 de julho de 2017 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma
Leia maisPMR3507 Fábrica digital
LSA Laboratório de Sistemas de Automação www.pmrlsa.poli.usp.br PMR3507 Fábrica digital Do EDI ao SOA Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas
Leia maisCaracterísticas de Sistemas Distribuídos
Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito
Leia maisAlcides Pamplona
Alcides Pamplona alcides.pamplona@gmail.com Objetivos Gerais Capacitar o aluno a compreender os paradigmas dos Bancos de Dados Distribuídos, visando sua aplicação na análise e projeto de bancos de dados
Leia maisAula 7 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos
Aula 7 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais MBA em Marketing e
Leia maisUnidade 3: Classes em Java Para Programadores C Classes, Objetos e Tratamento de Erros Prof. Daniel Caetano
Programação Servidor em Sistemas Web 1 Unidade 3: Classes em Java Para Programadores C Classes, Objetos e Tratamento de Erros Prof. Daniel Caetano Objetivo: Apresentar resumidamente os conceitos de classes,
Leia maisArquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers
Projeto de Sistemas Distribuídos Prof João Paulo A Almeida (@infufesbr) Projeto de Sistemas Distribuídos Até agora consideramos apenas a infraestrutura para a construção de aplicações distribuídas (middleware)
Leia maisProcessos ca 3 pítulo
Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém
Leia maisReplicação em sistemas web
Sistemas Distribuídos maio de 2015 Servidores Web tolerância a falhas desempenho/escalabilidade desempenho: uso de servidores mais potentes (scale-up x scale-out) caching Servidores Web tolerância a falhas
Leia maisGrupo I [7v] b) [0,3] Em que componente do sistema de RPC será utilizado o campo identificador de operação?
Número: Nome: Página 1 de 7 LEIC/LETI 2013/14, 1º Teste de Sistemas Distribuídos, 29 de Março de 2014 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maiscontidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.
Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens
Leia maisBanco de Dados I Curso: Sistemas de Informação
Banco de Dados I Curso: Sistemas de Informação Prof.: José Ronaldo Leles Júnior Email.: juniorleles80@gmail.com Alguns aspectos da arquitetura dos computadores têm influência na arquitetura do banco de
Leia maisLEIC-T LERC MEIC-T 2011/2012 1º Semestre Programação com Objetos 2012/01/07 11h00m 3/10
2/10 1.1. (1.5 val.) Os mecanismos de herança entre classes e de composição de objetos são, por vezes, apresentados como alternativos, face à disponibilização de funcionalidade a uma classe. Compare-os,
Leia maisRMI e RPC. RPC significou um passo muito grande em direcção à
Sumário RMI Conceito. Arquitectura de Implementação. Java RMI Características. Interfaces e Objectos Remotos JVM e Java RMI. Passagem de Argumentos e Serialização. Class Downloading. 1 RMI e RPC RPC significou
Leia maisGRADE HORÁRIA 2º SEMESTRE DE 2017
1º PERÍODO/SEMESTRE # TURNO Noite # SALA # Nº DE ALUNOS HORÁRIO 2ª-FEIRA 3ª-FEIRA 4ª-FEIRA 6ª-FEIRA SÁBADO Lógica Computacional e Lógica Computacional e Português Metodologia Aplicativos em Nuvem Instrumental
Leia maisCommon Object Request Broker Architecture
Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores
Leia mais7.1 Trabalhos Relacionados
7 Conclusões O desenvolvimento de aplicações adaptáveis traz novos desafios em relação ao desenvolvimento de software convencional. Em parte, isso está relacionado às diferentes características das diversas
Leia maisSistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !
Sistemas Distribuídos Aspectos de Projeto de SD Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento
Leia maisFACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO
FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO ESW200 Introdução à Engenharia de Software 2 36 30 - ESW201 Prática de Programação I
Leia maisCaracterísticas de Sistemas Distribuídos
Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens
Leia maisSistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Leia maisArquiteturas. capítulo
Arquiteturas capítulo 2 Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores Client invocation invocation Server result Server result Client Key: Process: Computer: Modelos
Leia maisProgramação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos
Programação Concorrente com Thread Java Luiz Affonso Guedes Sistemas Distribuidos Definições Básicas Threads são sub-procesos no sistema operacional. É menos custoso gerenciar threads do que processos.
Leia maisNum sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 9-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Leia maisModel Driven Development (MDD)
Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software
Leia maisAula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS Marcelo Henrique dos Santos Marcelo Henrique dos Santos Email: Site: marcelosantos@outlook.com www.marcelohsantos.com.br TECNOLOGIA EM JOGOS
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado
Leia maisSISTEMAS OPERACIONAIS DE REDE
SISTEMAS OPERACIONAIS DE REDE Questão 01 O sistema operacional gerencia o sistema de arquivos, que irá armazenar as informações/arquivos. Para esta tarefa, durante a formatação do disco rígido, são criados
Leia maisSingleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)
e Adapter Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Factory Method Abstract Factory 2 O que veremos hoje? (padrão de criaçã) Adapter
Leia maisQuando Distribuir é bom
Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.
Leia maisReplicação em sistemas web
Sistemas Distribuídos abril de 2018 Servidores Web tolerância a falhas desempenho/escalabilidade desempenho: uso de servidores mais potentes (scale-up x scale-out) caching uso de servidores replicados
Leia maisUNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação Processamento Paralelo Threads Aluno: Wagner Palacio Turma: 3º período Professor: Giordano Cabral Recife, 29 de maio de 2012
Leia maisEngenharia de Confiança. Helena Macedo Reis Luis Fernando de Souza Moro
Engenharia de Confiança Helena Macedo Reis Luis Fernando de Souza Moro 1 Engenharia de Confiança Preocupada com técnicas que aumentam a confiança e diminui os riscos de falhas Falha pode causar perda de
Leia maisPalavras-chave: (banco de dados; prontuário médico; paciente); deve vir logo abaixo do resumo
BANCO DE DADOS PARA UM PRONTUÁRIO MÉDICO ELETRÔNICO Nome dos autores: Igor Barreto Rodrigues¹; Patrick Letouze Moreira² 1 Aluno do Curso de Ciência da Computação; Campus de Palmas; e-mail: igor.cientista@uft.edu.br
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisCOMPUTAÇÃO DISTRIBUÍDA
COMPUTAÇÃO DISTRIBUÍDA INTRODUÇÃO Carlos Ferraz MOTIVAÇÃO Computação em evolução Antes disso Sistemas de Software (Aplicações) Infraestrutura de Software Infraestrutura de Hardware Infraestrutura
Leia maisArquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW
Arquitetura da World Wide Web World Wide Web Sistema de informação em escala global acessível em tempo real através de redes de computadores como a Internet. Comércio Eletrônico na WWW Wagner Meira Jr.,
Leia maisTratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)
Tratamento de Exceção Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de exceção Exceção é uma contração de Evento de Exceção Evento de exceção impede a execução normal de um programa Quando
Leia maisESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO
5. Requisitos do Sistema No: 01 ( X ) Funcional ( ) Não funcional Requisito: Armazenamento Descrição: O sistema deve permitir o armazenamento de experimentos de biodiversidade produzidos no openmodeller.
Leia maisVamos fazer um pequeno experimento
1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com
Leia maisProtótipo tipo de um ambiente virtual distribuído
Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Departamento de Sistemas e Computação Protótipo tipo de um ambiente virtual distribuído do multiusuário Acadêmico: Leonardo Willrich
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE II SUMÁRIO 3. THREAD: 3.1 Introdução; 3.2 Ambiente Monothread; 3.3 Ambiente Multithread; 3.4 Arquitetura e Implementação; 3.5 Modelos
Leia maisRede de computadores Cliente- servidor. Professor Carlos Muniz
Rede de computadores Professor Carlos Muniz Definição Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.
Leia maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisProcessamento distribuído em ambiente peer-to-peer
Processamento distribuído em ambiente peer-to-peer Alexandre Helfrich Orientando Prof. Paulo Fernando da Silva Orientador Roteiro Introdução e Objetivos Fundamentação Teórica, Conceitos e Contexto Atual
Leia maisSistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21
Sistemas de Objetos Distribuídos Primeira Aplicação Java ORB Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosPrimeira Aplicação
Leia maisUm Servidor HTTP/2 Reativo em Scala
Um Servidor HTTP/2 Reativo em Scala Trabalho de Conclusão de Curso - BCC 2015 Daniel Q. Miranda Orientador: Prof. Dr. Daniel Macêdo Batista HyperText Transfer Protocol HTTP
Leia maisUm Protótipo de Servidor Multimídia com Mecanismos de QoS
Um Protótipo de Servidor Multimídia com Mecanismos de QoS Laboratório de Modelagem, Análise e Desenvolvimento de Sistemas de Computação e Comunicação - LAND COPPE/UFRJ Autores Adriane de Quevedo Cardozo
Leia maisUniversidade Federal do Maranhão
Universidade Federal do Maranhão Banco de Dados II Banco de Dados Distribuídos Carlos Eduardo Portela Serra de Castro * Sumário Introdução Vantagens Projeto de Bases de Dados Distribuídas Classificação
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização
Leia maisO que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.
Web Services Por que os Web Services são atrativos para a integração de sistemas? Pois os Web services são componentes que possibilitam que as aplicações se comuniquem utilizando protocolos padrão da internet
Leia maisAdaptação Dinâmica desistemas Distribuídos p.1/54
Adaptação Dinâmica de Sistemas Distribuídos Francisco José da Silva e Silva Orientadores: Prof. Dr. Markus Endler Prof. Dr. Fabio Kon Instituto de Matemática e Estatística da Universidade de São Paulo
Leia maisOrganização de Computadores II. Arquiteturas MIMD
Organização de Computadores II Arquiteturas MIMD Arquiteturas UMA Arquiteturas com memória única global. Tempo de acesso uniforme para todos os nós de processamento. Nós de processamento e memória interconectados
Leia maisSistemas Distribuídos
Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir
Leia maisInterfaces e Classes Internas
e Classes Internas SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisThread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41
Thread Sistemas Operacionais Leonard B. Moreira UNIVERSIDADE ESTÁCIO DE SÁ e-mail: leonardbarreto@gmail.com.br fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread
Leia maisPROVIDING DEPENDABILITY FOR WEB SERVICES
PROVIDING DEPENDABILITY FOR WEB SERVICES Dário Lima Pedro Venâncio a16435 m2610 Sistemas Distribuídos e Tolerância a Falhas 1 Esta tecnologia tem como finalidade proporcionar interoperabilidade para aplicações
Leia maisINF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores
Leia maisChamada Remota de Procedimento (RPC)
Chamada Remota de Procedimento (RPC) cont semântica de chamadas pelo menos uma vez no máximo uma vez exatamente uma vez relação com protocolo subjacente falhas e reinicializações de servidores funções
Leia mais