Escolar Documentos
Profissional Documentos
Cultura Documentos
Arquiteturas distribuídas
para sistemas colaborativos
1 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Objetivo do Capítulo
• Sistemas colaborativos são sistemas distribuídos que
apresentam desafios específicos
• Objetivo do capítulo
– Discutir conceitos sobre as arquiteturas distribuídas utilizadas no
desenvolvimento de sistemas colaborativos
– São apresentados três modelos de arquiteturas de distribuição
utilizados no desenvolvimento de Sistemas Colaborativos:
• arquiteturas centralizadas, descentralizadas e híbridas
– Escolha do modelo tem influência sobre diferentes aspectos do
sistema, como desempenho, tolerância a falhas, segurança, entre
outros.
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 2 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Plano do Capítulo
• Sistemas Colaborativos são Sistemas Distribuídos
• Sistemas Colaborativos e Distribuídos
• Modelos de Arquiteturas de Distribuição
– Arquiteturas Centralizadas, Descentralizadas e Híbridas
• Arquiteturas P2P para Sistemas Colaborativos
– Modelos de Arquiteturas P2P, Tecnologias e Aplicações Colaborativas
P2P
• Arquiteturas Orientadas a Serviço
– Colaboração Orientada a Serviço
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 3 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 4 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Videoconfência
Email Compartilhamento de
Quadro Branco aplicação/desktop
Compartilhado
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 5 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 6 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 7 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Compartilhamento de Recursos
• Compartilhamento de Recursos
– Recursos de hardware (impressora) ou software e
informações (arquivos ou bancos de dados).
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 8 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Compartilhamento de Recursos
– Gerenciadores de recursos: controlam o
acesso aos recursos compartilhados
– Mecanismo de controle de concorrência:
garante a consistência pela
sincronização de acessos
concorrentes
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 9 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 10 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 11 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 12 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 13 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 14 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 15 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Desafios
• Sistemas colaborativos síncronos
– Aspectos de tempo real
– Sujeitos ao serviço do tipo “melhor esforço” das redes
– Influência da rede
• No tempo de feedback e feedthrough, e nas qualidades de áudio, vídeo e
renderização 3D
• Disponibilidade do sistema
• Interoperabilidade
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 16 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
• Arquitetura de distribuição
– É definida com base na arquitetura conceitual
– Apresenta o sistema como um sistema distribuído
• Em tempo de execução
– Componentes instanciados em objetos, executados dentro de
processos
– Direciona a implementação do sistema
– Três tipos principais de arquiteturas
• Centralizadas, descentralizadas e híbridas
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 17 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Arquiteturas Centralizadas
• Segue o modelo cliente-servidor
– O servidor realiza todo o processamento necessário à gerência e
execução da colaboração
– O cliente executa apenas os serviços de apresentação de interface
gráfica
• Implementação simples
– Elimina-se problemas de sincronização, consistência e segurança
– Facilidade para gerenciar concorrência e acomodar latecomers
• Problemas
– Feedback suscetível aos atrasos de rede; muita trocada de informações
– Baixa escalabilidade e baixa tolerância a falhas
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 18 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Arquiteturas Centralizadas
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 19 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Arquiteturas Descentralizadas
• Processamento executado de forma distribuída
• Complexidade
– Sincronização e manutenção da consistência
• Espaço de trabalho compartilhado temporariamente inconsistente
Replicação
das ações
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 21 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Arquiteturas Descentralizadas
• Sincronização direta do estado de trabalho compartilhado
– Canal de sincronização direto entre as cópias do espaço de trabalho
– Se uma cópia é alterada, o novo estado do espaço de trabalho (ou
parte deste) é repassado às demais cópias
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 22 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Arquiteturas Híbridas
• Combinam características de arquiteturas centralizadas e
descentralizadas em um único sistema
• Exemplos:
– Um servidor responsável pelo espaço de trabalho compartilhado, e
cada cliente responsável pelo espaço de trabalho privado e
processamento gráfico
• Simplicidade e escalabilidade
– Parte do espaço de trabalho compartilhado é gerenciada pelo servidor
e outra parte é gerenciada pelos clientes de forma distribuída
• O servidor aplica um mecanismo pessimista (recursos compartilhados
críticos)
• O cliente aplica um mecanismo otimista (melhor feedback)
– Acomodar em um mesmo ambiente sistemas com diferentes
capacidades computacionais
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 23 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 24 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
• Propriedades
– Escalabilidade
– Robustez
– Flexibilidade
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 25 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 26 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
• Arquitetura Híbrida
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 27 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
• Tecnologias
– SOAP, WSDL UDDI
– RESTful
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 28 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 29 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Exercício
• Na atualidade, um dos desafios na área Sistemas Colaborativos
é prover suporte à colaboração ad hoc em que usuários
móveis, desconhecidos entre si, possam espontaneamente
iniciar uma atividade colaborativa. Explique por que SOA pode
ser uma solução adequada para o desenvolvimento deste tipo
de sistema colaborativo.
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 30 30
CAP.20 - Arquiteturas distribuídas para sistemas colaborativos
Sistemas Colaborativos
Pimentel, M., Fuks, H. (Org.)
Editora SBC/Elsevier, 2011
ISBN 978-85-352-4669-8
Esta apresentação é para ser usada como conteúdo de apoio na preparação de aulas relacionadas ao capítulo “Arquiteturas distribuídas para sistemas colaborativos” do livro
“Sistemas Colaborativos”.
O conteúdo desta apresentação é de responsabilidade dos autores do capítulo. Caso alguma imagem contida nessa apresentação seja protegida por direitos autorais e os
autores não tenham a respectiva autorização para divulgação, solicitamos que entrem em contato com nosso Serviço de Atendimento para que a imagem seja imediatamente
retirada da apresentação.
Você, professor, pode modificar essa apresentação para o seu uso individual em suas aulas, e assim se torna corresponsável pela conteúdo da apresentação. A editora se exime
de qualquer responsabilidade sobre as suas modificações.
Nem a editora nem os organizadores assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens, originados do uso dessa apresentação.
2011 - Roberta Lima Gomes, Roberto Willrich, Guillermo de Jesús Hoyos Rivera 31 30