Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introdução
3. Princípios de confiabilidade
Um defeito (failure) é definido como um desvio da especificação. Defeitos não podem ser
tolerados, mas deve ser evitado que o sistema apresente defeito. Define-se que um sistema
está em estado errôneo, ou em erro, se o processamento posterior a partir desse estado pode
levar a um defeito. Finalmente, define-se falha ou falta (fault) como a causa física ou
algorítmica do erro (Weber, 2002). A confiabilidade dos serviços WEB pode ser afetada
por diversos fatores (e.g. performance, tolerância a falhas dos end-points, confiabilidade
dos mecanismos usados para o transporte e acesso ás mensagens). O objetivo de tolerância
a falhas é alcançar dependabilidade. O termo dependabilidade é uma tradução literal do
termo inglês dependability, que indica a qualidade do serviço fornecido por um dado
sistema e a confiança depositada no serviço fornecido (Weber, 2002).
A definição do conceito de confiabilidade por (Avizienis et al, 2004) é dada pela
capacidade de entregar um serviço que pode ser considerado confiável. Os atributos de
tempo de disponibilidade, confiabilidade, segurança, integridade e manutenibilidade
indicam a que grupos de métricas e valores os serviços podem ser medidos, comparados ou
definidos para a garantia de sua confiabilidade. O atributo de disponibilidade define qual o
tempo máximo de indisponibilidade de um serviço e indicando formas alternativas de
tolerar ou não a interrupção de um serviço. A confiabilidade define as características de
continuidade do serviço correto. A segurança preocupa-se com as conseqüências
desastrosas de um mau comportamento. A integridade com a ausência de alterações
impróprias e a manutenção com a capacidade do serviço sofrer modificações e reparos.
Em (Avizienis et al), são apresentadas técnicas de prevenção, remoção e tolerância
a falhas, a fim de implementar dependabilidade nos sistemas. 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), estabelecendo um processo de construção de software com
atividades que visam a identificação de falhas antes da sua implementação. 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). Embora sejam
utilizadas nas etapas iniciais e durante a implementação do software, essas técnicas não
oferecem garantia para um tratamento adequado a diversas falhas que podem acontecer,
pois 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 garantir a 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.
Uma técnica bastante eficiente utiliza uma replicação baseada em marcas de tempo (TSR)
par garantir que todas as réplicas executam as requisições dos clientes na mesma ordem
(Xinfeng, 2007). Os resultados dos experimentos demonstram que o TSR possui
desempenho melhor que o OAR em sistemas nos quais os clientes raramente enviam
requisições simultâneas.
Quando um web service é replicado, para assegurar a consistência dos estados das
réplicas, algumas operações de sincronização precisam ser levadas pelas réplicas quando as
requisições dos clientes são processadas. Modificar o código dos serviços web para
incorporar operações de sincronização podem introduzir bugs nos sistemas e também torná-
los menos flexível. Desta forma, ao invés de modificar o código dos serviços web, um
middleware é utilizado para gerenciar a replicação dos serviços web. Esse middleware faz
uso do protocolo TSR para lidar com a sincronização e assim garantir o estado das réplicas.
Para o seu funcionamento, assume-se que: as réplicas se comunicam entre si através
de canais FIFO confiáveis; as réplicas falham por crash; as operações disparadas pelas
requisições dos clientes podem ser desfeitas.
Um web service é replicado em vários sites. Cada réplica consiste em um site proxy de
web service (PWSS - proxy web service site) e um site de web service (WSS - Web Service
site), sendo que o WSS é um provedor de serviços web convencional. Ele provê código e
dados referentes à funcionalidade disponibilizada pelo web service. O PWSS reside entre o
cliente e o WSS e é responsável por manter a consistência da réplica, como pode ser
visualizado na Figura 3. Os clientes interagem somente com o PWSS, só precisando enviar
sua requisição a um único PWSS que se encarrega de direcionar a requisição a todas as
réplicas e então retornar o resultado ao cliente.
Figura 3 – Arquitetura do middleware para serviços web replicados (Xinfeng, 2007 P. 2).
5. Conclusão
6. Referências
Avisienis, A., Laprie, J.C., Randell, B., Landwehr, C.. (2004) “Basic Concepts and
Taxonomy of Dependable and Secure Computing”, IEEE Transactions on Dependable
and Secure Computing, Vol 1, No 1, Janeiro.
Booch, G., Jacobson, I., Rumbaugh, J (1999). “Unified Modeling Language – User’s
Guide”. Addison-Wesley, ISBN 0201571684.
Cabrera, LF, et al. (2005). “Web Services Coordination (WS-Coordination). Specification”,
gosto 2005. http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-tx/WS-
Coordination.pdf. Dezembro.
Cabrera, LF, et al.(2005) “Web Services Atomic Transaction (WS-AtomicTransaction).
Specification”.http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-
tx/WS-AtomicTransaction.pdf. Dezembro.
Cabrera, LF, et al. (2005) “Web Services Business Activity Framework (WS-
BusinessActivity)”, http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-
tx/WS-BusinessActivity.pdf. Dezembro.
Chapple, Mike (2007). “The ACID Model”. Disponível em
http://databases.about.com/od/specificproducts/a/acid.htm. Dezembro.
Couloris, G., Dollimore, J., Kindberg, T.. (2005) "Distributed Systems concepts and
Design". Addison Wesley, 4º Edição, ISBN 0321263545.
Degan, Joyce.( 2005). “Integração de dados corporativos: uma proposta de arquitetura
baseada em serviços de dados”. Universidade Estadual de CAMPINAS SP - Mestrado
Profissional em Computação. Dezembro.
Erradi, A., Maheshwari, P.. (2005) “A Broker-Based Approach for Improving Web
Services Reliability”. IEEE Internacional Coference on Web Services (ICWS’05)
Procedings.
Fang, Chen-Liang, et al. (2004) " A Redundant Nested Invocation Suppression Mechanism
for Active Replication Fault-Tolerant Web Service". Proceedings of the 2004 IEEE
Internacional Conference on e-Technology, e-Commerce and e-Service (EEE’04).
Freund, Tom, Storey, Tony. (2002) “Transactions in the
world of web services, part 2”. IBM, developerWorks,
http://www.ibm.com/developerworks/library/ws-wstx2/. Dezembro.
IBM, (2005). “Web Services Transactions specifications”.
http://www.ibm.com/developerworks/library/specification/ws-tx/ Dezembro.
Lopes, C. J.F., Ramalho, J. C.. (2004) “Web Services: Metodologias de Desenvolvimento”.
XATA (XML, Aplicações e Tecnologias Relacionadas) 2004, Porto-Portugal, Fevereiro.
Pallickara, S., Fox, G., Pallickara, S. L.. (2005) “An Analysis of Reliable Delivery
Specification for Web Services”. IEEE Internacional Conference on Informations
Technology: Coding and Computing (ITCC’05) Procedings.
Portilla, G Vargas-Solar, JL Zechinelli-Martini (2006). A survey for analyzing transactional
behavior in service based applications. Computer Science, 2006. ENC '06. Seventh
Mexican International Conference on. Disponível em <
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4020870 >
Tanenbaum, A. S.. (1994) "Redes de computadores". Editora Campus, 2º Edição, ISBN
8570018800.
W3C. World Wide Web Consortium (2007). “OWL Web Ontology Language Guide”.
http://www.w3.org/TR/owl-guide/. Dezembro.
Weber, T.S.. (2007) “Um Roteiro para Exploração dos Conceitos Básicos de Tolerância a
Falhas”, Instituto de Informática – UFRGS, Especialização em Sistemas Distribuídos.
www.inf.ufrgs.br/~taisy/disciplinas/textos/indiceroteiro.htm. Dezembro.
Xinfeng, Ye. "Providind Reliable Web Services through Active Replication". 6th
IEEE/ACIS Internacional Coference on Computer and Information Science (ICIS 2007).
RFP.Object Management Group, Fault tolerant CORBA using entity redundancy: Request
for proposal. OMG Technical Committee Document orbos/98-04-01, Abril 1998.