SISTEMAS
DISTRIBUÍDOS
SERVIÇOS WEB
ARTHUR EMANUEL DE OLIVEIRA
CAROSIA
1
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
2
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
3
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.
4
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
5
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).
6
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.
7
CONCEITOS E
DEFINIÇÕES
O Web Service é composto por:
• Serviço
• Descrição do Serviço
8
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
9
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.
10
XML
(eXtensible Markup Language)
Linguagem genérica e padronizada de marcação.
É a base principal para o desenvolvimento dos web
services.
11
XML
12
XML
13
Tags ou Elementos
XML
14
Atributos
XML
15
Conteúdo
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.
16
SOAP
Exemplo de resposta usando SOAP de um servidor de
informações de clima.
17
SOAP
Exemplo de resposta usando SOAP de um servidor de
informações de clima.
18
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.
19
WSDL
20
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.
21
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>
22
PILHA DE
PROTOCOLOS
23
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
24
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.
25
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
26
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.
27
VISÃO GERAL
28
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.
29
ROTEIRO
Histórico
Conceitos e Definições
Características dos Web Services
WebServices SOAP-WSDL
30
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.
31
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.
32
WEB SERVICE
33
Crie o Serviço Web e dê-lhe o nome de HelloWorld.
WEB SERVICE
Serviço Criado
34
WEB SERVICE
Gerando o WSDL
Escolha a pasta web para que
os usuários possam acessar
O WSDL da aplicação.
35
WEB SERVICE
Para 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
36
CLIENTE DO SERVIÇO
HELLO WORLD
Crie um novo projeto
web com o nome de
WSHWorldCliente e
um novo cliente para
serviço web.
37
INSTRUÇÕES
NETBEANS
Preencha a URL do arquivo WSDL com:
http://localhost:8080/WSHelloWorld/HelloWorld?wsdl
38
INSTRUÇÕES
NETBEANS
O código página JSP do Cliente Hello World utilizando JAX-WS,
consumidor do SOAP-WSDL
39
INSTRUÇÕES
NETBEANS
Acesse a seguinte URL no seu browser
http://localhost:8080/WSHWorldCliente/
40
REFERÊNCIAS
Oliveira, Ricardo Ramos. Curso das Tecnologias de Web
Services. Disponível em:
http://garapa.intermidia.icmc.usp.br/mediawiki/images/6/63/W
ebServices.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.
41
SISTEMAS
DISTRIBUÍDOS
SERVIÇOS WEB
ARTHUR EMANUEL DE OLIVEIRA
CAROSIA
42

Sistemas Distribuídos - Aula 07 - Servicos Web

  • 1.
  • 2.
    ROTEIRO Histórico Conceitos e Definições Característicasdos Web Services WebServices SOAP-WSDL 2
  • 3.
    ROTEIRO Histórico Conceitos e Definições Característicasdos Web Services WebServices SOAP-WSDL 3
  • 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. 4
  • 5.
    ROTEIRO Histórico Conceitos e Definições Característicasdos Web Services WebServices SOAP-WSDL 5
  • 6.
    DEFINIÇÃO Web services Sistema desoftware 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). 6
  • 7.
    DEFINIÇÃO Interação com Webservices 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. 7
  • 8.
    CONCEITOS E DEFINIÇÕES O WebService é composto por: • Serviço • Descrição do Serviço 8
  • 9.
    CONCEITOS E DEFINIÇÕES O WebService é 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 9
  • 10.
    CONCEITOS E DEFINIÇÕES O WebService é 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. 10
  • 11.
    XML (eXtensible Markup Language) Linguagemgenérica e padronizada de marcação. É a base principal para o desenvolvimento dos web services. 11
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    SOAP Simple Object AccessProtocol 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. 16
  • 17.
    SOAP Exemplo de respostausando SOAP de um servidor de informações de clima. 17
  • 18.
    SOAP Exemplo de respostausando SOAP de um servidor de informações de clima. 18
  • 19.
    WSDL (Web Services DescriptionLanguage): 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. 19
  • 20.
  • 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. 21
  • 22.
    UDDI <import namespace="http://www.getquote.com/StockQuoteService- interface" location="http://www.getquote.com/wsdl/SQS-interface.wsdl"/> <servicename="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> 22
  • 23.
  • 24.
    ROTEIRO Histórico Conceitos e Definições Característicasdos Web Services WebServices SOAP-WSDL 24
  • 25.
    CARACTERÍSTICAS • Utiliza oprotocolo 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. 25
  • 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 26
  • 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. 27
  • 28.
  • 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. 29
  • 30.
    ROTEIRO Histórico Conceitos e Definições Característicasdos Web Services WebServices SOAP-WSDL 30
  • 31.
    WEB SERVICES SOAP-WSDL A APIJava para a implementação de Web Services baseados em XML é: • JAX-WS Oferece suporte para trabalhar com: • SOAP • XML • HTTP Usa Anotações. 31
  • 32.
    INSTRUÇÕES NETBEANS Criação do projetode 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. 32
  • 33.
    WEB SERVICE 33 Crie oServiço Web e dê-lhe o nome de HelloWorld.
  • 34.
  • 35.
    WEB SERVICE Gerando oWSDL Escolha a pasta web para que os usuários possam acessar O WSDL da aplicação. 35
  • 36.
    WEB SERVICE Para Testaro 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 36
  • 37.
    CLIENTE DO SERVIÇO HELLOWORLD Crie um novo projeto web com o nome de WSHWorldCliente e um novo cliente para serviço web. 37
  • 38.
    INSTRUÇÕES NETBEANS Preencha a URLdo arquivo WSDL com: http://localhost:8080/WSHelloWorld/HelloWorld?wsdl 38
  • 39.
    INSTRUÇÕES NETBEANS O código páginaJSP do Cliente Hello World utilizando JAX-WS, consumidor do SOAP-WSDL 39
  • 40.
    INSTRUÇÕES NETBEANS Acesse a seguinteURL no seu browser http://localhost:8080/WSHWorldCliente/ 40
  • 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/W ebServices.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. 41
  • 42.