Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo Java Magazine 48 - REST com Struts 2
Artigo publicado pela Java Magazine 48.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?

REST com Struts 2
Crie serviços com a arquitetura que está mudando a face da web
Exponha informações de maneira simples e perca o medo dos serviços na web, utilizando a arquitetura Representational State Transfer e o framework Struts 2
Na era da Web
Nesse contexto, as aplicações devem estar preparadas para disponibilizar as informações de diferentes maneiras e formatos. Por exemplo, para uma requisição Ajax, a aplicação deve ser capaz de retornar a resposta no formato texto, XML ou JSON (JavaScript Object Notation). Já para uma requisição feita por uma aplicação desktop, talvez XML seja a opção mais conveniente. (A Edição 46 traz mais informações sobre a utilização de JSON com Ajax.)
Então nos deparamos com a necessidade de expor serviços de maneira fácil, sem muita codificação, e de prover informações em formatos adequados para integrações (HTML, XML, JSON etc.). Para tal, vamos utilizar a arquitetura REST e a infra
A arquitetura REST
REST é um acrônimo de Representational State Transfer (Transferência de Estado Representacional). É um termo utilizado para descrever um estilo arquitetural de sistemas acessíveis pela rede. Você pode ver mais detalhes no quadro “O que é REST”.
De forma simplificada, vamos considerar que uma aplicação segue o estilo REST se ela expõe suas funcionalidades – ou serviços – através de URLs bem definidas (representando recursos). Nesse tipo de aplicação, o resultado do acesso aos recursos se dá em um formato de fácil leitura, como por exemplo XML, sobre o protocolo HTTP simples. No resultado estão contidos os endereços de navegação para outros recursos pertinentes, na forma de hiperlinks. Aplicações REST podem ser utilizadas como alternativas mais simples aos web services tradicionais baseados em SOAP.
A aplicação de exemplo
Para desenvolver o exemplo, usamos o IDE Eclipse com o Web Tools Project (mas você pode usar seu IDE preferido, sendo necessárias poucas adaptações). Para testar a aplicação usamos o Apache Tomcat. Todos os arquivos do exemplo estão disponíveis no site da Java Magazine.
Construiremos uma aplicação (chamada “WSStruts2”) com apenas duas entidades: Aluno e Disciplina. Funcionalidades que operam sobre essas entidades serão expostas como serviços e acessadas através de URLs simples. O retorno desses serviços poderá ser em XML ou em JSON.
Como vimos, a abordagem de definir recursos através de URLs faz parte da arquitetura REST, segundo a qual todo serviço exposto deve ser endereçado por uma URL única. No exemplo, os dois serviços que vamos expor serão a listagem dos alunos e o detalhamento de um aluno específico. Suas URLs são respectivamente:
§ http://localhost:8080/WSStruts2/alunos
§ http://localhost:8080/WSStruts2/alunos/xxx
Na segunda URL, xxx representa o código de um aluno em particular (ex.: 102). Observe que não há parâmetros para definir qual o serviço que desejamos. Isto é feito para que fique claro o propósito da URL. Esse é outro detalhe da arquitetura REST: minimizar o uso de parâmetros na definição dos recursos (pois eles inibem o “aprofundamento” das URLs). Exemplificando, considere as seguintes URLs:
http://localhost:8080/WSStruts2/AlunosAction.action?id=102
http://localhost:8080/WSStruts2/alunos/102"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
é Engenheiro de Software, com experiência de mais de oito anos em tecnologias para desenvolvimento web. Tem as certificações: SCJP, SCWCD, SCEA(I).



