como funciona um webservice rest - matera systems.pdf

Post on 11-Jan-2016

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

}

[/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());

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/

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.

Name

Email

Website

Enviar

© Copyright 2015, MATERA Systems | Todos os direitos reservados 

top related