SlideShare uma empresa Scribd logo
1 de 19
Web Services




Paulo Neto, Kawe Ramon
Web Services
Motivação.

•   Integração entre serviços distintos.


•   Padronização no retorno de cada requisição de
    serviços.(WSDL)


•   Independência de tecnologia de desenvolvimento e
    plataformas.
Web Services

Motivação

•   Os Web Services estão acima de plataformas,
    bancos de dados, e linguagens de programação,
    livrando completamente os desenvolvedores das
    limitações previamente encontradas na interface
    entre aplicativos.
Web Services
O Que é um Web Service?

   Segundo       a       W3C(World     Wide      Web
    Consortium),podemos defini-lo como: um sistema de
    software      projetado    para      suportar   a
    interoperabilidade entre máquinas sobre rede.

   Um serviço web é um serviço que está publicado na
    web
    e disponível para qualquer pessoa/sistema possa
    interagir com ele.
Web Services
Integração e Reuso

•   Web Services permitem o compartilhamento de
    Dados entre sistemas distintos (implementações
    diferentes).


•   Antes dos Web Services já existia interação entre
    aplicações, a vantagem de se utilizar WS é o Reuso.
Web Services
Descritores de Serviço

• WSDL - Web Services Description Language.
     Linguagem baseada em XML recomendada pelo
W3C
  que tem por objetivo descrever web services através
  dos métodos de requisição HTTP, passagem de
  valores e formas de retorno.
Web Services
Páginas Amarelas de Serviços

•   Universal Description, Discovery and Integration
    (UDDI)
    O UDDI atua como um diretório de arquivos
    descritores de serviços.
Web Services
    Implementação
•   A implementação de web services promoveu não só
    mudanças na interação entre sistemas, mas na
    própria arquitetura de tais sistemas; SOA (Arquitetura
    orientada a Serviço) é a prova concreta disso.


•   SOAP: Protocolo especificado para a troca de
    mensagens baseadas em XML em redes TCP/IP.
    SOAP é um acrônimo de Simple Object Access
    Protocol e é fundamentalmente usado por web
    services, para a transmissão de mensagens e
    requisição remota de processos.
Web Services
    Implementação

•   É importante saber que as idéias fundamentais que
    construíram os web services provêm de tecnologias e
    produtos anteriores, entre eles estão CORBA, DCOM
    e RPC/RMI. Além dessas iniciativas prévias, existem
    iniciativas atuais que também possibilitam o uso de
    serviços pela Internet com eficiência. A principal
    dessas       iniciativas  é     denominada    REST
    (Representational State Transfer).
Arquitetura REST
•   REST é uma abreviação de Representation State
    Transfer, ou traduzindo, Transferência de Estado
    Representacional
•   Principais características arquiteturais incorporadas:
•   Separação de responsabilidade entre as camadas
    cliente servidor
•   Comunicações independentes (stateless)
•   Uso de cache (para eliminar algumas interações
    desnecessárias entre cliente e servidor)
•   Utilização de uma interface uniforme entre os
    componentes
Arquitetura REST
•   Essas características quando aplicadas à um web
    service melhora o desempenho do sistema em geral
•   Se comparar com o protocolo SOAP, diminui o tempo
    de resposta das aplicações e seu uso gera uma
    maior flexibilidade e simplicidade
•   REST é composto por um conjunto de elementos
    arquiteturais, as três classes de elementos:
    Elementos de Dados, Conectores e Componentes
REST - Elementos de Dados
•   São os elementos que contém a informação a ser
    usada e transformada
•   Recursos: Conceito-chave da arquitetura REST, é
    qualquer informação que possa receber um nome
•   Identificadores: Identifica um recurso específico
    envolvido em uma interação entre clientes e
    servidores. REST usa o URI (Unified Resourse
    Identifier) como identificador de recursos
•   Representações: São usadas para capturar o estado
    atual e o estado desejado de um recurso solicitado.
    Na prática são sequências de bytes acrescidas de
    meta-dados
REST - Componentes
•   São elementos que usam ou transformam a
    informação, são caracterizados de acordo com o
    papel que exercem
•   Servidor de Origem (trata de requisições de um
    cliente)
•   Proxy e Gateway, utilizados para permitir o
    encaminhamento das requisições e respostas.
•   Agente do usuário, inicia a requisição e, logo em
    seguida, se torna o destino final de uma resposta
REST - Conectores
•   São elementos que interligam outros elementos. Rest
    usa conectores para encapsular a atividade de
    acesso aos recursos e para transferir as suas
    representações
