Conferência SC 24 | Social commerce e recursos interativos: como aplicar no s...
Técnicas para implementar aspectos de confiança em Web services
1. Confiabilidade nos serviços WEB:
Um estudo sobre as
técnicas para implementar
dependabilidade
Jaguaraci, Marcus e Ranulfo
Jaguaraci, Marcus e Ranulfo
2. Confiabilidade 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
3. Confiabilidade 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
6. Confiabilidade 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).
7. Confiabilidade 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.
8. Confiabilidade 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.
9. Confiabilidade 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.
10. Confiabilidade 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.
11. Confiabilidade 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.
12. Confiabilidade 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
13. Confiabilidade 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.
14. Confiabilidade 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.
15. Confiabilidade 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
16. Confiabilidade nos serviços Web
Técnicas específicas
Camada SOAP – Padrões de troca
•No Msg não é possível delegar qualquer operação
WSR
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.
17. Confiabilidade 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).
18. Confiabilidade 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
19. Confiabilidade 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)
20. Confiabilidade nos serviços Web
Técnicas específicas
Camada SOAP – Modos de Operação
•no WSR são os mesmos do WSRM (e.g. não-
no nã
confiá
confiáveis, ao menos uma mensagem, ordenada,
exatamente uma mensagem),
•no WSRM podem ser feitas configurações para
no configuraçõ
ções
detecçã
detecção de mensagens duplicadas, entrega
ção
confiá
confiável e ordenamento de mensagens
operaçã
ção
independentes dos modos de operação suportados
(Pallickara et al, 2005).
21. Confiabilidade 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...