como funciona um webservice rest - matera systems.pdf

7
MATERA Systems > Tecnologia > Como funciona um WebService REST A web é amplamente utilizada e reconhecida principalmente por sua arquitetura robusta, escalável e tolerante a falhas. Quem sustenta esses fatores e lhe dá todo este poder é o protocolo HTTP (o protocolo HTTP é utilizado, em regra, quando se deseja evitar que a informação transmitida entre o cliente e o servidor seja visualizada por terceiros, como, por exemplo, no caso de compras online.). Atualmente, muitas vezes necessitamos integrar aplicações em ambientes totalmente diferentes e os WebServices são uma das maneiras mais comuns e fáceis de integrar os diferentes sistemas. Este post mostrará um pouco de um modelo de WebService chamado REST. Representational State Transfer ou somente REST, é cada vez mais usado como alternativa ao “já antigo” CATEGORIAS Selecionar categ ARQUIVO Selecionar o mês COMO FUNCIONA UM WEBSERVICE REST Por: Marcos Paliari Postado em: 22 de outubro de 2012 Tecnologia

Upload: aurelioduarte5614

Post on 11-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Como funciona um WebService REST - MATERA Systems.pdf

MATERA Systems > Tecnologia > Como funciona umWebService REST

A web é amplamente utilizada e reconhecidaprincipalmente por sua arquitetura robusta, escalável etolerante a falhas. Quem sustenta esses fatores e lhedá todo este poder é o protocolo HTTP (oprotocolo HTTP é utilizado, em regra, quando se desejaevitar que a informação transmitida entre o cliente e oservidor seja visualizada por terceiros, como, porexemplo, no caso de compras online.). Atualmente,muitas vezes necessitamos integrar aplicações emambientes totalmente diferentes e os WebServices sãouma das maneiras mais comuns e fáceis de integrar osdiferentes sistemas. Este post mostrará um pouco deum modelo de WebService chamado REST.

Representational State Transfer ou somente REST, écada vez mais usado como alternativa ao “já antigo”

CATEGORIAS

Selecionar categoria

ARQUIVO

Selecionar o mês

COMO FUNCIONA UMWEBSERVICE RESTPor: Marcos Paliari Postado em: 22 de outubro de2012 Tecnologia

Page 2: Como funciona um WebService REST - MATERA Systems.pdf

SOAP onde que a principal crítica a este é a burocracia,algo que REST possui em uma escala muito menor.REST é baseado no design do protocolo HTTP, que jápossui diversos mecanismos embutidos pararepresentar recursos como código de status,representação de tipos de conteúdo, cabeçalhos, etc.

O principal nesta arquitetura são as URLs do sistema eos resources (resource é um recurso, entidade). Eleaproveita os métodos HTTP para se comunicar, quesão:

GET: Solicita a representação de umdeterminado recurso. É definido como ummétodo seguro e não deve ser usado paradisparar uma ação (remover um usuário, porexemplo);POST: As informações enviadas no corpo(body) da requisição são utilizadas para criarum novo recurso. Também é responsável porfazer processamentos que não sãodiretamente relacionados a um recurso.DELETE: Remove um recurso. Deve retornar ostatus 204 caso não exista nenhum recursopara a URI especificada.PUT: Atualiza um recurso na URIespecificada. Caso o recurso não exista, elepode criar um. A principal diferença entrePOST e PUT é que o primeiro pode lidar nãosomente com recursos, mas também podefazer processamento de informações.

Porém não existe um padrão obrigatório, pode serimplementado somente o que é necessário em seucontexto.

TÓPICOSRECENTES

Os desafiospara manterum softwareERP atualizado

Conheçendo oMercado deOpções daBOVESPA

Ativação dotrace de umasessão Oraclee utilização dotkprof

O novo Boletode Pagamento

Um ScriptCriador deMáquinas

Page 3: Como funciona um WebService REST - MATERA Systems.pdf

O exemplo a seguir utiliza a especificação JSR-311JAX-RS que faz parte do Java EE 6,  para buscar osdados de um cliente:

LADO SERVIDOR[php]

