19
Web Services Paulo Neto, Kawe Ramon

Web Services

Embed Size (px)

Citation preview

Page 1: Web Services

Web Services

Paulo Neto, Kawe Ramon

Page 2: Web Services

Web ServicesMotivaçã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.

Page 3: Web Services

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.

Page 4: Web Services

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.

Page 5: Web Services

Web ServicesIntegraçã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.

Page 6: Web Services

Web ServicesDescritores 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.

Page 7: Web Services

Web ServicesPáginas Amarelas de Serviços

• Universal Description, Discovery and Integration

(UDDI)

O UDDI atua como um diretório de arquivos

descritores de serviços.

Page 8: Web Services

Web ServicesImplementaçã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.

Page 9: Web Services

Web ServicesImplementaçã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).

Page 10: Web Services

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

Page 11: Web Services

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

Page 12: Web Services

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

Page 13: Web Services

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

Page 14: Web Services

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

Page 15: Web Services

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:

Page 16: Web Services

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

Page 17: Web Services

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

Page 18: Web Services

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

o JSON não permite a execução de instruções de

Page 19: Web Services

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