Introdução a Web Services

50
Web Services 1 Fábio de Sousa Leal [email protected]

description

Slides apresentando os principais conceitos conceitos e tecnologias sobre Web Services.

Transcript of Introdução a Web Services

Page 1: Introdução a Web Services

Web Services

1

Fábio de Sousa Leal

[email protected]

Page 2: Introdução a Web Services

Agenda

• Introdução

• Principais Tecnologias

• Exemplo de Aplicação

• Composição de Web Services

2

• Composição de Web Services

• Semantic Web Services

• Conclusão

• Referências

Page 3: Introdução a Web Services

Introdução

3

Introdução

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 4: Introdução a Web Services

Contexto

• Na época do “Boom” da Web, vários processosmanuais passaram a ser realizados online.

• Fazia-se necessária a criação de um arcabouço

4

• Fazia-se necessária a criação de um arcabouçode ferramentas que automatizasse processos.

• Tais ferramentas precisavam ser interoperáveise escaláveis para promover o reuso dos sistemasjá utilizados remotamente.

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web ServicesSemantic Web Services Conclusão Referências

Page 5: Introdução a Web Services

Contexto

• Algumas possíveis antecessoras dos Web Services:CORBA, DCOM, URPC, RMI.

• Essas tecnologias ainda existem hoje,mas o formatoXML, da W3C se mantém líder nos Web Services.

5Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

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.” (JasonLevitt)

Page 6: Introdução a Web Services

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)

6Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

• Padrões fechados não são aceitos como soluções para um Web Service.

Page 7: Introdução a Web Services

Características de um WebService

• XML-Based: Evita que protocolos fechados prejudiquem ainteroperabilidade do Web Service.

• Baixo acoplamento: O Web Service pode mudar sem que

7Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

• Baixo acoplamento: O Web Service pode mudar sem queseus clientes mudem suas aplicações.

• Síncrono/Assíncrono: Web Services devem disponibilizaros dois tipos de transmissão, para que suas aplicaçõespossam escolher qual o melhor para as mesmas.

Page 8: Introdução a Web Services

Características de um Web Service

• Suporte a chamadas RPC: Web Services devem suportarchamadas remotas de procedimentos, funções e métodos.

• Suporte a diferentes tipos de documentos: Como sãobaseados em XML, Web Services devem ser flexíveis

8Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

baseados em XML, Web Services devem ser flexíveisquanto aos tipos de documentos que manipulam.

Page 9: Introdução a Web Services

Principais Tecnologias

9

Principais Tecnologias

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 10: Introdução a Web Services

Principais Tecnologias

• SOAP: Estrutura de empacotamento padrãopara transportardocumentos XML através de protocolos de Internet (HTTP, SMTP,FTP).

• WSDL: Tecnologiaquepadronizaa descriçãoda interfacede um web

10

• WSDL: Tecnologiaquepadronizaa descriçãoda interfacede um webservice. Descreve propriedades comoparâmetros de entrada/saídapara umachamada externa, estrutura de uma funçãoe o protocoloque é utilizado no mesmo.

• UDDI: Repositóriomundial de Web Services. Útil para publicar e/oudescobrir serviços que já foram criados e utilizar os já existentes.

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 11: Introdução a Web Services

Principais Tecnologias

11Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Imagem 1 -Funcionamento Básico de um Web Service

Page 12: Introdução a Web Services

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”.

12

• De simples implementação.

• Defasado em relação à sua segurança

e confiabilidade.

• Mais “simples” que seus antecessores.

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

HTTP SMTP

MIME

Page 13: Introdução a Web Services

SOAP – Simple Object Access

Protocol

Configurações

13Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Envelope

Page 14: Introdução a Web Services

WSDL – Web Services Description

Language

• Descreve a interface paraalguém que utilizará oserviço:

• Operações (input e output);

14

• Operações (input e output);

• Acesso (Protocolo decomunicação);

• Endpoint (Localização doserviço);

• XML-Based;

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 15: Introdução a Web Services

UDDI – Universal Description,

Discovery and Integration.

• Protocolo avançado para publicação edescoberta de Web Services.

• Padrão proposto pela fundação OASIS,que é formada por empresas como aMicrosoft, IBM e Sun e visa apadronização de alguns elementos da

15Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

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.

Page 16: Introdução a Web Services

Exemplo de Aplicação

16

Exemplo de Aplicação

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 17: Introdução a Web Services

Portal Business-to-Consumer (B2C)

• Empresa que lida com passagens de vendas aéreas.

• Novas parcerias com outras empresas vão surgindo.

17Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

• Não poderíamos oferecer serviços de locação de carrosaos compradores de passagens aéreas em nosso própriosite? O sistema é “flexível” o bastante?

• Novas parcerias podem surgir.

• Solução: Web Service!

Page 18: Introdução a Web Services

Indústria de Saúde

• Um médico com um Smartphone ou Handheld poderiaacessar seus históricos de saúde, assim como os de seusfamiliares.

• Prescrições eletrônicas tornariam-se possíveis, epoderiam ser enviados para a farmácia da qual você é

18Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

poderiam ser enviados para a farmácia da qual você écliente.

• Classe de medicamentos utilizada pelo paciente tambémdisponível (genéricos, marcas preferidas, alergias).

• Padronização no envio das prescrições seria possível viaWeb Service.

Page 19: Introdução a Web Services

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).

19Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

• Simple Storage Service (3S).

Page 20: Introdução a Web Services

Exemplo de Aplicação

• Existem sites que armazenam pequenos Web Services.

• Aplicações pequenas, tais como enviar SMS’s ou ummapeamento de IP ao seu país.

20Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

www.xmethods.com

Page 21: Introdução a Web Services