public class Cliente {private String nome;private String endereco;private int idade;private char sexo;

// Getters e Setters}

[/php]

Esta é uma classe Cliente que guarda o nome,endereço, idade e sexo dos clientes.

[php]

@Path(“/cliente/{nome}”)public class ClienteResource{@GET@Produces({MediaType.APPLICATION_JSON})public Cliente getClienteByNome(@PathParam(“nome”)String nome) {ClienteDAO clienteDAO = new ClienteDAO();Cliente cliente = clienteDAO.getClienteByNome(nome);return cliente;}

SUPORTEBuscar

SOLUÇÕES SERVIÇOS EMPRESA CARREIRA

BLOG CONTATO

Page 4: Como funciona um WebService REST - MATERA Systems.pdf

}

[/php]

A anotação @Path(“/cliente/{nome}”) nos fornece umaURL para acesso ao recurso onde o próprio JAX-RSreconhece {nome} como um parâmetro que é enviadoatravés da URL.Este exemplo implementa somente o serviço GET,como pode ser notado pela anotação @GET no métodogetClienteByNome que recebe como parâmetro na URLo nome do cliente pela anotação @PathParam(“nome”).A anotação@Produces({MediaType.APPLICATION_JSON}) mostraque esta solicitação GET irá produzir uma resposta noformato JSON.

Supondo que o serviço esteja disponível no endereçohttp://www.matera.com/exemplo/cliente/ , paraconseguirmos os dados da cliente Maria devemosacessarhttp://www.matera.com/exemplo/cliente/Maria atravésdo browser e receberíamos algo parecido com isto :

[php]{"nome":"Maria","endereco":"RuaExemplo","idade":"20","sexo":"F"}[/php]

LADO CLIENTE[php]

public class ClienteRestClient{public static void main (String[] args) throws Exception {HttpClient httpClient = new HttpClient();GetMethod httpMethod = newGetMethod(“http://www.matera.com/exemplo/cliente/Maria”);httpMethod.addRequestHeader(“Accept”,“application/json”);httpClient.executeMethod(httpMethod);Scanner scan = newScanner(httpMethod.getResponseBodyAsStream());

Page 5: Como funciona um WebService REST - MATERA Systems.pdf

while(scan.hasNext()){System.out.println(scan.nextLine());}httpMethod.releaseConnection();}}[/php]

Este é um cliente bem simples, em que o retorno não énada mais do que o que o browser já nos apresentava,mas nada impede de se criar um parser JSON paradesserializar este objeto, entre outras ações quetambém ainda podem ser implementadas.

Lembrando que este foi um rápido exemplo com ointuito de mostrar a importância e a facilidade deutilizar REST, foi utilizado JAX-RS, mas existem váriosframeworks que podem ser utilizados como o Spring eo VRaptor.

Leia Mais:

HTTP://EN.WIKIPEDIA.ORG/WIKI/JAVA_API_FOR_RESTFUL_WEB_SERVICESHTTP://WWW.ORACLE.COM/TECHNETWORK/ARTICLES/JAVASE/INDEX-137171.HTMLHTTP://JCP.ORG/EN/JSR/DETAIL?ID=311HTTP://PT.WIKIPEDIA.ORG/WIKI/RESTHTTP://WWW.ICS.UCI.EDU/~FIELDING/PUBS/DISSERTATION/REST_ARCH_STYLE.HTMHTTP://EN.WIKIPEDIA.ORG/WIKI/REPRESENTATIONAL_STATE_TRANSFERHTTP://WWW.W3SCHOOLS.COM/JSON/DEFAULT.ASPHTTP://WWW.SPRINGSOURCE.ORG/HTTP://BLOG.SPRINGSOURCE.ORG/2009/03/08/REST-IN-SPRING-3-MVC/

Page 6: Como funciona um WebService REST - MATERA Systems.pdf

O seu endereço de email não será publicado Camposobrigatórios são marcados *

O Blog é mantido por profissionais da MATERA, eportanto, as opiniões não necessariamente refletem aopinião da empresa.

2 Comments

Deixe um comentário

Autor:

MARCOS PALIARIMais posts deste autor

Responder

Por: Guilherme Augusto Zimmermann Postadoem: 23 de julho de 2013

Bem simples e direto, legal para quem nunca viu.Parabéns

Responder

Por: João Postado em: 29 de setembro de 2014

Simples e direto, muito bom!Obrigado por compartilhar.

Page 7: Como funciona um WebService REST - MATERA Systems.pdf

Name

Email

Website

Enviar

© Copyright 2015, MATERA Systems | Todos os direitos reservados