•   Cliente e Servidor, são responsáveis pelo acesso aos
    recursos
•   Cache, armazena as respostas passíveis de cache
•   Resolver é responsável pela conversão de um URI
    em um endereço de rede
•   Túnel cria um caminho virtual para o tráfego dos
    recursos
REST - Métodos Nativos HTTP
•   Para padronizar o formato das representações de um
    recurso, REST utiliza uma interface uniforme de
    componentes que é aplicada através da utilização
    dos métodos nativos do protocolo HTTP
•   Principais métodos HTTP utilizados em aplicações
    RESTFul:
JSON (JavaScript Object Notation)
•   Modelo para armazenamento e transmissão de
    informações no formato texto
•   Tem a capacidade de estruturar informações de uma
    forma bem mais compacta do que XML, tornando
    mais rápido o parsing dessas informações
•   É um formato texto e completamente independente
    de linguagem, pois usa convenções que são
    familiares às linguagens C e familiares.
•   Dividido em duas estruturas:
•   Uma coleção de pares nome/valor
•   Lista ordenada de valores: array
JSON
•   Um Objeto com estrutura complexa possui
    arrays, hierarquias e Informações opcionais
•   Fornece a capacidade de atribuir métodos de
    execução (funções) que estarão diretamente ligadas
    ao objeto criado.
•   Sua forma de aplicação assemelha-se a um objeto
    abstraído do mundo real o qual trabalhamos em POO
JSON x XML
•   Vantagens
    o Leitura mais simples
    o Analisador (parsing) mais fácil
    o Suporta objetos
    o Velocidade maior na execução e transporte de
       dados
    o Arquivo com tamanho reduzido
•   Desvantagens
    o As informações representadas em JSON não
       podem ser validadas por um esquema, Já em
       XML, é possível validar através por DTD e XML
       Schema
JSON x XML - Sintaxe
Sintaxe XML:
  <?xml version="1.0" encoding="UTF-8"?>
     <id>1id>
     <nome>Alexandre Gamanome>
     <endereco>R. Qualquerendereco>