Web Services + NetBeans“Hello, World!”

Hands-On!!!

21Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Hands-On!!!

Page 22: Introdução a Web Services

Composição de Web

Services

22

Services

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 23: Introdução a Web Services

Problemas em Web Services

• Apesar de ser uma boa ferramenta a ser utilizada, os Webservices ainda têm problemas:

o As descrições dos serviços são realizadasmanualmente.

o Todas as tarefas associadas a esses ligação desses

23Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

o Todas as tarefas associadas a esses ligação dessesserviços têm que ser desempenhadas por humanos.

o Lentidão.

o Escalabilidade?!

Page 24: Introdução a Web Services

“Utopia” de Web Services

• Interação dinâmica em uma comunidade de negóciosaberta é vista como o “Santo Graal” dos Web Services.

• Clientes automatizados fariam o browsing de registrosUDDI, descobririam os serviços adequados, como interagir

24Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

UDDI, descobririam os serviços adequados, como interagircom os serviços e, finalmente, invocariam os serviços,tudo automaticamente.

• No entanto... UDDI não é tão utilizado atualmente, e ficadifícil chegar a esse estado.

Page 25: Introdução a Web Services

Composição de Web Services• Agregação de Web Services.

• Amplamente utilizado em Service Oriented Architecture.

25Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services & Semantic Web Services Conclusão Referências

• Composição, de início, manual.

• Reunir diversos serviços pequenos pode ser mais viáveldo que construir um grande que resolva tudo.

• Reuso de Código.

Page 26: Introdução a Web Services

Semantic Web Services

26Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 27: Introdução a Web Services

Um pouco de Semantic Web

• Integração de dados!

• Tornar dados independentes de sua representação.

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

• Fazer união dos resultados obtidos, unindo-os em umasó base de dados.

• Fazer pesquisas no “todo” ao invés de pesquisar empartes (datasets) separadas.

Page 28: Introdução a Web Services

Exemplo

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Database A

Page 29: Introdução a Web Services

Exemplo

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Database A - Grafo

Page 30: Introdução a Web Services

Exemplo

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Database F

Page 31: Introdução a Web Services

Exemplo

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Database F - Grafo

Page 32: Introdução a Web Services

Exemplo

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Database A + F – Grafo Desconexo

Page 33: Introdução a Web Services

Exemplo

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Database A + F – Merge Possível

Page 34: Introdução a Web Services

Exemplo

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Database A + F – Merge (de ID) realizado

Page 35: Introdução a Web Services

Exemplo

• Consultas agora podem ser realizadas tanto como:

• “Give me the title of the original”

• “Donnes-moi le titre de l’original ”

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

• A informação, apesar de não constar na base de dadosutilizada pelo usuário, pode ser obtida através de junções.

• No entanto, mais informações podem ser obtidas com asimples adição de mais algumas tags especificando osatributos.

Page 36: Introdução a Web Services

Exemplo

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Database A + F – Merge de autor e de ID realizado

Page 37: Introdução a Web Services

Resultados Obtidos

• Mais coesão nas queries.

• Novos dados, como informações pessoais do autor podemser reveladas a partir desse processo.

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

• Fazer a introdução de mais três tags e a junção dediferentes 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 obrasdo mesmo.

Page 38: Introdução a Web Services

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.

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

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!

Page 39: Introdução a Web Services

Visão Geral – Semantic WS

Dinâmica

Estática

Sintaxe Semântica

Page 40: Introdução a Web Services

Sintaxe!Sintaxe!

Falta semântica nas definições de Web Services Tradicionais!

Page 41: Introdução a Web Services

Tecnologia da Web Semântica

Semantic Web Services

Dados legíveis para a máquinaOntologias como modelos de dados

Tecnologia dos Web ServicesDescoberta 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 novageração da Web.

Page 42: Introdução a Web Services

Composição & Semantic Web Services• Composição automática de Serviços.

• Surgiu com a idéia da Web Semântica.

42Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services & Semantic Web Services Conclusão Referências

• A definição semântica definida por WSDL não é umatarefa trivial para a máquina.

• Criação de várias linguagens de marcação para agregarsemântica aos dados.

• OWL; OWL-S; DAML+OIL; DAML-L; DAML-S; WSMO;

Page 43: Introdução a Web Services

OWL-SSemantic Markup for Web Services

• Uma ontologia de OWL para descrever Web Services.

• Não é uma tecnologia que tenta substituir os padrõesatuais para Web Services.

o Tenta dar um suporte à semântica dos Web Services.

43Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services & Semantic Web Services Conclusão Referências

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 einteroperabilidade.

Page 44: Introdução a Web Services

Web Service Modeling Ontology - WSMO

• Uma ontologia e framework conceitual para descrever WebServices e aspectos relacionados.

• É descrito em Semantic Web Services Language (SWSL).

• Baseado no Web Service Modeling Framework (WSMF).

44Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services & Semantic Web Services Conclusão Referências

ModeloConceitualpara SWS

Linguagem formal para WSMO

Ambiente de execução para

WSMO

Page 45: Introdução a Web Services

Conclusão

45

Conclusão

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 46: Introdução a Web Services

Conclusão

• Tecnologia promissora.

• A parte de Semantic Web Services ainda não estátotalmente consolidada, e novas padronizações estãosurgindo.

46Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

surgindo.

• Independência de linguagem e de plataforma!

• Pontos como segurança, escalabilidade e confiabilidadesão de grande importância na implementação de um WS.

Page 47: Introdução a Web Services

Conclusão

47Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 48: Introdução a Web Services

Referências

48

Referências

Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 49: Introdução a Web Services

Livros

49Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências

Page 50: Introdução a Web Services

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

50

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 Services Semantic Web Services Conclusão Referências