Upload
jaguaraci-silva
View
1.125
Download
0
Embed Size (px)
DESCRIPTION
Técnicas para implementar aspectos de confiança em Web services.
Citation preview
Confiabilidade nos serviços WEB:Confiabilidade nos serviços WEB:
Um estudo sobre as
técnicas para implementar
dependabilidade
Jaguaraci, Marcus e Ranulfo
Um estudo sobre as
técnicas para implementar
dependabilidade
Jaguaraci, Marcus e Ranulfo
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
Roteiro:
� Visão geral dos serviços Web�Motivação
�Arquitetura
�Ciclo de vida
� Princípios de confiabilidade�Definição
�Técnicas para garantia de dependabilidade
� Técnicas específicas�Motivação
�Um estudo sobre as técnicas
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Visão geral dos serviços Web�Motivação
Fatores:
•O crescimento da utilização da Internet.
•Publicação de serviços.
•Troca de informações entre aplicações na Web.
•A necessidade de uma padronização.
•Configuração de firewall no lado do provedor
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Visão geral dos serviços Web�Arquitetura
(Coulouris et al, 2005 P. 785)
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Visão geral dos serviços Web�Ciclo de vida
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Princípios de confiabilidade�Definição
•A capacidade de entregar um serviço que pode ser
considerado confiável (Avizienis et al, 2004).
•O termo dependabilidade indica a qualidade e a
confiança depositada no serviço fornecido (Weber,
2002).
•A confiabilidade dos serviços WEB pode ser
afetada por diversos fatores, o objetivo da
tolerância a falhas é alcançar dependabilidade
(Weber, 2002).
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Princípios de confiabilidade�Técnicas para garantia de
dependabilidade
•A prevenção a falhas
•Pode ser utilizada para incluir um controle mais
rigoroso durante a fase de análise e projeto de
software (Booch et al, 1999).
•Estabelece um processo de construção de
software com atividades que visam a identificação
de falhas antes da sua implementação.
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Princípios de confiabilidade�Técnicas para garantia de
dependabilidade
•A técnica de remoção
•Utiliza ferramentas de verificação, validação e
diagnóstico para reduzir o número de falhas
durante a fase de implementação do software
(Booch et al, 2005).
•As técnicas de prevenção e remoção de falhas não
oferecem garantia para um tratamento adequado a
diversas falhas que podem acontecer.
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Princípios de confiabilidade�Técnicas para garantia de
dependabilidade
•Todos os componentes envolvidos durante a
execução do software também são passíveis a erros
(e.g. sistema operacional, banco de dados,
middlewares, protocolos de transporte de
mensagens).
•A técnica de tolerância a falhas visa a
garantia da correta execução do software mesmo
quando há falhas, desse modo, é assegurado ao cliente
de um serviço a sua continuidade atendendo aos
requisitos exigidos.
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Motivação
•As técnicas que visam a redução e o tratamento de
erros, apresentadas anteriormente podem ser
aplicadas no processo de desenvolvimento dos
serviços WEB, entretanto, não é o bastante para a
garantia de confiabilidade (Erradi et al, 2005).
•Novas técnicas precisam ser desenvolvidas para
assegurar a confiabilidade em 4 níveis (Erradi et al,
2005): provedor de serviços, do protocolo de
transporte, da camada SOAP e de negócios.
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Provedor do serviço
•A confiabilidade tem o foco no container que
hospeda os serviços WEB.
•Este pode utilizar técnicas de tolerância á falhas (e.g.
redundância de servidores, load balance, clustering)
para tratar problemas relacionados a disponibilidade
dos serviços.
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Protocolo de transporte
•No nível do protocolo de transporte são inúmeras as
pesquisas realizadas, a preocupação é a garantia da
entrega das mensagens, onde o HTTP é o protocolo
mais utilizado para este fim.
•Ranulfo, colocar seu estudo sobre replicação
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada SOAP
•Os requisitos de confiabilidade são baseados em
padronizações (e.g. W3C) para resolver diversas
questões envolvendo:
•Entrega ordenada de mensagens.
•Eliminação de mensagens duplicadas.
•Persistência dos dados.
•Regras governamentais para troca de
informações.
•Confirmação da entrega da mensagem ao
destinatário.
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada SOAP
•Duas especificações estão competindo nesta área: a
WS-Reliability (WSR) e WS-Relability Message
(WSRM).
•O sistema funciona semelhante a um broadcast de
mensagens de uma rede.
•As especificações são baseadas em XML (W3C, 2007)
e provêem a entrega confiável de mensagens entre
endpoints.
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada SOAP – WSR x WSRM
•Permite a eliminação de mensagens duplicadas,
ordenamento, agrupamento e confirmação de
recebimento de mensagens, qualidade de serviço e
relatórios de diagnóstico e falhas
•O WSRM utiliza XML-Schema (W3C, 2007).
•O WSR garante a confiabilidade das mensagens no
nível do protocolo SOAP e também oferece alguns
recursos para o HTTP (e.g. binding, code, SOAP
action) que podem ser usados para exibição de
mensagens do protocolo, inclusive falhas
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada SOAP – Padrões de troca
Msg•No WSR não é possível delegar qualquer operação
para o protocolo SOAP (e.g. Logging) enquanto o
WSRM não impede o uso desta estratégia.
•O WSR define vários padrões para troca de
mensagens, os MEPs (Message Exchange Patterns).
• Os MPEs utilizam SOAP e viabilizam a troca de
mensagens one-way e request-response, os padrões
suportados são: response, callback e Poll.
•O WSRM não especifica qualquer MEPs.
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada SOAP – Grupo de
Mensagens•Nas duas especificações, cada mensagem faz parte de
um grupo.
•As mensagens têm um número de identificação e este
é incrementado quando da ocorrência de novas
mensagens.
•Uma mensagem pode ser publicada sem o sequence
number ser inicializado no WSR, o que pode resultar
na ocorrência de mensagens duplicadas, o que não
ocorre no WSRM (Pallickara et al, 2005).
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada SOAP – Grupo de
Mensagens•Podem haver problemas de colisão, pois do lado dos
subscritores a informação de identificação do grupo
não é atualizada no WSR.
•A finalização de um grupo são baseadas:
•No tempo de expiração do envio da mensagem.
•Quando todas as mensagens forem entregues
•Se um número de seqüência excede o máximo de
18.446.744.073.709.551.615
•Quando há falha na entrega ordenada de
mensagens
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada SOAP – Recebimento Msg
•No WSRM há um controle para confirmar ou não o
recebimento de todas as mensagens do lado do cliente.
•Esse mecanismo é ausente no WSR.
•O WSR não suporta confirmação negativa de envio
(Negative Acknowledgements) e as tentativas de
retransmissão são feitas até um limite pré-
configurado.
•O WSRM possui políticas de retransmissão baseada
em um intervalo como no WSR e no exponencial
backoff (Tanenbaum, 1994, P. 250)
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada SOAP – Modos de Operação
•no no no no WSRWSRWSRWSR ssssãããão os mesmos do o os mesmos do o os mesmos do o os mesmos do WSRMWSRMWSRMWSRM (e.g. n(e.g. n(e.g. n(e.g. nããããoooo----conficonficonficonfiááááveis, ao menos uma mensagem, ordenada, veis, ao menos uma mensagem, ordenada, veis, ao menos uma mensagem, ordenada, veis, ao menos uma mensagem, ordenada, exatamente uma mensagem), exatamente uma mensagem), exatamente uma mensagem), exatamente uma mensagem),
•no no no no WSRMWSRMWSRMWSRM podem ser feitas configurapodem ser feitas configurapodem ser feitas configurapodem ser feitas configuraçõçõçõções para es para es para es para detecdetecdetecdetecçãçãçãção de mensagens duplicadas, entrega o de mensagens duplicadas, entrega o de mensagens duplicadas, entrega o de mensagens duplicadas, entrega conficonficonficonfiáááável e ordenamento de mensagens vel e ordenamento de mensagens vel e ordenamento de mensagens vel e ordenamento de mensagens independentes dos modos de operaindependentes dos modos de operaindependentes dos modos de operaindependentes dos modos de operaçãçãçãção suportados o suportados o suportados o suportados (Pallickara (Pallickara (Pallickara (Pallickara et alet alet alet al, 2005)., 2005)., 2005)., 2005).
Confiabilidade nos serviços WebConfiabilidade nos serviços Web
�Técnicas específicas�Camada de negócios
•A composição de serviços WEB é uma questão
prioritária.
•Esta área é bastante nova e as pesquisas estão em
fase de amadurecimento (Erradi et al, 2005).
•Marcus, colocar seus estudos...