SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Repositório Social de  Serviços Web Henrique Dias Orientador Leandro Wives UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Agenda Repositório Social de Serviços Web
Projeto Dodona Arquitetura de Sistemas orientada à Serviços Composição de Serviços Web Repositório de Serviços Web Recomendação de Serviços Web   ° ° ° Contexto Repositório Social de Serviços Web
 
Repositório de  Serviços Web   ° Contexto Repositório Social de Serviços Web
Recomendação de Serviços Web Sintática ? Semântica Prabhakar [2005] QoS Thio  [2005] Contexto Repositório Social de Serviços Web
Armazenamento dos  Serviços Web Centralização Organização Recomendação   ° Objetivos Repositório Social de Serviços Web
Substituição dos  Serviços Web Indisponibilidade Tempo de Resposta Qualidade de Resposta Objetivos Repositório Social de Serviços Web
Repositório Social de Serviços Web Importação de diversos serviços web Relacionamento por similaridade sintática Recomendação por afinidade ° ° Estratégia Repositório Social de Serviços Web
Importação de Serviços Web WebCrawler de Serviços Web ° Estratégia Repositório Social de Serviços Web Cliente SOAP PHP Banco de Dados Relacional
Relações entre os Serviços Web Similaridade sintática dos  parâmetros de entrada da funções Similaridade entre funções gera o relacionamento entre os serviços web  Estratégia Repositório Social de Serviços Web
WebCrawler de Serviços Web ° ° ° ° ° ° ° ° ° Algoritmos Repositório Social de Serviços Web Search  Engine Google, Yahoo, Bing Script PHP Banco de Dados
Consumo de WSDL pelo SOAP PHP ° ° ° ° ° ° ° ° Algoritmos Repositório Social de Serviços Web Lista de Serviços Web WSDL SOAP PHP MySQL
Hashing de Tipos ° ° ° ° ° ° ° Algoritmos Repositório Social de Serviços Web insereItem (idCarinho, idItem, quantidade, observação, reservar) 0  1  0  1  0  0  3 Token, Boolean, NCName, String, anyURL, QName, int
Propagação do Hashing ° ° ° ° ° ° Algoritmos Repositório Social de Serviços Web
Comparação das Funções ° ° ° ° ° Algoritmos Repositório Social de Serviços Web Hash(f1)    0  2  0  9   0  0  3 Hash(f2)    0  5  0  3   0  0  7 Total          0  7  0 12  0  0 10  = 29 Diferenças  0  3  0  6   0  0  4  = 13 Percentual de Similaridade = 55%
Equação das Funções ° ° ° ° Algoritmos Repositório Social de Serviços Web
Algoritmo de Vizinhança ° ° ° Algoritmos Repositório Social de Serviços Web
Equação das Funções ° ° Algoritmos Repositório Social de Serviços Web INSERT INTO function_rel SELECT f.id, function.id,      ROUND (             ABS(  CONV(SUBSTR(LPAD(f.code,8,'0'),1,1),20,10)                     + CONV(SUBSTR(LPAD(function.code,8,'0'),1,1),20,10))             -              ABS(  CONV(SUBSTR(LPAD(f.code,8,'0'),1,1),20,10)                      - CONV(SUBSTR(LPAD(function.code,8,'0'),1,1),20,10))             /              ABS(  CONV(SUBSTR(LPAD(f.code,8,'0'),1,1),20,10)                     + CONV(SUBSTR(LPAD(function.code,8,'0'),1,1),20,10))            ,5) as relation  FROM Function f JOIN Function
Equação dos Serviços Web ° Algoritmos Repositório Social de Serviços Web
Equação dos Serviços Web Algoritmos Repositório Social de Serviços Web INSERT INTO webservice_rel  SELECT id1,id2, ROUND(SUM(max_rel)/count(max_rel),5) FROM     (SELECT f1.idwebservice AS id1,         f2.idwebservice AS id2, MAX(relation) AS max_rel FROM function_rel fr  INNER JOIN function f1 ON f1.id = fr.id1  INNER JOIN function f2 ON f2.id = fr.id2  GROUP BY f1.id, f2.idwebservice) AS temp  GROUP BY 1,2
Serviços Web Importados ° ° ° ° ° ° Resultados Repositório Social de Serviços Web 434 229 16 2.564 4.332 434.172 159.550 39.726 38.824 7.590
Tempo de Execução 38 mil funções             1,5 bilhões de relações ° ° ° ° ° Resultados Repositório Social de Serviços Web 9 mil funções             93 milhões de relações   1 dia, 16 horas e 30 minutos            5.5GB
Subconjunto escolhido ° ° ° ° Resultados Repositório Social de Serviços Web 500 funções     250.000 rel.   13 s 100 Serviços Web  6.500 rel. 7 s
Relações do subconjunto ° ° ° Resultados Repositório Social de Serviços Web 1.418 757 533
Diagrama de Relações entre os Serviços Web ° ° Resultados Repositório Social de Serviços Web
Diagrama de Relações entre os Serviços Web ° Resultados Repositório Social de Serviços Web
Componentes comparados Resultados Repositório Social de Serviços Web Funções do Google Search: doGoogleSearch  (string, string, int, int, boolean, string, boolean, string,string, string) doGetCachedPage  (string,string) doSpellingSuggestion  (string,string) Tipos complexos do HeartBeat: User  (int, string, string, int, string, int, string, string, string, string, string, string, string, string, int) Person  (int, string, int, int, string, string, string, string, string, string, int, int) Tipos Complexos do NWIS: GetStationsWithWQParameter  (string, string, string, string, string, string, string, string) GetChart  (string,string,string,string) GetWQValues  (string,string,string,string)
Objetivos Alcançados Repositório de Serviços Web Valores de Relacionamentos entre  os Serviços Web ° ° ° Conclusão Repositório Social de Serviços Web
Análise Crítica   “ Idéias verdes incolores  dormem furiosamente” Noam Chomsky ° ° Conclusão Repositório Social de Serviços Web
Limitações Tempo de execução das consultas Interface de Recomendação   Categorização dos Serviços Web ° Conclusão Repositório Social de Serviços Web
Trabalhos Futuros Grafo das relações dos Serviços Web Otimização das consultas Influenciar outras recomendações   Mapas auto-organizados Conclusão Repositório Social de Serviços Web
Muito Obrigado! Perguntas?  Henrique Dias Orientador Leandro Wives UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA

Weitere ähnliche Inhalte

Andere mochten auch

Tecnologia na educação
Tecnologia na educaçãoTecnologia na educação
Tecnologia na educaçãoJoao Victor
 
Mídias na Educação
Mídias na EducaçãoMídias na Educação
Mídias na Educaçãoanairsilva
 
As mídias na educação
As mídias na educaçãoAs mídias na educação
As mídias na educaçãoelonidallasin
 
O USO DO PODCAST NO PROCESSO INTERDISCIPLINAR DE ENSINO-APRENDIZAGEM
O USO DO PODCAST NO PROCESSO INTERDISCIPLINAR DE ENSINO-APRENDIZAGEMO USO DO PODCAST NO PROCESSO INTERDISCIPLINAR DE ENSINO-APRENDIZAGEM
O USO DO PODCAST NO PROCESSO INTERDISCIPLINAR DE ENSINO-APRENDIZAGEMEchirley
 
Projeto Mídias na Educação
Projeto Mídias na EducaçãoProjeto Mídias na Educação
Projeto Mídias na Educaçãogepoteriko
 
Módulo 02 Estrutura do repositório
Módulo 02 Estrutura do repositórioMódulo 02 Estrutura do repositório
Módulo 02 Estrutura do repositórioRodrigo Prado
 
Objetos De Aprendizagem - Breve Histórico, características e alguns aspectos ...
Objetos De Aprendizagem - Breve Histórico, características e alguns aspectos ...Objetos De Aprendizagem - Breve Histórico, características e alguns aspectos ...
Objetos De Aprendizagem - Breve Histórico, características e alguns aspectos ...Edinei Reis
 