Sintaxe JSON:
{"id":1,"nome":"Alexandre Gama", "endereco":"R.
Qualquer"}

Mais conteúdo relacionado

Mais procurados

SOA e Web Services
SOA e Web ServicesSOA e Web Services
SOA e Web Servicessergiocrespo
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicaçãoHelen Picoli
 
Introdução à Arquitetura Web
Introdução à Arquitetura WebIntrodução à Arquitetura Web
Introdução à Arquitetura WebBreno Vitorino
 
Arquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e RESTArquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e RESTlucasbarsand
 
Mini Curso Web Services com PHP
Mini Curso Web Services com PHPMini Curso Web Services com PHP
Mini Curso Web Services com PHPelliando dias
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiTchelinux
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONMarcio Junior Vieira
 
Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo Fmdmansur
 

Mais procurados (20)

SOA e Web Services
SOA e Web ServicesSOA e Web Services
SOA e Web Services
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Web Service - XML
Web Service - XMLWeb Service - XML
Web Service - XML
 
Soap x rest
Soap x restSoap x rest
Soap x rest
 
WebServices-XML
WebServices-XMLWebServices-XML
WebServices-XML
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Webservice
WebserviceWebservice
Webservice
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
 
Introdução à Arquitetura Web
Introdução à Arquitetura WebIntrodução à Arquitetura Web
Introdução à Arquitetura Web
 
Arquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e RESTArquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e REST
 
Mini Curso Web Services com PHP
Mini Curso Web Services com PHPMini Curso Web Services com PHP
Mini Curso Web Services com PHP
 
Esb Soa AplicaçõEs
Esb   Soa AplicaçõEsEsb   Soa AplicaçõEs
Esb Soa AplicaçõEs
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
 
Servidor web
Servidor webServidor web
Servidor web
 
Web Services Rest
Web Services RestWeb Services Rest
Web Services Rest
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Servidores de Aplicações
Servidores de AplicaçõesServidores de Aplicações
Servidores de Aplicações
 
Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo F
 
Web service
Web serviceWeb service
Web service
 

Semelhante a Web Services: introdução, conceitos e arquitetura RESTful

Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
 
Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EEDesenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EELuan Felipe Knebel
 
Sistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebSistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebArthur Emanuel
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemasJether Rodrigues
 
Soa – Woa Rest Arquiteturas
Soa – Woa   Rest ArquiteturasSoa – Woa   Rest Arquiteturas
Soa – Woa Rest Arquiteturasrafaslide
 
Sistemas Distribuídos - Big Web Services
Sistemas Distribuídos - Big Web ServicesSistemas Distribuídos - Big Web Services
Sistemas Distribuídos - Big Web ServicesKeyo Galvao
 
Apresentação web services
Apresentação web servicesApresentação web services
Apresentação web servicesVitor Fonseca
 
Maratona JBoss 2010 - JBossWS
Maratona JBoss 2010 -  JBossWSMaratona JBoss 2010 -  JBossWS
Maratona JBoss 2010 - JBossWSDextra
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5Helder da Rocha
 
201406Carvalho
201406Carvalho201406Carvalho
201406CarvalhoAfonso Pra
 
[Ass] arquiteturas soa, woa, e rest
[Ass] arquiteturas soa, woa, e rest[Ass] arquiteturas soa, woa, e rest
[Ass] arquiteturas soa, woa, e restassufmg
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application ServerFabricio Carvalho
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesAdriano Teixeira de Souza
 

Semelhante a Web Services: introdução, conceitos e arquitetura RESTful (20)

A Estrutura de um Web Service
A Estrutura de um Web ServiceA Estrutura de um Web Service
A Estrutura de um Web Service
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
UM ESTUDO SOBRE SOA
UM ESTUDO SOBRE SOAUM ESTUDO SOBRE SOA
UM ESTUDO SOBRE SOA
 
Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EEDesenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
 
Sistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebSistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos Web
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemas
 
WebServices
WebServicesWebServices
WebServices
 
Soa Woa Rest
Soa Woa RestSoa Woa Rest
Soa Woa Rest
 
Soa – Woa Rest Arquiteturas
Soa – Woa   Rest ArquiteturasSoa – Woa   Rest Arquiteturas
Soa – Woa Rest Arquiteturas
 
Sistemas Distribuídos - Big Web Services
Sistemas Distribuídos - Big Web ServicesSistemas Distribuídos - Big Web Services
Sistemas Distribuídos - Big Web Services
 
Palestra Sobre REST
Palestra Sobre RESTPalestra Sobre REST
Palestra Sobre REST
 
Apresentação web services
Apresentação web servicesApresentação web services
Apresentação web services
 
Soa conceitos
Soa conceitosSoa conceitos
Soa conceitos
 
Maratona JBoss 2010 - JBossWS
Maratona JBoss 2010 -  JBossWSMaratona JBoss 2010 -  JBossWS
Maratona JBoss 2010 - JBossWS
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5
 
201406Carvalho
201406Carvalho201406Carvalho
201406Carvalho
 
[Ass] arquiteturas soa, woa, e rest
[Ass] arquiteturas soa, woa, e rest[Ass] arquiteturas soa, woa, e rest
[Ass] arquiteturas soa, woa, e rest
 
Web services
Web servicesWeb services
Web services
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application Server
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web Services
 

Web Services: introdução, conceitos e arquitetura RESTful

  • 2. Web Services Motivação. • Integração entre serviços distintos. • Padronização no retorno de cada requisição de serviços.(WSDL) • Independência de tecnologia de desenvolvimento e plataformas.
  • 3. Web Services Motivação • Os Web Services estão acima de plataformas, bancos de dados, e linguagens de programação, livrando completamente os desenvolvedores das limitações previamente encontradas na interface entre aplicativos.
  • 4. Web Services O Que é um Web Service?  Segundo a W3C(World Wide Web Consortium),podemos defini-lo como: um sistema de software projetado para suportar a interoperabilidade entre máquinas sobre rede.  Um serviço web é um serviço que está publicado na web e disponível para qualquer pessoa/sistema possa interagir com ele.
  • 5. Web Services Integração e Reuso • Web Services permitem o compartilhamento de Dados entre sistemas distintos (implementações diferentes). • Antes dos Web Services já existia interação entre aplicações, a vantagem de se utilizar WS é o Reuso.
  • 6. Web Services Descritores de Serviço • WSDL - Web Services Description Language. Linguagem baseada em XML recomendada pelo W3C que tem por objetivo descrever web services através dos métodos de requisição HTTP, passagem de valores e formas de retorno.
  • 7. Web Services Páginas Amarelas de Serviços • Universal Description, Discovery and Integration (UDDI) O UDDI atua como um diretório de arquivos descritores de serviços.
  • 8. Web Services Implementação • A implementação de web services promoveu não só mudanças na interação entre sistemas, mas na própria arquitetura de tais sistemas; SOA (Arquitetura orientada a Serviço) é a prova concreta disso. • SOAP: Protocolo especificado para a troca de mensagens baseadas em XML em redes TCP/IP. SOAP é um acrônimo de Simple Object Access Protocol e é fundamentalmente usado por web services, para a transmissão de mensagens e requisição remota de processos.
  • 9. Web Services Implementação • É importante saber que as idéias fundamentais que construíram os web services provêm de tecnologias e produtos anteriores, entre eles estão CORBA, DCOM e RPC/RMI. Além dessas iniciativas prévias, existem iniciativas atuais que também possibilitam o uso de serviços pela Internet com eficiência. A principal dessas iniciativas é denominada REST (Representational State Transfer).
  • 10. Arquitetura REST • REST é uma abreviação de Representation State Transfer, ou traduzindo, Transferência de Estado Representacional • Principais características arquiteturais incorporadas: • Separação de responsabilidade entre as camadas cliente servidor • Comunicações independentes (stateless) • Uso de cache (para eliminar algumas interações desnecessárias entre cliente e servidor) • Utilização de uma interface uniforme entre os componentes
  • 11. Arquitetura REST • Essas características quando aplicadas à um web service melhora o desempenho do sistema em geral • Se comparar com o protocolo SOAP, diminui o tempo de resposta das aplicações e seu uso gera uma maior flexibilidade e simplicidade • REST é composto por um conjunto de elementos arquiteturais, as três classes de elementos: Elementos de Dados, Conectores e Componentes
  • 12. REST - Elementos de Dados • São os elementos que contém a informação a ser usada e transformada • Recursos: Conceito-chave da arquitetura REST, é qualquer informação que possa receber um nome • Identificadores: Identifica um recurso específico envolvido em uma interação entre clientes e servidores. REST usa o URI (Unified Resourse Identifier) como identificador de recursos • Representações: São usadas para capturar o estado atual e o estado desejado de um recurso solicitado. Na prática são sequências de bytes acrescidas de meta-dados
  • 13. REST - Componentes • São elementos que usam ou transformam a informação, são caracterizados de acordo com o papel que exercem • Servidor de Origem (trata de requisições de um cliente) • Proxy e Gateway, utilizados para permitir o encaminhamento das requisições e respostas. • Agente do usuário, inicia a requisição e, logo em seguida, se torna o destino final de uma resposta
  • 14. REST - Conectores • São elementos que interligam outros elementos. Rest usa conectores para encapsular a atividade de acesso aos recursos e para transferir as suas representações • Cliente e Servidor, são responsáveis pelo acesso aos recursos • Cache, armazena as respostas passíveis de cache • Resolver é responsável pela conversão de um URI em um endereço de rede • Túnel cria um caminho virtual para o tráfego dos recursos
  • 15. REST - Métodos Nativos HTTP • Para padronizar o formato das representações de um recurso, REST utiliza uma interface uniforme de componentes que é aplicada através da utilização dos métodos nativos do protocolo HTTP • Principais métodos HTTP utilizados em aplicações RESTFul:
  • 16. JSON (JavaScript Object Notation) • Modelo para armazenamento e transmissão de informações no formato texto • Tem a capacidade de estruturar informações de uma forma bem mais compacta do que XML, tornando mais rápido o parsing dessas informações • É um formato texto e completamente independente de linguagem, pois usa convenções que são familiares às linguagens C e familiares. • Dividido em duas estruturas: • Uma coleção de pares nome/valor • Lista ordenada de valores: array
  • 17. JSON • Um Objeto com estrutura complexa possui arrays, hierarquias e Informações opcionais • Fornece a capacidade de atribuir métodos de execução (funções) que estarão diretamente ligadas ao objeto criado. • Sua forma de aplicação assemelha-se a um objeto abstraído do mundo real o qual trabalhamos em POO
  • 18. JSON x XML • Vantagens o Leitura mais simples o Analisador (parsing) mais fácil o Suporta objetos o Velocidade maior na execução e transporte de dados o Arquivo com tamanho reduzido • Desvantagens o As informações representadas em JSON não podem ser validadas por um esquema, Já em XML, é possível validar através por DTD e XML Schema
  • 19. JSON x XML - Sintaxe Sintaxe XML: <?xml version="1.0" encoding="UTF-8"?> <id>1id> <nome>Alexandre Gamanome> <endereco>R. Qualquerendereco> Sintaxe JSON: {"id":1,"nome":"Alexandre Gama", "endereco":"R. Qualquer"}