XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>XI</strong> <strong>Workshop</strong> <strong>de</strong> <strong>Testes</strong> e Tolerância a <strong>Falhas</strong> 153<br />
3. Trabalhos relacionados<br />
O requisito <strong>de</strong> disponibilida<strong>de</strong>, um dos principais componentes da confiabilida<strong>de</strong> <strong>de</strong> um<br />
sistema, é particularmente difícil <strong>de</strong> atingir no ambiente heterogêneo em que serviços web<br />
habitualmente operam. A tarefa <strong>de</strong> construir mo<strong>de</strong>los <strong>de</strong> falha, por exemplo, é dificultada<br />
pela natureza da publicação dos serviços, já que a <strong>de</strong>scrição <strong>de</strong> um serviço, obrigatoriamente,<br />
especifica apenas informações básicas necessárias à sua invocação, <strong>de</strong> modo que<br />
informações sobre aspectos não-funcionais, tais como disponibilida<strong>de</strong> e <strong>de</strong>sempenho, não<br />
são publicadas. Dessa forma, <strong>de</strong>terminar quais as possíveis falhas que um <strong>de</strong>terminado<br />
serviço po<strong>de</strong> vir a apresentar po<strong>de</strong> ser impossível sem as informações necessárias sobre<br />
cada serviço que o compõe. De fato, a disponibilida<strong>de</strong> <strong>de</strong> um serviço po<strong>de</strong> ser até menor<br />
que qualquer um dos componentes que lhe dão forma [Moser et al. 2007].<br />
Apesar da evi<strong>de</strong>nte necessida<strong>de</strong>, nenhuma especificação <strong>de</strong> confiabilida<strong>de</strong> no<br />
que tange à disponibilida<strong>de</strong> <strong>de</strong> serviços ainda foi <strong>de</strong>senvolvida. Isso ocorre, em<br />
gran<strong>de</strong> parte, <strong>de</strong>vido à dificulda<strong>de</strong> <strong>de</strong> esten<strong>de</strong>r as técnicas <strong>de</strong> replicação além das<br />
fronteiras <strong>de</strong> uma única organização, já que as tecnologias que elas usam no <strong>de</strong>senvolvimento<br />
<strong>de</strong> seus serviços são, possivelmente, não equivalentes. Nos últimos anos,<br />
vários middleware <strong>de</strong> replicação em serviços web foram <strong>de</strong>senvolvidos com o propósito<br />
<strong>de</strong> contornar essa limitação, <strong>de</strong>ntre eles FT-SOAP [Chen 2007], WS-Replication<br />
[Jiménez-Peris et al. 2006], Conectores <strong>de</strong> Tolerância a <strong>Falhas</strong> [Fabre and Salatge 2007]<br />
e a replicação híbrida adotada em [Froihofer et al. 2007].<br />
3.1. FT-SOAP<br />
FT-SOAP [Chen 2007] é um mecanismo <strong>de</strong> replicação passiva. Os componentes básicos<br />
<strong>de</strong>ssa especificação são: o Gerenciamento <strong>de</strong> <strong>Falhas</strong> que é utilizado para realizar o monitoramento<br />
<strong>de</strong> estado das réplicas, o Mecanismo <strong>de</strong> Log e Recuperação, responsável por<br />
fazer o log das invocações, <strong>de</strong> forma que elas não sejam perdidas na falha do gerenciador<br />
primário, e o Gerenciador <strong>de</strong> Replicação, que tem a função <strong>de</strong> monitorar e constituir os<br />
grupos <strong>de</strong> réplicas.<br />
O uso <strong>de</strong> componentes centralizados adiciona novos pontos <strong>de</strong> falhas ao sistema,<br />
<strong>de</strong> forma que até os componentes do próprio middleware <strong>de</strong>vem ser replicados.<br />
No mecanismo proposto neste artigo, cada réplica funciona como um mecanismo<br />
<strong>de</strong> replicação in<strong>de</strong>pen<strong>de</strong>nte, evitando a centralização encontrada na proposta FT-SOAP.<br />
3.2. WS-Replication<br />
WS-Replication [Jiménez-Peris et al. 2006] implementa replicação ativa no contexto dos<br />
serviços web. O protocolo <strong>de</strong> replicação aplicado é baseado no componente WS-Multicast<br />
que utiliza tecnologias básicas <strong>de</strong> WS (SOAP e WSDL) para promover sincronia entre as<br />
réplicas. Ao utilizar o WS-Multicast em sua estrutura, WS-Replication mantém na estrutura<br />
<strong>de</strong> replicação a in<strong>de</strong>pendência <strong>de</strong> plataformas inerente à arquitetura SOA, escalando<br />
o protocolo a operar diretamente sobre os serviços na Internet. Além disso, como nenhuma<br />
modificação é imposta à implementação dos serviços, a replicação é totalmente<br />
transparente aos usuários.<br />
O mecanismo <strong>de</strong> replicação implementado neste artigo, <strong>de</strong> maneira semelhante ao<br />
WS-Replication, é transparente aos usuários. No entanto, ao aplicar a replicação passiva,<br />
o mecanismo proposto requer menor processamento.