Sistemas Distribuídos - Aula 07 - Servicos Web

42
SISTEMAS DISTRIBUÍDOS SERVIÇOS WEB ARTHUR EMANUEL DE OLIVEIRA CAROSIA 1

description

Visão geral de serviços web

Transcript of Sistemas Distribuídos - Aula 07 - Servicos Web

Page 1: Sistemas Distribuídos - Aula 07 - Servicos Web

1

SISTEMAS DISTRIBUÍDOS

SERVIÇOS WEBARTHUR EMANUEL DE OLIVEIRA CAROSIA

Page 2: Sistemas Distribuídos - Aula 07 - Servicos Web

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

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

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

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

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

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

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

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

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

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

12

XML

Page 13: Sistemas Distribuídos - Aula 07 - Servicos Web

13

XMLTags ou Elementos

Page 14: Sistemas Distribuídos - Aula 07 - Servicos Web

14

XML

Atributos

Page 15: Sistemas Distribuídos - Aula 07 - Servicos Web

15

XMLConteúdo

Page 16: Sistemas Distribuídos - Aula 07 - Servicos Web

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

17

SOAP

Exemplo de resposta usando SOAP de um servidor de informações de clima.

Page 18: Sistemas Distribuídos - Aula 07 - Servicos Web

18

SOAP

Exemplo de resposta usando SOAP de um servidor de informações de clima.

Page 19: Sistemas Distribuídos - Aula 07 - Servicos Web

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

20

WSDL

Page 21: Sistemas Distribuídos - Aula 07 - Servicos Web

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

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

23

PILHA DE PROTOCOLOS

Page 24: Sistemas Distribuídos - Aula 07 - Servicos Web

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

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

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

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

28

VISÃO GERAL

Page 29: Sistemas Distribuídos - Aula 07 - Servicos Web

29

AONDE SÃO USADOS?• Amazon

• Google

• 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

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

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

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

33

WEB SERVICECrie o Serviço Web e dê-lhe o nome de HelloWorld.

Page 34: Sistemas Distribuídos - Aula 07 - Servicos Web

34

WEB SERVICE

Serviço Criado

Page 35: Sistemas Distribuídos - Aula 07 - Servicos Web

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

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

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

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

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

40

INSTRUÇÕES NETBEANS

Acesse a seguinte URL no seu browser http://localhost:8080/WSHWorldCliente/

Page 41: Sistemas Distribuídos - Aula 07 - Servicos Web

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

42

SISTEMAS DISTRIBUÍDOS

SERVIÇOS WEB

ARTHUR EMANUEL DE OLIVEIRA CAROSIA