Sistemas Distribuídos - Aula 07 - Servicos Web
-
Upload
arthur-emanuel -
Category
Technology
-
view
333 -
download
4
description
Transcript of Sistemas Distribuídos - Aula 07 - Servicos Web
![Page 1: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/1.jpg)
1
SISTEMAS DISTRIBUÍDOS
SERVIÇOS WEBARTHUR EMANUEL DE OLIVEIRA CAROSIA
![Page 2: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/2.jpg)
2
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
![Page 3: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/3.jpg)
3
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
![Page 4: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/4.jpg)
4
HISTÓRICO
Início da Computação
• Programas executados localmente.
Surgimento das Redes de Computadores
• Arquitetura cliente-servidor.
Avanço das Redes de Computadores
• As aplicações necessitavam se comunicar entre si de forma dinâmica.
• Web services foram desenvolvidos para realizar interações aplicação-aplicação, embora também possa ser utilizada para interações com o usuário.
![Page 5: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/5.jpg)
5
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
![Page 6: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/6.jpg)
6
DEFINIÇÃO
Web services
Sistema de software projetado para apoiar interações máquina-máquina interoperáveis pela rede, fornecendo uma interface descrita em um formato processável por máquina (WSDL).
![Page 7: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/7.jpg)
7
DEFINIÇÃO
Interação com Web services
Outros sistemas interagem com o web service de maneira prescrita por sua descrição usando mensagens SOAP, normalmente transmitidas com o uso de HTTP com serialização XML em conjunto com outros padrões da web.
![Page 8: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/8.jpg)
8
CONCEITOS E DEFINIÇÕES
O Web Service é composto por:
• Serviço
• Descrição do Serviço
![Page 9: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/9.jpg)
9
CONCEITOS E DEFINIÇÕES
O Web Service é composto por:
• Serviço• Módulo de software instalado numa plataforma
computacional com acesso à rede e oferecido pelo provedor de serviços.
• Existe para ser usado por um consumidor, podendo funcionar também como um cliente de outro serviço.
• Descrição do Serviço
![Page 10: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/10.jpg)
10
CONCEITOS E DEFINIÇÕES
O Web Service é composto por:
• Serviço
• Descrição do Serviço• Contém os detalhes da interface e da implementação de
um serviço, o que inclui os tipos de dados, operações, informação de ligação e localização de rede.
• Pode ainda incluir metadados e informação de categorização para facilitar as atividades de descoberta e utilização por consumidores do serviço.
• Pode ser publicada num registrador de serviço para tornar o respectivo serviço conhecido em um determinado contexto.
![Page 11: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/11.jpg)
11
XML
(eXtensible Markup Language)
Linguagem genérica e padronizada de marcação.
É a base principal para o desenvolvimento dos web services.
![Page 12: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/12.jpg)
12
XML
![Page 13: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/13.jpg)
13
XMLTags ou Elementos
![Page 14: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/14.jpg)
14
XML
Atributos
![Page 15: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/15.jpg)
15
XMLConteúdo
![Page 16: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/16.jpg)
16
SOAP
Simple Object Access Protocol
Protocolo padrão de troca de mensagens estruturado em XML que possibilita a comunicação entre serviços.
Define os componentes essenciais e opcionais das mensagens transmitidas entre os serviços através do protocolo HTTP.
![Page 17: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/17.jpg)
17
SOAP
Exemplo de resposta usando SOAP de um servidor de informações de clima.
![Page 18: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/18.jpg)
18
SOAP
Exemplo de resposta usando SOAP de um servidor de informações de clima.
![Page 19: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/19.jpg)
19
WSDL
(Web Services Description Language):
Modelo e formato XML para descrever web services, possibilitando a separação entre a funcionalidade oferecida de sua descrição abstrata.
A descrição do web service define a sua interface, ou seja, o conjunto de operações possíveis entre o provedor e cliente do serviço, bem como as mensagens que serão trocadas entre eles.
![Page 20: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/20.jpg)
20
WSDL
![Page 21: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/21.jpg)
21
UDDI• Universal Description, Discovery, and Integration
• Oferece um mecanismo para que os clientes possam encontrar um determinado web service.
• Considerado o DNS para os web services, contendo informações sobre o provedor do serviço, sua localização e descrições do serviço (WSDL).
• Os repositórios de serviços podem ser públicos ou privados, sendo que tanto o registro quanto a consulta de serviço são realizadas por meio de arquivos XML.
![Page 22: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/22.jpg)
22
UDDI<import namespace="http://www.getquote.com/StockQuoteService-interface" location="http://www.getquote.com/wsdl/SQS-interface.wsdl"/>
<service name="StockQuoteService">
<documentation>Stock Quote Service</documentation>
<port name="SingleSymbolServicePort"
binding="interface:SingleSymbolBinding">
<documentation>Single Symbol Stock Quote Service
</documentation>
<soap:address location="http://www.getquote.com/stockquoteservice"/>
</port>
![Page 23: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/23.jpg)
23
PILHA DE PROTOCOLOS
![Page 24: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/24.jpg)
24
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
![Page 25: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/25.jpg)
25
CARACTERÍSTICAS• Utiliza o protocolo HTTP.
• Utiliza XML ou outros formatos de arquivos, como JSON, para transferência de dados.
• Integra sistemas diferentes, ou disponibiliza uma série de serviços de uma aplicação, como o Twitter ou Google.
![Page 26: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/26.jpg)
26
CARACTERÍSTICAS• Popularidade:
• devido à adoção de protocolos e padrões abertos, (HTTP e XML),
• Solucionar o problema de integrar aplicativos de sistemas heterogêneos presentes em tecnologias como CORBA, DCOM e RMI.
• Objetivo: • oferecer a interoperabilidade entre os sistemas escritos
em diferentes linguagens de programação, desenvolvidos por fornecedores distintos e em sistemas operacionais diversos possam se comunicar
![Page 27: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/27.jpg)
27
CARACTERÍSTICAS• Duas entidades:
• consumidores e provedores
• Provedor • Possui características semelhantes a um servidor que
disponibiliza serviços na rede.
• Consumidores • Clientes que utilizam os serviços disponibilizados por
provedores de serviços.
• Uma entidade também pode assumir ambos os papéis ao mesmo tempo, caracterizando a composição de serviços.
![Page 28: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/28.jpg)
28
VISÃO GERAL
![Page 29: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/29.jpg)
29
AONDE SÃO USADOS?• Amazon
• Consulta a Títulos do Tesouro Nacional
• Correios
• Web Service do Sistema de Informações Organizacionais do Governo Federal (SIORG)
• Etc.
![Page 30: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/30.jpg)
30
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
![Page 31: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/31.jpg)
31
WEB SERVICES SOAP-WSDL
A API Java para a implementação de Web Services baseados em XML é:
• JAX-WS
Oferece suporte para trabalhar com:
• SOAP• XML• HTTP
Usa Anotações.
![Page 32: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/32.jpg)
32
INSTRUÇÕES NETBEANS
Criação do projeto de um Web Service.
1) Arquivo-> Novo Projeto -> Java Web -> Aplicação Web
2) Escolha o nome WSHelloWorld
3) Em seguida escolha o diretório da aplicação com o Apache Tomcat 7.0 e escolha a versão JavaEE 6 Web.
![Page 33: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/33.jpg)
33
WEB SERVICECrie o Serviço Web e dê-lhe o nome de HelloWorld.
![Page 34: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/34.jpg)
34
WEB SERVICE
Serviço Criado
![Page 35: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/35.jpg)
35
WEB SERVICE
Gerando o WSDL
Escolha a pasta web para que
os usuários possam acessar
O WSDL da aplicação.
![Page 36: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/36.jpg)
36
WEB SERVICEPara Testar o provedor de serviço web Hello World basta implantá-lo pelo Apache Tomcat e logo em seguida acessar a seguinte URL no navegador web: http://localhost:8080/WSHelloWorld/HelloWorld?wsdl
![Page 37: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/37.jpg)
37
CLIENTE DO SERVIÇO HELLO WORLD
Crie um novo projeto web com o nome de WSHWorldCliente e um novo cliente para serviço web.
![Page 38: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/38.jpg)
38
INSTRUÇÕES NETBEANSPreencha a URL do arquivo WSDL com: http://localhost:8080/WSHelloWorld/HelloWorld?wsdl
![Page 39: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/39.jpg)
39
INSTRUÇÕES NETBEANSO código página JSP do Cliente Hello World utilizando JAX-WS, consumidor do SOAP-WSDL
![Page 40: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/40.jpg)
40
INSTRUÇÕES NETBEANS
Acesse a seguinte URL no seu browser http://localhost:8080/WSHWorldCliente/
![Page 41: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/41.jpg)
41
REFERÊNCIAS
Oliveira, Ricardo Ramos. Curso das Tecnologias de Web Services. Disponível em: http://garapa.intermidia.icmc.usp.br/mediawiki/images/6/63/WebServices.pdf.
COULOURIS, George, DOLLIMORE, Jean, KINDBERG, Tim. Sistemas Distribuídos: Conceitos e Projeto. 4ª ed., Porto Alegre: Bookman, 2007.
Netbeans.org. Introdução aos Web services JAX-WS. Disponível em https://netbeans.org/kb/docs/websvc/jax-ws_pt_BR.html.
![Page 42: Sistemas Distribuídos - Aula 07 - Servicos Web](https://reader034.fdocumentos.tips/reader034/viewer/2022051314/5563a504d8b42a2b6a8b5205/html5/thumbnails/42.jpg)
42
SISTEMAS DISTRIBUÍDOS
SERVIÇOS WEB
ARTHUR EMANUEL DE OLIVEIRA CAROSIA