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"}

Web Services

  • 1.
  • 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 eReuso • 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 deServiç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 Amarelasde 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 - Elementosde 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étodosNativos 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 ObjectNotation) • 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"}