Design na mídia impressa e digital
Design na mídia impressa e digitalDesign na mídia impressa e digital
Design na mídia impressa e digitalOdair Cavichioli
 
Como colocar uma Apresentação de Slides no BLOG
Como colocar uma Apresentação de Slides no BLOGComo colocar uma Apresentação de Slides no BLOG
Como colocar uma Apresentação de Slides no BLOGccemin
 

Andere mochten auch (12)

Tecnologia na educação
Tecnologia na educaçãoTecnologia na educação
Tecnologia na educação
 
Mídias na Educação
Mídias na EducaçãoMídias na Educação
Mídias na Educação
 
As mídias na educação
As mídias na educaçãoAs mídias na educação
As mídias na educação
 
O USO DO PODCAST NO PROCESSO INTERDISCIPLINAR DE ENSINO-APRENDIZAGEM
O USO DO PODCAST NO PROCESSO INTERDISCIPLINAR DE ENSINO-APRENDIZAGEMO USO DO PODCAST NO PROCESSO INTERDISCIPLINAR DE ENSINO-APRENDIZAGEM
O USO DO PODCAST NO PROCESSO INTERDISCIPLINAR DE ENSINO-APRENDIZAGEM
 
Slides aula ti
Slides aula tiSlides aula ti
Slides aula ti
 
Projeto Mídias na Educação
Projeto Mídias na EducaçãoProjeto Mídias na Educação
Projeto Mídias na Educação
 
Objetos De Aprendizagem
Objetos De AprendizagemObjetos De Aprendizagem
Objetos De Aprendizagem
 
Módulo 02 Estrutura do repositório
Módulo 02 Estrutura do repositórioMódulo 02 Estrutura do repositório
Módulo 02 Estrutura do repositório
 
Objetos De Aprendizagem - Breve Histórico, características e alguns aspectos ...
Objetos De Aprendizagem - Breve Histórico, características e alguns aspectos ...Objetos De Aprendizagem - Breve Histórico, características e alguns aspectos ...
Objetos De Aprendizagem - Breve Histórico, características e alguns aspectos ...
 
Mídias educacionais
Mídias educacionaisMídias educacionais
Mídias educacionais
 
Design na mídia impressa e digital
Design na mídia impressa e digitalDesign na mídia impressa e digital
Design na mídia impressa e digital
 
Como colocar uma Apresentação de Slides no BLOG
Como colocar uma Apresentação de Slides no BLOGComo colocar uma Apresentação de Slides no BLOG
Como colocar uma Apresentação de Slides no BLOG
 

Ähnlich wie Repositório Social Serviços Web

Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da MicrosoftComparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da MicrosoftLuciano Condé
 
AAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambAAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambMicrosoft Brasil
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas InternetLuiz Domingues
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoDavid Robert Camargo de Campos
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesiMasters
 
Sigle Page Application - A nova Web
Sigle Page Application - A nova WebSigle Page Application - A nova Web
Sigle Page Application - A nova WebVictor Cavalcante
 
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...Fabian Gehrke
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012Carlos Casalicchio
 
Intervalo Técnico - QG Mobile
Intervalo Técnico - QG MobileIntervalo Técnico - QG Mobile
Intervalo Técnico - QG MobileVitor Albuquerque
 
Arquitetura para uma nova geração de aplicativos no Windows Azure
Arquitetura para uma nova geração de aplicativos no Windows AzureArquitetura para uma nova geração de aplicativos no Windows Azure
Arquitetura para uma nova geração de aplicativos no Windows AzureFernando Correia
 
PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonBruno Rocha
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web ServicesFabio Leal
 
Visão geral: BPMN e Automação de Processo
Visão geral: BPMN e Automação de ProcessoVisão geral: BPMN e Automação de Processo
Visão geral: BPMN e Automação de ProcessoCompanyWeb
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosRodney Repullo
 
