técnicas para implementar aspectos de confiança em web services

21
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

Upload: jaguaraci-silva

Post on 23-Jan-2015

1.127 views

Category:

Business


0 download

DESCRIPTION

Técnicas para implementar aspectos de confiança em Web services.

TRANSCRIPT

Page 1: Técnicas para implementar aspectos de confiança em Web services

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

Page 2: Técnicas para implementar aspectos de confiança em Web services

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

Page 3: Técnicas para implementar aspectos de confiança em Web services

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

Page 4: Técnicas para implementar aspectos de confiança em Web services

Confiabilidade nos serviços WebConfiabilidade nos serviços Web

�Visão geral dos serviços Web�Arquitetura

(Coulouris et al, 2005 P. 785)

Page 5: Técnicas para implementar aspectos de confiança em Web services

Confiabilidade nos serviços WebConfiabilidade nos serviços Web

�Visão geral dos serviços Web�Ciclo de vida

Page 6: Técnicas para implementar aspectos de confiança em Web services

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).

Page 7: Técnicas para implementar aspectos de confiança em Web services

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.

Page 8: Técnicas para implementar aspectos de confiança em Web services

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.

Page 9: Técnicas para implementar aspectos de confiança em Web services

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.

Page 10: Técnicas para implementar aspectos de confiança em Web services

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.

Page 11: Técnicas para implementar aspectos de confiança em Web services

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.

Page 12: Técnicas para implementar aspectos de confiança em Web services

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

Page 13: Técnicas para implementar aspectos de confiança em Web services

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.

Page 14: Técnicas para implementar aspectos de confiança em Web services

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.

Page 15: Técnicas para implementar aspectos de confiança em Web services

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

Page 16: Técnicas para implementar aspectos de confiança em Web services

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.

Page 17: Técnicas para implementar aspectos de confiança em Web services

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).

Page 18: Técnicas para implementar aspectos de confiança em Web services

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

Page 19: Técnicas para implementar aspectos de confiança em Web services

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)

Page 20: Técnicas para implementar aspectos de confiança em Web services

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).

Page 21: Técnicas para implementar aspectos de confiança em Web services

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...