Web Services

Fábio de Sousa Leal fabiosl@dsc.ufcg.edu.br

1

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

2

Introdução

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

3

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

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 messagepassing protocols, XML was a logical choice for the job of standardized application-to-application communication.” (Jason Levitt)
5

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

Java Web Services) • Padrões fechados não são aceitos como soluções para um Web Service.” (David Chappel. Using a web service could be as simple as logging into a site or as complex as facilitating a multiorganization business negotiation. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 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.

Síncrono/Assíncrono: Web Services devem disponibilizar os dois tipos de transmissão. Baixo acoplamento: O Web Service pode mudar sem que seus clientes mudem suas aplicações. para que suas aplicações possam escolher qual o melhor para as mesmas.Características de um Web Service • XML-Based: Evita que protocolos fechados prejudiquem a interoperabilidade do Web Service. • • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 7 .

Características de um Web Service • Suporte a chamadas RPC: Web Services devem suportar chamadas remotas de procedimentos. 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 Services Semantic Web Services Conclusão Referências 8 . funções e métodos.

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

SMTP. 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.Principais Tecnologias • SOAP: Estrutura de empacotamento padrão para transportar documentos XML através de protocolos de Internet (HTTP. UDDI: Repositório mundial de Web Services. WSDL: Tecnologia que padroniza a descrição da interface de um web service. FTP). Ú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 Services Semantic Web Services Conclusão Referências 10 .

Principais Tecnologias Imagem 1 -Funcionamento Básico de um Web Service Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 11 .

Defasado em relação à sua segurança e confiabilidade. HTTP SMTP MIME Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 12 . Codificação de objetos para transporte pela rede. Mais “simples” que seus antecessores. criando um “envelope”. De simples implementação.SOAP – Simple Object Access Protocol • • • • • Protocolo para trocar informações pela em um ambiente distribuído.

SOAP – Simple Object Access Protocol Configurações Envelope Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 13 .

WSDL – Web Services Description Language • Descreve a interface para alguém que utilizará o serviço: Operações (input e output). Acesso (Protocolo comunicação). (Localização de do • • • • XML-Based. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 14 . Endpoint serviço).

• • Protocolo avançado para publicação e descoberta de Web Services. similar às de listas telefônicas. Padrão proposto pela fundação OASIS.UDDI – Universal Description. Informações do serviço. Discovery and Integration. Define Registros para Web Services: • • • Provedor. IBM e Sun e visa a padronização de alguns elementos da Web. Acesso técnico. Conceito de “Páginas Amarelas”. 15 • • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências . que é formada por empresas como a Microsoft.

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

Solução: Web Service! 17 • • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências .Portal Business-to-Consumer (B2C) • • • Empresa que lida com passagens de vendas aéreas. 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. Novas parcerias com outras empresas vão surgindo.

Prescrições eletrônicas tornariam-se possíveis. assim como os de seus familiares. Padronização no envio das prescrições seria possível via Web Service.Indústria de Saúde • Um médico com um Smartphone ou Handheld poderia acessar seus históricos de saúde. alergias). e poderiam ser enviados para a farmácia da qual você é cliente. marcas preferidas. Classe de medicamentos utilizada pelo paciente também disponível (genéricos. • • • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 18 .

Computação altamente escalável.I como Web Service.com • • • • • Infraestrutura de T. Pay as-you-go. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 19 .Amazon. Terceirização da rede de uma empresa. Simple Storage Service (3S).

Aplicações pequenas.xmethods. www.Exemplo de Aplicação • • Existem sites que armazenam pequenos Web Services.com Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 20 . tais como enviar SMS’s ou um mapeamento de IP ao seu país.

Web Services + NetBeans “Hello. World!” Hands-On!!! Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 21 .

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

Problemas em Web Services • Apesar de ser uma boa ferramenta a ser utilizada. dos serviços são realizadas Todas as tarefas associadas a esses ligação desses serviços têm que ser desempenhadas por humanos. Escalabilidade?! Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 23 . os Web services ainda têm problemas: o o o o As descrições manualmente. Lentidão.

• • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 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. descobririam os serviços adequados. invocariam os serviços.. Clientes automatizados fariam o browsing de registros UDDI. No entanto. e fica difícil chegar a esse estado. finalmente. como interagir com os serviços e. tudo automaticamente.. UDDI não é tão utilizado atualmente.

• Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services & Semantic Web Services Conclusão Referências 25 . Reuso de Código. Reunir diversos serviços pequenos pode ser mais viável do que construir um grande que resolva tudo. Composição.Composição de Web Services • • • • Agregação de Web Services. Amplamente utilizado em Service Oriented Architecture. de início. manual.

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

Um pouco de Semantic Web • • • Integração de dados! Tornar dados independentes de sua representação. 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 . Fazer união dos resultados obtidos.

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

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

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

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

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 .

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 .

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 .

pode ser obtida através de junções. mais informações podem ser obtidas com a simples adição de mais algumas tags especificando os atributos. apesar de não constar na base de dados utilizada pelo usuário. • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências . No entanto.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.

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 .

Fazer a introdução de mais três tags e a junção de diferentes bases de dados possibilitou novas descobertas. como informações pessoais do autor podem ser reveladas a partir desse processo. agora. • • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências . pode ter. Novos dados. Um usuário que procura um livro pelo nome do seu autor.Resultados Obtidos • • Mais coesão nas queries. mais informações sobre as demais obras do mesmo.

São de diferentes formatos. Têm diferentes nomes para seus atributos. OWL! Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências . Unimos diferentes bases de dados que o o o • Estão em locais diferentes da Web.Mas… o que fizemos? • • Fizemos algo que humanos fazem com certa facilidade. Isso pode ser melhorado através de: o o o Ontologias Regras Extras RDF.

Visão Geral – Semantic WS Dinâmica Estática Sintaxe Semântica .

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

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

DAML-S.Composição & Semantic Web Services • • • Composição automática de Serviços. A definição semântica definida por WSDL não é uma tarefa trivial para a máquina. Surgiu com a idéia da Web Semântica. Criação de várias linguagens de marcação para agregar semântica aos dados. DAML+OIL. DAML-L. 42 • • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services & Semantic Web Services Conclusão Referências . OWL-S. OWL. WSMO.

Descoberta automática de Web Services. Não é uma tecnologia que tenta substituir os padrões atuais para Web Services. Estende UDDI para a descoberta de novos WS’s. o o o • o o o Tenta dar um suporte à semântica dos Web Services. de Web Services e 43 Objetivos Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services & Semantic Web Services Conclusão Referências . Chamada automática de Web Services.OWL-S Semantic Markup for Web Services • • Uma ontologia de OWL para descrever Web Services. Composição automática interoperabilidade. Depende de WSDL para fazer as invocações de WS.

Web Service Modeling Ontology . Baseado no Web Service Modeling Framework (WSMF).WSMO • • • Uma ontologia e framework conceitual para descrever Web Services e aspectos relacionados. É descrito em Semantic Web Services Language (SWSL). Modelo Conceitual para SWS Linguagem formal para WSMO Ambiente de execução para WSMO 44 Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services & Semantic Web Services Conclusão Referências .

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

• • Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 46 . Independência de linguagem e de plataforma! Pontos como segurança.Conclusão • • Tecnologia promissora. e novas padronizações estão surgindo. escalabilidade e confiabilidade são de grande importância na implementação de um WS. A parte de Semantic Web Services ainda não está totalmente consolidada.

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

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

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

au/presentations/2003-08-21-web-services-interop/msm-ws.com/news/software/development/showArticle.w3.informationweek.org/2009/Talks/1030-Philadelphia-IH/Tutorial.wsmo..org/papers/publications/wsmf.ie/~axepol/..slideshare.pdf ____ Slides de amanhã: (SOAP + Proximo).pdf http://www./20050316-BITSeminar-Bolzano.ppt http://www.A7.ul.fc.net/ioannis.di.net/bpedro/web-services-in-portuguese http://www. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências 50 .org.ppt www.com/article.deri.A3o_de_Web_services http://homepages.xml.html#id2628715 Implementation Issues of A Cloud Computing Platform PAPER http://pt.wikibooks.org/uddi-101 http://www.org/wiki/Sistemas_de_Informa%C3%A7%C3%A3o_Distribu%C3%ADdos/Interopera%C3%A7%C3 %A3o/Web_Services/Linhas_de_pesquisa#Composi.scientificamerican.sys-con.paper.pt/~ler/docencia/tm0405/slides/HenriqueMoniz.Referências http://soa.jhtml?articleID=6506480 http://uddi.A Performance Comparison of Popular Open Source Web Services Engines http://www.slideshare.C3.C3.baltopoulos/introduction-to-web-services http://www.w3c.com/node/439687 .cfm?id=the-semantic-web axel.