Web 2.0 - Uma Visão Corporativa e Tecnológica
Web 2.0 - Uma Visão Corporativa e TecnológicaWeb 2.0 - Uma Visão Corporativa e Tecnológica
Web 2.0 - Uma Visão Corporativa e TecnológicaElvis Fusco
 
Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosFábio Rosato
 
TDC 2011 - SharePoint 2010 para Desenvolvedores
TDC 2011 - SharePoint 2010 para DesenvolvedoresTDC 2011 - SharePoint 2010 para Desenvolvedores
TDC 2011 - SharePoint 2010 para DesenvolvedoresHélio Sá Moreira
 

Ähnlich wie Repositório Social Serviços Web (20)

Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da MicrosoftComparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
 
Nova web - DNAD 2012
Nova web - DNAD 2012Nova web - DNAD 2012
Nova web - DNAD 2012
 
AAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambAAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcamb
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas Internet
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenho
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
 
Sigle Page Application - A nova Web
Sigle Page Application - A nova WebSigle Page Application - A nova Web
Sigle Page Application - A nova Web
 
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
Community Webcast: Portal Silverlight Brasil - Criando Aplicativos Ricos Para...
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
Intervalo Técnico - QG Mobile
Intervalo Técnico - QG MobileIntervalo Técnico - QG Mobile
Intervalo Técnico - QG Mobile
 
Arquitetura para uma nova geração de aplicativos no Windows Azure
Arquitetura para uma nova geração de aplicativos no Windows AzureArquitetura para uma nova geração de aplicativos no Windows Azure
Arquitetura para uma nova geração de aplicativos no Windows Azure
 
PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com Python
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
 
Visão geral: BPMN e Automação de Processo
Visão geral: BPMN e Automação de ProcessoVisão geral: BPMN e Automação de Processo
Visão geral: BPMN e Automação de Processo
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para Negocios
 
Web 2.0 - Uma Visão Corporativa e Tecnológica
Web 2.0 - Uma Visão Corporativa e TecnológicaWeb 2.0 - Uma Visão Corporativa e Tecnológica
Web 2.0 - Uma Visão Corporativa e Tecnológica
 
Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travados
 
Novidades do .Net 4.0
Novidades do .Net 4.0Novidades do .Net 4.0
Novidades do .Net 4.0
 
TDC 2011 - SharePoint 2010 para Desenvolvedores
TDC 2011 - SharePoint 2010 para DesenvolvedoresTDC 2011 - SharePoint 2010 para Desenvolvedores
TDC 2011 - SharePoint 2010 para Desenvolvedores
 

Mehr von Henrique Dias

Mehr von Henrique Dias (6)

Big Blog Analysis
Big Blog AnalysisBig Blog Analysis
Big Blog Analysis
 
No sql system_survey
No sql system_surveyNo sql system_survey
No sql system_survey
 
Cassandra db
Cassandra dbCassandra db
Cassandra db
 
Previsor de Aprovação
Previsor de AprovaçãoPrevisor de Aprovação
Previsor de Aprovação
 
Projeto BD
Projeto BDProjeto BD
Projeto BD
 
Web site credibility
Web site credibilityWeb site credibility
Web site credibility
 

