REST Web Services by 2Y3w2q

VIEWS: 0 PAGES: 11

									REST Web Services

       Marcus Cavalcanti (marcus@ideais.com.br)
Agenda

1.   O que é REST e para que serve?

2.   REST substitui a dobradinha SOAP+WSDL ?

3.   Vantagens e Desvantagens no uso de REST

4.   Exemplo usando o RESTeasy (JBOSS)

5.   Quem usa REST?

6.   Frameworks Java que possuem suporte a REST
O que é REST e para que serve?

   REST (Representation State Transfer) foi feito para permitir a comunicação
    entre duas aplicações quaisquer, independente de sua
    plataforma/linguagem de desenvolvimento;

   Surgiu a partir de uma tese de doutorado de Roy Fielding, um dos
    principais autores da especificação do protocolo HTTP;

   Sistemas que seguem os princípios do REST são chamados de RESTful,
    ou seja, REST e RESTful são a mesma coisa;

   Usa o protocolo HTTP (protocolo WEB) para troca de mensagens;

   Por usar o protocolo HTTP, usa além dos métodos POST e GET, o PUT e
    o DELETE, que em uma analogia com CRUD seria: UPDATE, READ,
    CREATE, DELETE;
O que é REST e para que serve?


   REST não é um padrão, é um modelo de arquitetura;

   Utiliza URI para identificar os seus “serviços”;

   A Web é o maior modelo de um sistema REST;

   Não tem estado (STATELESS).
REST substitui a dobradinha SOAP+WSDL?

   Não substitui! Pelo menos por enquanto....;

   REST é Web Services assim como existem Web Services
    baseados no padrão SOAP, mas REST por exemplo não possui um
    contrato formal, como SOAP possui, no caso o WSDL;

   REST não tem estado (stateless), WS-SOAP podem possuir estado
    (stateful);

   REST não possui suporte a requisição assíncrona, SOAP possui;

   SOAP é mais consolidado, portanto possui ferramentas de suporte
    e mais atenção dos grandes players do mercado.
Vantagens e Desvantagens no uso de REST

Vantagens
   REST usa o padrão Web (HTTP) para troca de dados, SOAP involve uma
    série de padrões (WSDL, WS-Security, WS-Addressing, WS-Coordination,
    WS-ReliableMessaging);

   REST é mais leve, tem melhor performance para troca de dados, pois os
    request/response são muito menores;

   REST é mais humano, pois usa de recursos já conhecidos, o que o torna
    mais fácil de usar;

   Com REST é possível fazer CACHE das requisições/respostas;

   É possível ter N camadas intermediárias, como: proxys, gateways, cache
    servers para poder melhorar a performance ou aumentar a segurança.
Vantagens e Desvantagens no uso de REST

Vantagens


   É mais seguro do que SOAP, já que existe a possibilidade de usar
    REST sobre HTTPS, usar os próprios recursos de segurança do
    padrão HTTP, além do uso de firewall e outros recursos;

   Por ser mais leve, é viável utilizar REST em aplicativos móveis
    como celulares, PDA’s, etc;

   É mais fácil e flexível de dar manutenção, por ser mais simples.
Vantagens e Desvantagens no uso de REST

Desvantagens

   Não possui um contrato para definir a interface dos seus serviços;

   Não possui ferramentas de apoio ao desenvolvimento;

   Não permite requisições assíncronas.
Exemplo usando o RESTeasy (JBOSS)




 Para acessar o serviço: http://localhost:8080/jboss-rest/service
Quem usa REST?

   Yahoo;
   Amazon;
   Google;
   Ebay;
   Bloglines;
   Ruby on Rails;
   Zope (Framework Python);
   Zend Framework (Framework PHP).
Implementações Java que possuem suporte a
REST


   RESTlet (http://www.restlet.org );
   JAX-WS (http://jax-ws.dev.java.net/);
   RESTeasy (http://wiki.jboss.org/wiki/RESTeasy);
   Apache CXF (http://cxf.apache.org/);
   JAX -RS (JSR 311).
.

								
To top