Trabalho Final de Curso 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
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
Contextualizando “Explosão” do uso da internet 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 Anderson Carvalho MATA67 - Projeto Final de Curso II
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
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
Serviços Web Conectar programas 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
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
Figura: Arquitetura SOA (HAAS, 2003) Serviços Web Figura: Arquitetura SOA (HAAS, 2003) Anderson Carvalho MATA67 - Projeto Final de Curso II
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
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
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
Falhas ocasionais podem demorar ou nunca ocorrer 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
Injeção de Falhas Anderson Carvalho MATA67 - Projeto Final de Curso II
Falha Erro Defeito Injeção de Falhas O que é uma falha ? Anderson Carvalho MATA67 - Projeto Final de Curso II
Injeção de Falhas Tipos de Falhas Queda 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 Anderson Carvalho MATA67 - Projeto Final de Curso II
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
Injeção de Falhas via Software Tipos Compilação Código fonte alterado Execução Gatilhos baseados no tempo Gatilhos baseados em interrupções Inserção de código Rede Corrupção, perda ou reordenação de pacotes Anderson Carvalho MATA67 - Projeto Final de Curso II
Recuperação de Falhas Reexecução Substituição Salto Igual Equivalente Anderson Carvalho MATA67 - Projeto Final de Curso II
Implementação do simulador MVC Model View Controller Injeção Tempo de execução Inserção de código Recuperação Estrutura MDR Projeto Estrutural Anderson Carvalho MATA67 - Projeto Final de Curso II
Implementação do simulador Projeto Estrutural Figura: MVC Simulador Anderson Carvalho MATA67 - Projeto Final de Curso II
Funcionamento do simulador Anderson Carvalho MATA67 - Projeto Final de Curso II
Trabalhos relacionados MB-XP FIRE JACA FIAT Anderson Carvalho MATA67 - Projeto Final de Curso II
Trabalhos relacionados Tabela: Comparação entre ferramentas Anderson Carvalho MATA67 - Projeto Final de Curso II
Experimentos Objetivos Funcionamento elementos interface Execução correta de Serviços Injeção de Falhas Recuperação de Falhas Escalabilidade Anderson Carvalho MATA67 - Projeto Final de Curso II
Experimentos Anderson Carvalho MATA67 - Projeto Final de Curso II 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
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 Resultados Anderson Carvalho MATA67 - Projeto Final de Curso II
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
Conclusão Dificuldades encontradas Falta de documentação Falta de domínio da tecnologia Anderson Carvalho MATA67 - Projeto Final de Curso II
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
Agradecimentos Deus e minha família Orientadora: Daniela Barreiro Claro Professores do IM/DCC Amigos Anderson Carvalho MATA67 - Projeto Final de Curso II
Perguntas ? OBRIGADO PELA PRESENÇA ! Anderson Carvalho MATA67 - Projeto Final de Curso II
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
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