Repositório Social Serviços Web

  • 1. Repositório Social de  Serviços Web Henrique Dias Orientador Leandro Wives UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA
  • 2.
  • 3. Projeto Dodona Arquitetura de Sistemas orientada à Serviços Composição de Serviços Web Repositório de Serviços Web Recomendação de Serviços Web   ° ° ° Contexto Repositório Social de Serviços Web
  • 4.  
  • 5. Repositório de  Serviços Web   ° Contexto Repositório Social de Serviços Web
  • 6. Recomendação de Serviços Web Sintática ? Semântica Prabhakar [2005] QoS Thio  [2005] Contexto Repositório Social de Serviços Web
  • 7. Armazenamento dos  Serviços Web Centralização Organização Recomendação   ° Objetivos Repositório Social de Serviços Web
  • 8. Substituição dos  Serviços Web Indisponibilidade Tempo de Resposta Qualidade de Resposta Objetivos Repositório Social de Serviços Web
  • 9. Repositório Social de Serviços Web Importação de diversos serviços web Relacionamento por similaridade sintática Recomendação por afinidade ° ° Estratégia Repositório Social de Serviços Web
  • 10. Importação de Serviços Web WebCrawler de Serviços Web ° Estratégia Repositório Social de Serviços Web Cliente SOAP PHP Banco de Dados Relacional
  • 11. Relações entre os Serviços Web Similaridade sintática dos  parâmetros de entrada da funções Similaridade entre funções gera o relacionamento entre os serviços web  Estratégia Repositório Social de Serviços Web
  • 12. WebCrawler de Serviços Web ° ° ° ° ° ° ° ° ° Algoritmos Repositório Social de Serviços Web Search  Engine Google, Yahoo, Bing Script PHP Banco de Dados
  • 13. Consumo de WSDL pelo SOAP PHP ° ° ° ° ° ° ° ° Algoritmos Repositório Social de Serviços Web Lista de Serviços Web WSDL SOAP PHP MySQL
  • 14. Hashing de Tipos ° ° ° ° ° ° ° Algoritmos Repositório Social de Serviços Web insereItem (idCarinho, idItem, quantidade, observação, reservar) 0  1  0  1  0  0  3 Token, Boolean, NCName, String, anyURL, QName, int
  • 15. Propagação do Hashing ° ° ° ° ° ° Algoritmos Repositório Social de Serviços Web
  • 16. Comparação das Funções ° ° ° ° ° Algoritmos Repositório Social de Serviços Web Hash(f1)    0  2  0  9   0  0  3 Hash(f2)    0  5  0  3   0  0  7 Total          0  7  0 12  0  0 10  = 29 Diferenças  0  3  0  6   0  0  4  = 13 Percentual de Similaridade = 55%
  • 17. Equação das Funções ° ° ° ° Algoritmos Repositório Social de Serviços Web
  • 18. Algoritmo de Vizinhança ° ° ° Algoritmos Repositório Social de Serviços Web
  • 19. Equação das Funções ° ° Algoritmos Repositório Social de Serviços Web INSERT INTO function_rel SELECT f.id, function.id,     ROUND (             ABS(  CONV(SUBSTR(LPAD(f.code,8,'0'),1,1),20,10)                    + CONV(SUBSTR(LPAD(function.code,8,'0'),1,1),20,10))             -             ABS(  CONV(SUBSTR(LPAD(f.code,8,'0'),1,1),20,10)                     - CONV(SUBSTR(LPAD(function.code,8,'0'),1,1),20,10))             /             ABS(  CONV(SUBSTR(LPAD(f.code,8,'0'),1,1),20,10)                    + CONV(SUBSTR(LPAD(function.code,8,'0'),1,1),20,10))            ,5) as relation FROM Function f JOIN Function
  • 20. Equação dos Serviços Web ° Algoritmos Repositório Social de Serviços Web
  • 21. Equação dos Serviços Web Algoritmos Repositório Social de Serviços Web INSERT INTO webservice_rel SELECT id1,id2, ROUND(SUM(max_rel)/count(max_rel),5) FROM    (SELECT f1.idwebservice AS id1,        f2.idwebservice AS id2, MAX(relation) AS max_rel FROM function_rel fr INNER JOIN function f1 ON f1.id = fr.id1 INNER JOIN function f2 ON f2.id = fr.id2 GROUP BY f1.id, f2.idwebservice) AS temp GROUP BY 1,2
  • 22. Serviços Web Importados ° ° ° ° ° ° Resultados Repositório Social de Serviços Web 434 229 16 2.564 4.332 434.172 159.550 39.726 38.824 7.590
  • 23. Tempo de Execução 38 mil funções             1,5 bilhões de relações ° ° ° ° ° Resultados Repositório Social de Serviços Web 9 mil funções             93 milhões de relações   1 dia, 16 horas e 30 minutos            5.5GB
  • 24. Subconjunto escolhido ° ° ° ° Resultados Repositório Social de Serviços Web 500 funções     250.000 rel.   13 s 100 Serviços Web 6.500 rel. 7 s
  • 25. Relações do subconjunto ° ° ° Resultados Repositório Social de Serviços Web 1.418 757 533
  • 26. Diagrama de Relações entre os Serviços Web ° ° Resultados Repositório Social de Serviços Web
  • 27. Diagrama de Relações entre os Serviços Web ° Resultados Repositório Social de Serviços Web
  • 28. Componentes comparados Resultados Repositório Social de Serviços Web Funções do Google Search: doGoogleSearch (string, string, int, int, boolean, string, boolean, string,string, string) doGetCachedPage (string,string) doSpellingSuggestion (string,string) Tipos complexos do HeartBeat: User (int, string, string, int, string, int, string, string, string, string, string, string, string, string, int) Person (int, string, int, int, string, string, string, string, string, string, int, int) Tipos Complexos do NWIS: GetStationsWithWQParameter (string, string, string, string, string, string, string, string) GetChart (string,string,string,string) GetWQValues (string,string,string,string)
  • 29. Objetivos Alcançados Repositório de Serviços Web Valores de Relacionamentos entre  os Serviços Web ° ° ° Conclusão Repositório Social de Serviços Web
  • 30. Análise Crítica   “ Idéias verdes incolores  dormem furiosamente” Noam Chomsky ° ° Conclusão Repositório Social de Serviços Web
  • 31. Limitações Tempo de execução das consultas Interface de Recomendação   Categorização dos Serviços Web ° Conclusão Repositório Social de Serviços Web
  • 32. Trabalhos Futuros Grafo das relações dos Serviços Web Otimização das consultas Influenciar outras recomendações   Mapas auto-organizados Conclusão Repositório Social de Serviços Web
  • 33. Muito Obrigado! Perguntas?  Henrique Dias Orientador Leandro Wives UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA

