O documento introduz os Web Services, discutindo sua definição, características, principais tecnologias (SOAP, WSDL, UDDI), exemplos de aplicação e desafios como composição e semântica. É apresentada uma visão geral dos Semantic Web Services que combinam as tecnologias dos Web Services tradicionais com recursos da Web Semântica como ontologias.
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
Introdução a Web Services
1. Web Services
Fábio de Sousa Leal
fabiosl@dsc.ufcg.edu.br
1
2. Agenda
• Introdução
• Principais Tecnologias
• Exemplo de Aplicação
• Composição de Web Services
• Semantic Web Services
• Conclusão
• Referências
2
3. Introdução
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 3
Services Semantic Web Services Conclusão Referências
4. Contexto
• Na época do “Boom” da Web, vários processos
manuais passaram a ser realizados online.
• Fazia-se necessária a criação de um arcabouço
de ferramentas que automatizasse processos.
• Tais ferramentas precisavam ser interoperáveis
e escaláveis para promover o reuso dos sistemas
já utilizados remotamente.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services 4
Semantic Web Services Conclusão Referências
5. Contexto
• Algumas possíveis antecessoras dos Web Services:
CORBA, DCOM, URPC, RMI.
• Essas tecnologias ainda existem hoje,mas o formato
XML, da W3C se mantém líder nos Web Services.
• “ It was XML's invention that really paved the way for Web
services. As a widely heralded, platform-independent standard
for data description that could also be used to describe message-
passing protocols, XML was a logical choice for the job of
standardized application-to-application communication.” (Jason
Levitt)
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 5
Services Semantic Web Services Conclusão Referências
6. O que é um Web Service?
• “A Web Service is a piece of business logic, located somewhere on the
internet, that is accessible through standard-based Internet protocols,
such as HTTP or SMTP. Using a web service could be as simple as
logging into a site or as complex as facilitating a multiorganization
business negotiation.”
(David Chappel, Java Web Services)
• Padrões fechados não são aceitos como soluções para um
Web Service.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 6
Services Semantic Web Services Conclusão Referências
7. Características de um Web
Service
• XML-Based: Evita que protocolos fechados prejudiquem a
interoperabilidade do Web Service.
• Baixo acoplamento: O Web Service pode mudar sem que
seus clientes mudem suas aplicações.
• Síncrono/Assíncrono: Web Services devem disponibilizar
os dois tipos de transmissão, para que suas aplicações
possam escolher qual o melhor para as mesmas.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 7
Services Semantic Web Services Conclusão Referências
8. Características de um
Web Service
• Suporte a chamadas RPC: Web Services devem suportar
chamadas remotas de procedimentos, funções e métodos.
• Suporte a diferentes tipos de documentos: Como são
baseados em XML, Web Services devem ser flexíveis
quanto aos tipos de documentos que manipulam.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 8
Services Semantic Web Services Conclusão Referências
9. Principais Tecnologias
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 9
Services Semantic Web Services Conclusão Referências
10. Principais Tecnologias
• SOAP: Estrutura de empacotamento padrão para transportar
documentos XML através de protocolos de Internet (HTTP, SMTP,
FTP).
• WSDL: Tecnologia que padroniza a descrição da interface de um web
service. Descreve propriedades como parâmetros de entrada/saída
para uma chamada externa, estrutura de uma função e o protocolo
que é utilizado no mesmo.
• UDDI: Repositório mundial de Web Services. Útil para publicar e/ou
descobrir serviços que já foram criados e utilizar os já existentes.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 10
Services Semantic Web Services Conclusão Referências
11. Principais Tecnologias
Imagem 1 -Funcionamento Básico de um Web Service
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 11
Services Semantic Web Services Conclusão Referências
12. SOAP – Simple Object Access
Protocol
• Protocolo para trocar informações pela
em um ambiente distribuído.
• Codificação de objetos para transporte
pela rede, criando um “envelope”.
• De simples implementação.
• Defasado em relação à sua segurança
e confiabilidade.
• Mais “simples” que seus antecessores.
HTTP MIME
SMTP
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 12
Services Semantic Web Services Conclusão Referências
13. SOAP – Simple Object Access
Protocol
Configurações
Envelope
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 13
Services Semantic Web Services Conclusão Referências
14. WSDL – Web Services Description
Language
• Descreve a interface para
alguém que utilizará o
serviço:
• Operações (input e output);
• Acesso (Protocolo de
comunicação);
• Endpoint (Localização do
serviço);
• XML-Based;
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 14
Services Semantic Web Services Conclusão Referências
15. UDDI – Universal Description,
Discovery and Integration.
• Protocolo avançado para publicação e
descoberta de Web Services.
• Padrão proposto pela fundação OASIS,
que é formada por empresas como a
Microsoft, IBM e Sun e visa a
padronização de alguns elementos da
Web.
• Conceito de “Páginas Amarelas”,
similar às de listas telefônicas.
• Define Registros para Web Services:
• Provedor.
• Informações do serviço.
• Acesso técnico.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 15
Services Semantic Web Services Conclusão Referências
16. Exemplo de Aplicação
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 16
Services Semantic Web Services Conclusão Referências
17. Portal Business-to-Consumer
(B2C)
• Empresa que lida com passagens de vendas aéreas.
• Novas parcerias com outras empresas vão surgindo.
• Não poderíamos oferecer serviços de locação de carros
aos compradores de passagens aéreas em nosso próprio
site? O sistema é “flexível” o bastante?
• Novas parcerias podem surgir.
• Solução: Web Service!
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 17
Services Semantic Web Services Conclusão Referências
18. Indústria de Saúde
• Um médico com um Smartphone ou Handheld poderia
acessar seus históricos de saúde, assim como os de seus
familiares.
• Prescrições eletrônicas tornariam-se possíveis, e
poderiam ser enviados para a farmácia da qual você é
cliente.
• Classe de medicamentos utilizada pelo paciente também
disponível (genéricos, marcas preferidas, alergias).
• Padronização no envio das prescrições seria possível via
Web Service.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 18
Services Semantic Web Services Conclusão Referências
19. Amazon.com
• Infraestrutura de T.I como Web Service.
• Terceirização da rede de uma empresa.
• Pay as-you-go.
• Computação altamente escalável.
• Simple Storage Service (3S).
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 19
Services Semantic Web Services Conclusão Referências
20. Exemplo de Aplicação
• Existem sites que armazenam pequenos Web Services.
• Aplicações pequenas, tais como enviar SMS’s ou um
mapeamento de IP ao seu país.
www.xmethods.com
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 20
Services Semantic Web Services Conclusão Referências
21. Web Services + NetBeans
“Hello, World!”
Hands-On!!!
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 21
Services Semantic Web Services Conclusão Referências
22. Composição de Web
Services
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 22
Services Semantic Web Services Conclusão Referências
23. Problemas em Web
Services
• Apesar de ser uma boa ferramenta a ser utilizada, os Web
services ainda têm problemas:
o As descrições dos serviços são realizadas
manualmente.
o Todas as tarefas associadas a esses ligação desses
serviços têm que ser desempenhadas por humanos.
o Lentidão.
o Escalabilidade?!
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 23
Services Semantic Web Services Conclusão Referências
24. “Utopia” de Web Services
• Interação dinâmica em uma comunidade de negócios
aberta é vista como o “Santo Graal” dos Web Services.
• Clientes automatizados fariam o browsing de registros
UDDI, descobririam os serviços adequados, como interagir
com os serviços e, finalmente, invocariam os serviços,
tudo automaticamente.
• No entanto... UDDI não é tão utilizado atualmente, e fica
difícil chegar a esse estado.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 24
Services Semantic Web Services Conclusão Referências
25. Composição de Web
Services
• Agregação de Web Services.
• Amplamente utilizado em Service Oriented Architecture.
• Composição, de início, manual.
• Reunir diversos serviços pequenos pode ser mais viável
do que construir um grande que resolva tudo.
• Reuso de Código.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 25
Services & Semantic Web Services Conclusão Referências
26. Semantic Web Services
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 26
Services Semantic Web Services Conclusão Referências
27. Um pouco de Semantic Web
• Integração de dados!
• Tornar dados independentes de sua representação.
• Fazer união dos resultados obtidos, unindo-os em uma
só base de dados.
• Fazer pesquisas no “todo” ao invés de pesquisar em
partes (datasets) separadas.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
28. Exemplo
Database A
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
29. Exemplo
Database A - Grafo
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
30. Exemplo
Database F
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
31. Exemplo
Database F - Grafo
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
32. Exemplo
Database A + F – Grafo Desconexo
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
33. Exemplo
Database A + F – Merge Possível
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
34. Exemplo
Database A + F – Merge (de ID) realizado
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
35. Exemplo
• Consultas agora podem ser realizadas tanto como:
• “Give me the title of the original”
• “Donnes-moi le titre de l’original ”
• A informação, apesar de não constar na base de dados
utilizada pelo usuário, pode ser obtida através de junções.
• No entanto, mais informações podem ser obtidas com a
simples adição de mais algumas tags especificando os
atributos.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
36. Exemplo
Database A + F – Merge de autor e de ID realizado
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
37. Resultados Obtidos
• Mais coesão nas queries.
• Novos dados, como informações pessoais do autor podem
ser reveladas a partir desse processo.
• Fazer a introdução de mais três tags e a junção de
diferentes bases de dados possibilitou novas descobertas.
• Um usuário que procura um livro pelo nome do seu autor,
pode ter, agora, mais informações sobre as demais obras
do mesmo.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
38. Mas… o que fizemos?
• Fizemos algo que humanos fazem com certa facilidade.
• Unimos diferentes bases de dados que
o Estão em locais diferentes da Web.
o São de diferentes formatos.
o Têm diferentes nomes para seus atributos.
• Isso pode ser melhorado através de:
o Ontologias
o Regras Extras
o RDF, OWL!
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web
Services Semantic Web Services Conclusão Referências
41. Semantic Web Services
Tecnologia da Web Semântica
Dados legíveis para a máquina
Ontologias como modelos de dados
Tecnologia dos Web Services
Descoberta automática, seleção e composição
Execução de serviços baseados na Web
• Semantic Web Services são uma solução integrada da nova
geração da Web.
42. Composição & Semantic
Web Services
• Composição automática de Serviços.
• Surgiu com a idéia da Web Semântica.
• A definição semântica definida por WSDL não é uma
tarefa trivial para a máquina.
• Criação de várias linguagens de marcação para agregar
semântica aos dados.
• OWL; OWL-S; DAML+OIL; DAML-L; DAML-S; WSMO;
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 42
Services & Semantic Web Services Conclusão Referências
43. OWL-S
Semantic Markup for Web Services
• Uma ontologia de OWL para descrever Web Services.
• Não é uma tecnologia que tenta substituir os padrões
atuais para Web Services.
o Tenta dar um suporte à semântica dos Web Services.
o Depende de WSDL para fazer as invocações de WS.
o Estende UDDI para a descoberta de novos WS’s.
• Objetivos
o Descoberta automática de Web Services.
o Chamada automática de Web Services.
o Composição automática de Web Services e
interoperabilidade.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 43
Services & Semantic Web Services Conclusão Referências
44. Web Service Modeling Ontology - WSMO
• Uma ontologia e framework conceitual para descrever Web
Services e aspectos relacionados.
• É descrito em Semantic Web Services Language (SWSL).
• Baseado no Web Service Modeling Framework (WSMF).
Modelo
Conceitual
para SWS
Ambiente de
Linguagem formal execução para
para WSMO WSMO
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 44
Services & Semantic Web Services Conclusão Referências
45. Conclusão
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 45
Services Semantic Web Services Conclusão Referências
46. Conclusão
• Tecnologia promissora.
• A parte de Semantic Web Services ainda não está
totalmente consolidada, e novas padronizações estão
surgindo.
• Independência de linguagem e de plataforma!
• Pontos como segurança, escalabilidade e confiabilidade
são de grande importância na implementação de um WS.
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 46
Services Semantic Web Services Conclusão Referências
47. Conclusão
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 47
Services Semantic Web Services Conclusão Referências
48. Referências
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 48
Services Semantic Web Services Conclusão Referências
49. Livros
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 49
Services Semantic Web Services Conclusão Referências
50. Referências
http://soa.sys-con.com/node/439687 - A Performance Comparison of Popular Open Source Web Services Engines
http://www.informationweek.com/news/software/development/showArticle.jhtml?articleID=6506480
http://uddi.xml.org/uddi-101
http://www.w3c.org.au/presentations/2003-08-21-web-services-interop/msm-ws.html#id2628715
Implementation Issues of A Cloud Computing Platform PAPER
http://pt.wikibooks.org/wiki/Sistemas_de_Informa%C3%A7%C3%A3o_Distribu%C3%ADdos/Interopera%C3%A7%C3
%A3o/Web_Services/Linhas_de_pesquisa#Composi.C3.A7.C3.A3o_de_Web_services
http://homepages.di.fc.ul.pt/~ler/docencia/tm0405/slides/HenriqueMoniz.pdf
http://www.scientificamerican.com/article.cfm?id=the-semantic-web
axel.deri.ie/~axepol/.../20050316-BITSeminar-Bolzano.ppt
www.w3.org/2009/Talks/1030-Philadelphia-IH/Tutorial.ppt
http://www.slideshare.net/bpedro/web-services-in-portuguese
http://www.slideshare.net/ioannis.baltopoulos/introduction-to-web-services
http://www.wsmo.org/papers/publications/wsmf.paper.pdf
____
Slides de amanhã:
(SOAP + Proximo).
Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 50
Services Semantic Web Services Conclusão Referências