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