BT

Dado Inicio aos trabalhos na JAX-RS 2.0

por Mark Little , traduzido por Rafael Marques em 18 Nov 2010 |

Ao longo dos anos, a adoção do REST como uma arquitetura de integração fora da Web cresceu, tornando inevitável que o Java e o Java EE ganhassem uma especificação, a JSR 311, ou como a maioria conhece, JAX-RS. Ela foi finalizada em 2008se tornou parte do EE6. Depois de todo este tempo, houve diversas implementações, incluindo a implementação de referência obrigatória. Muitos desenvolvedores Java acharam o JAX-RS um benefício, embora tenha havido muitas discussões inevitáveis sobre o JAX-RS ser ou não RESTful.

No entando, assim como na maioria das boas especificações, as experiências de implementação agora estão dando feedback ao JAX-RS, com o Roberto Chinnici da Oracle (ex Sun)anunciando recentemente ...

Abaixo você encontrará um esboço da JSR JAX-RS 2.0. Desde o fechamento da JAX-RS 1.1, nós estivemos em contato com muito de vocês da comunidade, em conferências e através de varios fórums de discussão, então você não encontrará nenhum item surpreendente neste esboço. Por favor, nos mande os seus comentários e sugestões nas próximas semanas. Em paralelo, nós estaremos trabalhando nas seções restantes marcadas como TBD, incluindo o cronograma e os termos de negócio. Nós gostaríamos de enviar a JSR no começo de dezembro, para que o comitê executivo da JCP aprove até os feriados de fim de ano.

Dentre as propostas, podemos destacar:

  • O pedido mais comum para o JAX-RS 2.0 é a inclusão de uma API cliente: muitas, se não todas as implementações JAX-RS oferecem alguma forma de API cliente. Esta JSR irá definir duas API cliente, ambas compatíveis com REST.
  • O Model-View-Controller (MVC) é um padrão comum em frameworks Web, onde é utilizado predominantemente por aplicações baseadas em HTML. Adotando a terminologia MVC, as classes de recursos do JAX-RS serão compatíveis com os controllers. Esta JSR irá especificar uma arquitetura MVC compatível com o modelo de programação JAX-RS. O Java Server Pages será especificado como um dos tipos de view. Será possível inserir outras tecnologias para a view, como por exemplo o FreeMarker ou o StringTemplate.
  • O JAX-RS 1.1 foi definido antes da JSR-330 ser especificada, e como resultado não utiliza as anotações da JSR 330, como @Inject. Esta JSR irá especificar uma maior integração com as anotações da 330, o que poderá substituir algumas anotações JAX-RS, como a @Context, que será marcada como deprecated ou redundante.
  • O JAX-RS 1.1 define um modelo de requisição/resposta síncrono no lado do servidor. Esta JSR irá especificar um modelo simples de requisição assíncrono tornando possível a resposta ser enviada assíncrona à requisição. O Servlet 3.0 pode ser utilizado para habilitar tal suporte, porém as implementações deverão escolher outra API específicas do container.

Stefan Tilkov anunciou suporte à nova proposta,e o  Jerome Louvel, desenvolvedor líder do framework Restlet , também oferecerá suporte, porém surgem algumas preocupações sobre o TCK:

A minha principal preocupação é sobre o acesso TCK para projetos open source, como o Restlet (http://www.restlet.org). Apesar de diversos pedidos (incluindo o programa escolar da JCP), nós nunca tivemos acesso ao TCK. Vocês poderiam tornar mais claro quais serão os termos de licença / negócio para as implementações do JAX-RS 2.0 sob as licenças open source?

Bill de hÓra, um dos membros iniciais do expert group, também está posicionado a favor e oferece um grande feedback, incluindo:

Um problema que eu vejo é que sistemas no mundo real nem sempre retornam erros do mesmo formato que o cliente solicitou. Um simples exemplo - tomcat/jetty devolvendo páginas html de erro.  Nós podemos argumentar que este é um problema com o servidor. Eu gostaria de ver algo que devolve o mapeador de exceção do lado do servidor do JAX-RS. Outra possibilidade é alocar manipuladores nos códigos de resposta.

Roberto solicita comentários e sugestões rápidas pois como ele disse "Nós gostaríamos de submeter a JSR no começo de dezembro, assim nós podemos ser aprovados pelo comitê executivo da JCP antes dos feriados de fim de ano". Você acha que há outras questões a serem consideradas no JAX-RS 2.0?

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.