Universidade Federal da Bahia
Instituto de Matemática
Departamento de Ciência da Computação
Trabalho Final de Curso
Simulador de Serviços Web Semânticos
com Injeção e Recuperação de Falhas
Orientadora: Profa. Daniela Barreiro Claro
Graduando: Anderson Tiago Barbosa de Carvalho
Salvador, 15 de julho de 2011
2/33
Sumário
Contextualização
Motivação
O Trabalho
Serviços Web
Injeção de falhas
Implementação do simulador
Trabalhos relacionados
Experimentos
Conclusão
Anderson Carvalho MATA67 - Projeto Final de Curso II
3/33
Contextualizando
Serviços Web
• 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).
• “Explosão” do uso da internet
• Comunicação entre aplicações distintas
XML
• Autogerenciamento
 Descrição semântica
Anderson Carvalho MATA67 - Projeto Final de Curso II
4/33
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
Anderson Carvalho MATA67 - Projeto Final de Curso II
5/33
O Trabalho
Simulador de Serviços e
Composições Web Semânticas
Injeção de Falhas
Recuperação de Falhas
Estatísticas de execuções
Anderson Carvalho MATA67 - Projeto Final de Curso II
6/33
Serviços Web
Interligar aplicações
Conectar programas
através de diferentes pontos
do mundo e transportar
informações de maneira mais
eficiente e
barata (NEWCOMER, 2002)
Necessidade de padrão de
desenvolvimento
CORBA
DCOM
JAVA RMI
Anderson Carvalho MATA67 - Projeto Final de Curso II
7/33
Serviços Web
Arquitetura SOA
• SOAP – Padrão de troca de mensagens
XML
• WSDL – Linguagem de descrição de
serviços
Anderson Carvalho MATA67 - Projeto Final de Curso II
8/33
Serviços Web
Figura: Arquitetura SOA (HAAS, 2003)
Anderson Carvalho MATA67 - Projeto Final de Curso II
9/33
Serviços Web Semânticos
Web Semântica
Extensão da web convencional
Criada com o objetivo principal de
estruturar dados
Interpretação por máquinas
Serviços Web Semânticos
Anderson Carvalho MATA67 - Projeto Final de Curso II
10/33
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)
Anderson Carvalho MATA67 - Projeto Final de Curso II
11/33
Composições de Serviços Web Semânticos
Junção de dois ou mais serviços
Objetivos Complexos
Otimização e integração de negócios
Alta Complexidade
Falhas e Recuperação
Anderson Carvalho MATA67 - Projeto Final de Curso II
12/33
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
Anderson Carvalho MATA67 - Projeto Final de Curso II
13/33
Injeção de Falhas
F
A
R
M
Anderson Carvalho MATA67 - Projeto Final de Curso II
14/33
Injeção de Falhas
• O que é uma falha ?
Falha
Erro
Defeito
Anderson Carvalho MATA67 - Projeto Final de Curso II
15/33
Injeção de Falhas
• Tipos de Falhas
Queda
• Servidor
para de
responder
Omissão
• Recepção
• Envio
Resposta
• Resposta
incorreta
Temporização
• Resposta
fora do
intervalo de
tempo
definido
Arbitrária
• Respostas
arbitrárias
Anderson Carvalho MATA67 - Projeto Final de Curso II
16/33
Injeção de Falhas via Software
Não necessita de Hardware
específico
Adaptável
Baixo custo de desenvolvimento
Anderson Carvalho MATA67 - Projeto Final de Curso II
17/33
Injeção de Falhas via Software
• Tipos
Compilação
Execução
Rede
• Código fonte alterado
• Gatilhos baseados no tempo
• Gatilhos baseados em interrupções
• Inserção de código
• Corrupção, perda ou reordenação de pacotes
Anderson Carvalho MATA67 - Projeto Final de Curso II
18/33
Recuperação de Falhas
Reexecução
• Igual
Substituição
• Equivalente
Salto
Anderson Carvalho MATA67 - Projeto Final de Curso II
19/33
Implementação do simulador
• Projeto Estrutural
MVC
• Model
• View
• Controller
Injeção
• Tempo de
execução
• Inserção
de código
Recuperação
• Estrutura
MDR
Anderson Carvalho MATA67 - Projeto Final de Curso II
20/33
Implementação do simulador
• Projeto Estrutural
Figura: MVC Simulador
Anderson Carvalho MATA67 - Projeto Final de Curso II
21/33
Funcionamento do simulador
Anderson Carvalho MATA67 - Projeto Final de Curso II
22/33
Trabalhos relacionados
MB-XP
FIRE
JACA
FIAT
Anderson Carvalho MATA67 - Projeto Final de Curso II
23/33
Trabalhos relacionados
Tabela: Comparação entre ferramentas
Anderson Carvalho MATA67 - Projeto Final de Curso II
24/33
Experimentos
Funcionamento
elementos
interface
Execução correta
de Serviços
Escalabilidade
Objetivos
Recuperação de
Falhas
Injeção de
Falhas
Anderson Carvalho MATA67 - Projeto Final de Curso II
25/33
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 Equivalent
Experimento 5 – Falha e Recuperação do tipo Skip
Experimento 6 – Escalabilidade
Anderson Carvalho MATA67 - Projeto Final de Curso II
26/33
Experimentos
• Resultados
Execução
correta
Injeção e
recuperação
(*Similaridade
Semântica)
Funcionamento
correto dos
elementos de
interface
Suporte a
crescimento do
número de
requisições
Anderson Carvalho MATA67 - Projeto Final de Curso II
27/33
Conclusão
Contribuições de ambientes de simulação
• Validação
• Desempenho
Simulador implementado
• Oferece oportunidade de execução, injeção e
recuperação de falhas em Serviços Web Semânticos
• Fornece informações estatísticas
Anderson Carvalho MATA67 - Projeto Final de Curso II
28/33
Conclusão
Dificuldades encontradas
• Falta de documentação
• Falta de domínio da tecnologia
Anderson Carvalho MATA67 - Projeto Final de Curso II
29/33
Conclusão
Trabalho Futuros
Melhoria 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
Anderson Carvalho MATA67 - Projeto Final de Curso II
30/33
Agradecimentos
• Deus e minha família
• Orientadora: Daniela Barreiro Claro
• Professores do IM/DCC
• Amigos
Anderson Carvalho MATA67 - Projeto Final de Curso II
31/33
Perguntas ?
OBRIGADO PELA PRESENÇA !
Anderson Carvalho MATA67 - Projeto Final de Curso II
32/33
Referências
• ALONSO, G.; CASATI, F.; KUNO, H.; MACHIRAJU, V. Web
Services - Concepts, Architectures and Applications. 1. ed. [S.l.]:
Springer, 2003.
• ARLAT, J.; AGUERA, M.; AMAT, L.; CROUZET, Y.; FABRE, J.-C.;
LAPRIE, J.-C.; MARTINS, E.; POWELL, D. Fault injection for
dependability validation: a methodology and some applications.
IEEE Transactions on Software Engineering, IEEE, 1990.
• HAAS, H. Designing the architecture for Web services. Maio 2003.
Último acesso 08 de Julho de 2011. Disponível em:
http://www.w3.org/2003/Talks/0521-hh-wsa/slide5-0.html.
• NEWCOMER, E. Understanding Web Services: XML, WSDL, SOAP
and UDDI. [S.l.]:Addison-Wesley Longman Publishing, 2002.
Anderson Carvalho MATA67 - Projeto Final de Curso II
33/33
Referências
• MARTIN, D.; BURSTEIN, M.; HOBBS, J.; LASSILA, O.;
MCDERMOTT, D.; MCILRAITH, S.; NARAYANAN, S.; PAOLUCCI,
M.; PARSIA, B.; PAYNE, T.; SIRIN, E.; SRINIVASAN, N.; SYCARA,
K. OWL-S Semantic Markup for Web Services. Novembro 2004.
Último acesso em 09 de Julho de 2011. Disponível em:
http://www.w3.org/Submission/OWL-S/.
• FERREIRA, M. R.; CLARO, D. B.; LOPES, D. C. P. Integração do
mecanismo de self-healing no tratamento das composição de
sistemas de informação através dos serviços web semânticos. In: VII
Simpósio Brasileiro de Sistemas de Informação. [S.l.: s.n.], 2011.
• AMORIM, R.; CLARO, D. B.; LOPES, D.; ALBERS, P.; ANDRADE,
A. International conference on web services. In: IEEE 9th
International Conference on Web Services. [s.n.], 2011. Disponível
em: http://conferences.computer.org/icws/2011/.
Anderson Carvalho MATA67 - Projeto Final de Curso II
Download

Trabalho Final de Graduação - web-service