Trabalho Final de Curso
Orientedora: Profa. Daniela Barreiro ClaroGraduando: Anderson Tiago Barbosa de Carvalho
Universidade Federal da BahiaInstituto de Matemática
Departamento de Ciência da Computação
Simulador de Serviços Web Semânticos com Injeção e Recuperação de Falhas
Salvador, 15 de julho de 2011
2
SumárioMotivação
O Trabalho
Serviços Web
Injeção de falhas
Implementação do simulador
Trabalhos relacionados
Experimentos
Conclusão
3
Contextualizando
• Constituem uma forma de disponibilização de funcionalidades de um sistema de informação na Web por meio de tecnologias padronizadas (ALONSO et al., 2003).Serviços Web
• Explosão do uso da internet
• Comunicação entre aplicações distintas -> XML
•Autogerenciamento • Descrição semântica
4
Motivação
• É difícil prever o funcionamento de um serviço ou composição
• Qualidade de Serviço (QoS)• Situação se agrava em
sistemas autonômicos
• Importância da existência de um ambiente onde serviços possam ter seus ciclos de vida testados e avaliados
• Simulação
5
O TrabalhoSimulador de Serviços e Composições Web Semânticas
Injeção de Falhas
Recuperação de Falhas
Estatísticas de execuções
6
Serviços Web
Interligar aplicações
Conectar programasatravés de diferentes pontos
do mundo e transportar informações de maneira
mais eficiente ebarata (NEWCOMER, 2002)
Necessidade de padrão de
desenvolvimento
CORBADCOM
JAVA RMI
7
Serviços Web
SOA
• SOAP – Padrão de troca de mensagens• WSDL - Linguagem de descrição de serviços
• Tecnologias Básicas
8
Serviços Web
Figura: Arquitetura SOA (HAAS, 2003)
9
Serviços Web SemânticosWeb Semântica
Criada com o objetivo principal de estruturar dados
Serviços Web Semânticos
10
Serviços Web Semânticos•WSDL – Acesso aos serviços•Descrição Semântica•OWL-S -> Descrever de forma semântica
um serviço (MARTIN et al., 2004)
Figura: Ontologias do OWL-S (MARTIN et al., 2004)
11
Injeção de Falhas
Introdução intencional e
controlada de falhas em
uma aplicação alvo para observar seu comportamento
(ARLAT et al., 1990).
Falhas ocasionais podem demorar ou
nunca ocorrer
Aceleração do processo
12
Injeção de Falhas
A F
M
R
13
Injeção de Falhas
•O que é uma falha ?
Falha Erro Defeito
14
Injeção de Falhas
•Tipos de FalhasQueda•Servidor para de responder
Omissão
•Recepção•Envio
Temporização
•Resposta fora do intervalo de tempo definido
Resposta
•Resposta incorreta
Arbitrária
•Respostas arbitrárias
15
Injeção de Falhas via Software
Não necessita de Hardware específico
Adaptável
Baixo custo de desenvolvimento
16
Injeção de Falhas via Software
•Tipos
•Código fonte alteradoCompilação
•Gatilhos baseados no tempo•Gatilhos •Inserção de código
Execução
•Corrupção, perda ou reordenação de pacotesRede
17
Recuperação de Falhas
Reexecução
Substitução
• Igual
• Equivalente
Salto
18
Implementação do simulador•Projeto Estrutural
MVC•Model•View•Controller
Injeção•Tempo de excução•Inserção de código
Recuperação
•Estrutura MDR
19
Implementação do simulador•Projeto Estrutural
Figura: MVC Simulador
20
Funcionamento do simulador
21
Trabalhos relacionados
MB-XP FIRE
JACA FIAT
22
Trabalhos relacionados
Tabela: Comparação entre ferramentas
23
Experimentos
Objetivos
Funcionamento elementos
interface
Execução correta de Serviços
Injeção de Falhas
Recuperação de Falhas
Escalabilidade
24
Experimentos
Experimento 1 – Execução Sem Falhas
Experimento 2 – Falha e Recuperação do tipo Retry
Experimento 3 – Falha e Recuperação do tipo Replace By Equal
Experimento 4 – Falha e Recuperação do tipo Replace By Equal
Experimento 5 – Falha e Recuperação do tipo Skip
Experimento 6 – Escalabilidade
25
Experimentos
•Resultados
Execução correta
Injeção e recupera
ção(*Similari
dade Semântic
a)
Funcionamento correto
dos elemento
s de interface
Suporte a
crescimento do
número de
requisições
26
Conclusão
Contribuições de ambientes de simulação
• Validação• Desempenho
Simulador implementado
• Oferece oportunidade de execução, injeção de falhas e recuperação de Serviços Web Semânticos
• Fornece informações estatísticas
27
Conclusão
Dificuldades encontradas
• Falta de documentação• Falta de conhecimento
28
Conclusão
Trabalho Futuros
• Melhora em elementos gráficos da interface (layout)• Outros métodos de Injeção• Outros métodos de recuperação• Testes comparativos• Modificação em estrutura do OWL-S Discovery
29
Perguntas ?
OBRIGADO PELA PRESENÇA !
30
Referências