Hinweis der Redaktion

  1. ... fala sobre Repositório... ??
  2. Onde se insere conceitos. Objetivos propostos pelo trabalho. Estratégias uilizadas. Detalhamento das estratégias e técnicas utilizadas na seção de algoritmos. Resultados obtidos com a criação do repositório. Objetivos alcançados, analise crítica, limitações, trabalhos futuros.
  3. Complementar o projeto. Projeto visa criar um repositório de recom. para sistemas de arquitetura orientada à serviços. A existência de sistemas baseados em composição de serviços web, necessitam, em alguns casos, substituir esse serviços. Recomendação de serviços web existentes em um repositório.
  4. Ao invés de ter os serviços de um sistema distribuidos espalhados.
  5. Repositório organizado para utilizar melhor recomendar os serviços.
  6. Existem trabalhos que abordam recomandação semântica. Serviços já organizados em categorias por qualidade de serviços.(tempo de resposta, avaliação do usuário).     Não existe trabalho que recomendam os serviços pela avaliação sintática de suas funções.
  7. Objetivos do repositório.     Vou poder recomandar e substituir os serviços de forma mais dinâmica por eles estarem centralizados e organizados em repositório único.
  8. Porque recomendar os serviços web? Sistema composto por serviços necessita substituí-los quando estão indisponíveis. Localização geográfica influencia tempo de resposta. Qualidade de resposta avaliada pelos usuários. Previsão do tempo com mais precisão.
  9. Então para criar um repositório social...   Composto por serviços web importados da internet para fazer avaliação de similaridade entre eles. Serviços similares serão recomendados de acordo com a afinidade existente no repositório.
  10. Para a importação foi constuido um WebCrawler. Busca na internet diversos descrições serviços web. SOAP PHP consome as descrições dos serviços encontrados. Banco de dados faz o cálculo de relacionamento e similaridade dos serviços encontrados.
  11. Para relacionar os serviços foi analisado os parâmetros de entrada das funções deste serviços e avaliada a similariadade entre essas funções. Em seguida, a similaridade das funções vai gerar os relacionamentos entre os serviços. O melhor relacionamento entre as funções de dois serviços gera o relacionamento entre as funções.
  12. Webcrawler varreu os resultados de pesquisas em diversas ferramentas de busca na internet, utilizando os recursos de pesquisa por tipo de arquivo WSDL. Script PHP faz a requisição no buscador que ao responser é analisado por uma expressão regular que busca padrão de texto que identifique um endereço de descrição de serviços web WSDL. A URL é inserida no banco de dados.
  13. Depois que a URL está armazenada no banco de dados. Eu vou varrer essas URLs analisando eles com o cliente SOAP PHP e inserir todos os componente descritos no WSDL no banco de dados. Consumir o WSDL. Para cada serviço é inserido no banco as duas funções, para cada função os seus paramâmetros que compõe a função, os tipos complexos descritos e as partes de cada tipo complexo. Para cada tipo complexo e função eu associo um número que identifica a quantidade de tipos simples existente nesta estrutura.
  14. Esse número que eu associa a uma função ou tipo complexo foi chamado de Hashing de tipos. Como funciona esse Hashing de Tipos? Ele identifica a quantidade de tipos simples encontrados na função ou tipo complexo. A repetição dos tipos simples nessa estrutura.   Para não haver overflow de uma casa cardinal, foi utilizado um número na base 20 que foi suficiente para os serviços encontrados. Para não haver supressão nem sobreposição de uma casa cardinal na outra.   A casa cardinal é um contador dos tipos simples de uma estrutura.   Para os tipos complexos que são compostos por outros tipos complexos, eu preciso propagar esse hashing  de tipos para os tipos que o contém ou para uma função.
  15. Pegando um exemplo existente no serviço web de pesquisa do Google. O Hashing de Tipo da função será o a soma do hashing de tipos dos seus parâmetros. No caso, o parâmetro é um único tipo complexo. O hashing desse tipo será a soma de seus tipos simples e os tipos complexos existentes nessa estrutura.
  16. Para compara duas função já com os seus hashing de tipos definidos. Somar a quantidade de parâmetros das suas funções, subtrair pelo módulo da diferença entre a quantidade de cada tipo simples das duas funções e dividir pela total de parâmetros para obter um percentual de similaridade entre as duas funções. Essa abordagem foi utilizada para que duas funções idênticas tivessem 100% de afinidade.
  17. A formula resultante desse algoritmo que calcula o percentual de similaridade entre as funções é representado por essa equação. A FUNÇÃO ALFA representa o somatório dos parâmetros existentes nas duas funções. A FUNÇÃO DELTA é o módulo da diferença entre a quantidade de um tipo simples entre as duas funções.
  18. Indexação de registros em raciocínio baseado em casos,    onde define a semelhança entre dos casos com o somatório dos atributos dos casos utilizando uma função de similaridade.
  19. Essa é parte da consulta SQL que gera o percentual de similaridade entre as funções. A função SUBSTR captura a casa cardinal representando cada tipo simples e converte para a base decimal para fazer a soma do TOTAL DE PARÂMETRO DAS DUAS FUNÇÕES.   MÓDULO DA DIFERENÇA entre os tiplos simples das duas funções.
  20. Depois de obter a similaridade entre as funções eu já posso calcular as afinidades entre os serviços web para gerar as relações dos serviços no repositório social. Algorítmo otimista considera a melhorar relação entre uma função do serviço web 1 e qualquer função do serviço web 2. Assim fazendo a média das funções  para obter o valor de relação dos serviços. Essa abordagem foi utilizada para quandos dois serviços idênticos forem comparados gerar uma relação de 100%.
  21. A fórmula que define esse cálculo é apresentação nesta equação, onde: Somatório das maiores relações entre uma função do serviço web 1 e qualquer função do serviço web 2. O SQL abaixo represente a equação.
  22. Agora eu vou mostrar alguns resultados destre trabalho. Erros de Parsing: WSDL não descitos no formato WSDL 1.1 Erros de banco: inserções sem referência cancelavam importação. Erros de Schema: Ausência de descritores XSD (extesões da descrição) Timeout: Serviços não mais existentes na URL encontrada.
  23. Depois da importação, ao executar as consultas que geram as similaridades entre as funções, o banco de dados demorou tempo demais para gerar os valores. Um subconjunto de 9mil funções ainda assim demorou tempo demais e a quantidade de serviços web ainda era grande demais para executar a consulta que gera os relacionamentos entre os serviços.
  24. Foi escolhido um subconjunto ainda menor. Os primeiros 100 serviços importados com sucesso somando 500 funções. Como mesmo alguns serviços web importados com sucesso tinham problemas de referência entre suas funções com demais serviços, não foram gerados todos os relacionamentos entre sos serviços.   Problemas de referência: inconsistência dos tipos complexos.
  25. Das 6.500 relações entre os serviços web, por ser um algortimo otimista, foi obtido 1400 relacionamento perfeitos entre os serviços web. Nos outros valores de relacionamento houve uma distribuição mais natural, com um pico nos relacionamentos entre 70 e 60%.
  26. Dos 100 serviços selecionados no subconjunto, foram analisados mais profundamente algumas relações entre grupos de serviços semelhantes. Foi analisado grupos de serviços com funções semelhantes para ver o nível de similaridade sintática entre esses serviços. FindAdrress: serviço de conversão CEP-Endereço É um resultado bem variado entre serviços de mesma função.
  27. Analisando o serviço do Google de pesquisa de páginas com outros serviços diversos. Verifica-se que realmente serviços com sintática semelhante tiveram melhor afinidade. O serviço do Google tem bastante uso de tipos string. HeartBeat: API de Rede Social   NWIS: Informações de estações de trem   ShipService: trabalham mais com tipos numéricos. EcoSMS: tipos texto.
  28. Algumas estruturas do serviço web do Google, HeartBeat e NWIS. Funções do Google tem vários parâmetros do tipo string. Tipos complexos do HeartBeat e NWIS são compostos por diversas estruturas do tipo string.
  29. Alguns objetivos que foram realizados com sucesso. Foi elaborado um respositório grande com diversos serviços web encontrados na internet. Com mais serviços do que eu imagina que conseguiria com os buscadores. Foram obtidos diversos valores interessantes de relacionamento entre um subconjunto dos serviços web encontrados. Assim pode ser avaliado o uso desses valores para outras aplicações de recomandação.
  30. Repositório sintática não resolve todo o problema de recomendação.   Uma função que recebe um inteiro e retorna uma string pode ser completamente diferente de uma outra com os mesmos parâmetros.   Duas funções sintáticamente semelhantes podem ter semânticas diferentes. Similaridade ingênua. Frase célebre de Noam Chomsky que critica a gramática no mesmo sentido que eu critico o meu trabalho. Chomsky: Gramaticalmente correta, semânticamente incoerente. Relação sintática não garante relação semântica. Posso ter duas funções sintaticamente diferentes com a mesma função.   Consulta de temperatura local com entrada CEP(numérico) e outra texto(nome da cidade) retornando o valor da temperatura.
  31. SQL não da suporte de operações para bases diferentes da decimal. É necessário conversão. Não há interface de comunicação para acesso de outros sistemas, nem para consulta nem para recomendação para substituição. Foco do trabalho era a criação do repositório social. Sem categoria, dificulta  uma melhorar recomendação entre os serviços. Serviços de mesma categoria com maior afinidade sintática, devem ser recomendados aos invés de serviços em outras categorias.
  32. Criação de grafo para visualização das relações entre os serviços encontrados na internet. Utilizar uma estrutura numérica mais eficiente para o hashing de tipos. Sem necessidade de conversão. Analisar todos os serviços não só o subconjunto. Mesclar a afinidade sintática para influenciar outras sistemas de recomendação de serviços web. Algoritmos de mineração de dados para mapas auto-organizados.
  33. Fico disponível para perguntas.