Sobre a JSR 370 para Web Services RESTful – JAX-RS 2.1

Está é uma tradução e interpretação da especificação da JSR 370 – JAX-RS 2.0 – A API Java para Web Services RESTful.

JSRs: Solicitações de Especificação Java
JSR 370: JAX-RS 2.1: A API Java para Web Services

Estágio

Início

Fim

Último lançamento 22 de Agosto de 2017
Boletim de aprovação final 18 de Julho de 2017 31 de Julho de 2017
Projeto Final Proposta 21 de Junho de 2017
Boletim de Revisão Pública 23 de Maio de 2017 05 de Junho de 2017
Revisão pública 20 de Abril de 2017 20 de Maio de 2017
Revisão preliminar 13 de Março de 2017 12 de Abril de 2017
Boletim de Renovação da JSR 2 29 de Novembro de 2016 12 de Dezembro de 2016
Boletim de Renovação da JSR 10 de Novembro de 2015 23 de Novembro de 2015
Boletim de Revisão JSR 09 de Setembro de 2014 22 de Setembro de 2014
Revisão da JSR 26 de Agosto de 2014 08 de Setembro de 2014

Seu status atual é final.
A versão atual em uso é a 2.10.
A versão atual do Contrato de Participação da Especificação Java é o 2.0.

Os líderes da especificação são: Santiago Pericasgeertsen e Pavel Bucek, ambos da Oracle.

O Grupo de Especialistas é composto por:
Adam Bien, Sebastian Daschner, Markus Karg, Marcos Luna, Julian Reschke;

Sastry Malladi do eBay;
Andy McCright da IBM;
Santiago Pericasgeertsen e Pavel Bucek da Oracle;
Florent Benoit do OW2;
Alessio Soldano da RedHat;
Sergey Beryozkin da Talend;

Casey Lee da Vision Service Plan;
Colaboradores: nenhum

Atualização da JSR Original

As seguintes alterações foram feitas à proposta inicial:

2017.02.01:

2.12 Por favor, descreva a programação prevista para o desenvolvimento desta especificação.

Q1 2017 - Início de Projeto
Q2 2017 - Revisão Pública | Proposta de Projeto Final
Q3 2017 – Versão Final

2016.12.01:
Pavel Bucek substituiu Marek Potociar como um Líder de Especificação (Spec Lead).

Líderes de Especificação (Spec Leads): Santiago Pericas-Geertsen, Marek Potociar, Oracle

E-Mails: santiago.pericasgeertsen@oracle.com, pavel.bucek@oracle.com

Telefones: +1 561 214 4736, +420 221 438 041
Fax: +1 561 214 4736, -

2015.07.14:

A programação foi atualizado:
Q4 2015 – Projeto Inicial
Q1 2016 – Revisão Pública
Q3 2016 – Proposta de Projeto Final
H1 2017 – Versão Final

Original Java Specification Request (JSR)

Seção 1. Identificação

Membro de Submissão: Oracle

Nome da Pessoa de Contato: Santiago Pericas-Geertsen

Endereço de E-Mail: santiago.pericasgeertsen@oracle.com

Número de Telefone: +1 561 214 4736

Número de Fax: +1 561 214 4736

Líderes de Especificação: Santiago Pericas-Geertsen, Marek Potociar, Oracle

Endereço de E-Mail: santiago.pericasgeertsen@oracle.com, marek.potociar@oracle.com

Números de Telephone: +1 561 214 4736, +420 221 438 874

Números de Fax: +1 561 214 4736, +420 221 438 874

Participação Inicial no Grupo de Especialistas:
TBD

Apoiam esta JSR:
Red Hat
Sergey Beryozkin
Markus Karg
Stefan Tilkov

Seção 2: Requisição

2.1 Descreva a especificação proposta:
Eventos enviados pelo servidor (SSE) é uma nova tecnologia definida como parte do conjunto de recomendações HTML5 para um cliente (por exemplo, um navegador) para obter automaticamente atualizações de um servidor via HTTP. É comumente empregado para transmissões de dados de transmissão unidirecional nas quais um servidor atualiza um cliente periodicamente ou toda vez que um evento ocorre.

O JAX-RS 2.0 introduziu a noção de processamento assíncrono para as APIs do cliente e do servidor. No entanto, o processamento assíncrono por si só não pode cumprir todas as promessas de uma arquitetura moderna sem a ajuda de I/O sem bloqueio. Se apenas o bloqueio de I/O estiver disponível, o processamento assíncrono simplesmente empurra o problema de um segmento para o próximo – é como pedir emprestado a uma pessoa para pagar outra, o problema não é realmente resolvido, apenas adiado. Portanto, o suporte a I/O sem bloqueio é necessário para obter alto rendimento e gerenciar recursos com eficiência, como threads.

Em resumo, a seguir, é apresentada uma lista das tarefas no escopo do JAX-RS 2.1:
? Adicionando suporte para SSE.
? Melhorando a integração com o CDI.
? Explorando o suporte para I/O sem bloqueio em provedores (filtros, interceptores, etc.).
? Avaliando maneiras pelas quais a segurança declarativa pode ser suportada diretamente neste JSR ou aproveitando outros JSRs da plataforma EE.
? Tornando o JAXB condicional nos tempos de execução, quando disponível.
? Fornecendo integração com JSON-B.
? Com base na API hipermídia adicionada na versão 2.0.
? Investigando o paradigma de programação reativa como uma maneira de melhorar a API do cliente assíncrono JAX-RS.
? Avaliando quaisquer requisitos necessários para suportar o uso de classes de recursos JAX-RS como controladores no MVC 1.0 JSR.

2.2 Qual é a plataforma Java de destino? (ou seja, computador, servidor, pessoal, incorporado, cartão etc.)
Esta especificação é direcionada para plataformas Java SE 8 ou superior e Java EE 8 ou superior.

2.3 Os Comitês Executivos gostariam de garantir que os remetentes do JSR pensem sobre como a tecnologia proposta se relaciona com todas as edições da plataforma Java. Forneça detalhes aqui para quais edições da plataforma estão sendo direcionadas por este JSR e como este JSR considerou o relacionamento com as outras edições da plataforma.
Este JSR estará disponível independente. Também está direcionado para inclusão na plataforma Java EE 8. Além disso, os produtos Java EE 7 terão permissão para implementar o JAX-RS 2.1.

2.4 Que necessidade da comunidade Java será atendida pela especificação proposta?
Veja 2.1 acima.

2.5 Por que essa necessidade não é atendida pelas especificações existentes?
Veja 2.1 acima.

2.6 Faça uma breve descrição da (s) tecnologia (s) subjacente (s):
Veja 2.1 acima.

2.7 Existe um nome de pacote proposto para a especificação da API? (ou seja, javapi. algo, org. algo etc.)
O JAX-RS 2.1 usará o mesmo nome de pacote raiz que o JAX-RS 2.0, ou seja, javax.ws.rs.

2.8 A especificação proposta possui alguma dependência de sistemas operacionais, CPUs ou dispositivos de I/O específicos que você conhece?
Não.

2.9 Existem problemas de segurança que não podem ser resolvidos pelo modelo de segurança atual?
Não. Este JSR aproveitará os mecanismos de segurança HTTP existentes, mas também explorará maneiras de habilitar o modelo de segurança declarativo (ou seja, baseado em anotações) para proteger APIs de aplicativos RESTful desenvolvidas usando APIs JAX-RS e modelo de programação para atender melhor aos requisitos do desenvolvedor.

2.10 Há algum problema de internacionalização ou localização?
Esse JSR usará o suporte I18N no Java SE.

2.11 Existem especificações existentes que podem ser tornadas obsoletas, obsoletas ou que precisam de revisão como resultado deste trabalho?
Não.

2.12 Descreva o cronograma previsto para o desenvolvimento desta especificação.
Grupo de especialistas do terceiro trimestre de 2014 formado
Primeiro rascunho do primeiro trimestre de 2015
Revisão pública do terceiro trimestre de 2015
Projeto final proposto para o primeiro trimestre de 2016
Versão final do terceiro trimestre de 2016
NOTA: essas informações foram atualizadas a partir desta proposta original.

2.13 Descreva o modelo de trabalho previsto para o Grupo de Especialistas que trabalha no desenvolvimento desta especificação.
O principal meio de comunicação será o e-mail. Solicitaremos feedback da comunidade e alavancaremos o modelo de desenvolvimento de código aberto.

2.14 Forneça respostas detalhadas à lista de verificação de transparência, incluindo URLs conforme apropriado:
O JAX-RS 2.1 seguirá o mesmo modelo de trabalho que o JAX-RS 2.0 (JSR-339).
Em particular, um site do projeto https://jax-rs-spec.java.net/ será usado para rastrear todos os problemas e disseminar informações sobre o progresso do JSR.

? O cronograma para o JSR está publicamente disponível, atual e atualizado regularmente?
Sim, o cronograma estará disponível na página do projeto para o JSR em https://jax-rs-spec.java.net/.

? O público pode ler e/ou gravar em um wiki para o JSR?
Não, usaremos uma lista de discussão pública para comentários (users@jax-rs-spec.java.net).

? Existe um quadro de discussão acessível ao público para o JSR que você lê e responde regularmente?
As listas de discussão disponíveis em https://java.net/projects/jax-rs-spec/lists.

? Você falou em conferências e eventos sobre o JSR recentemente?
As palestras sobre JAX-RS 2.0 (JSR 339) foram entregues no JavaOne 2013. Planejamos anunciar publicamente o JSR JAX-RS 2.1 no JavaOne 2014.

? Você está usando processos de código aberto para o desenvolvimento do RI e/ou do TCK?
A Implementação de Referência será desenvolvida como parte do Projeto Jersey de código aberto (http://jersey.java.net). O RI final estará disponível na página de download. O TCK não é de código aberto.

? Quais são os Termos de Uso necessários para usar as ferramentas de colaboração que você preparou para usar com o Grupo de Especialistas, para que possíveis membros do EG possam julgar se são compatíveis com o JSPA?
Os termos de uso do Java.net disponíveis em https://java.net/terms_of_use.

? Qual é o local da sua lista de problemas acessíveis ao público? Para permitir que os membros da CE julguem se os problemas foram tratados adequadamente, a lista deve fazer uma distinção clara entre os problemas que ainda estão abertos, os problemas que foram adiados e os que estão fechados, além de indicar o motivo de qualquer alteração no Estado.
Todos os problemas relacionados à especificação serão rastreados no rastreador de problemas do projeto de especificação JAX-RS acessível ao público
(https://java.net/jira/browse/JAX_RS_SPEC).
O link do rastreador de problemas também pode ser acessado na página do projeto JSR.

? Qual é o mecanismo para o público fornecer feedback sobre o seu JSR?
O alias de e-mail do usuário users@jax-rs-spec.java.net.

2.15 Descreva como o RI e o TCK serão entregues, ou seja, como parte de uma edição de perfil ou plataforma, ou independente, ou ambos. Inclua informações de versão para o perfil ou plataforma em sua resposta.

A implementação de referência será disponibilizada de forma independente e também como parte da implementação de referência para a plataforma Java EE 8.
O TCK será disponibilizado de forma independente e como parte do Java EE CTS.

2.16. Indique a justificativa se as versões anteriores estão disponíveis autônomas e agora você está propondo na 2.13 entregar apenas o RI e o TCK como parte de uma edição de perfil ou plataforma (consulte as seções 1.1.5 e 1.1.6 do documento do JCP 2) .
N / D.

2.17 Forneça uma descrição dos termos comerciais da Especificação, RI e TCK que serão aplicados quando este JSR for final.
Licença de especificação
Licença do RI
1-Uso comercial
O RI estará disponível para uso comercial sob a licença de
código aberto CDDL 1.1, a licença de código aberto GPLv2 com Classpath
Exception ou esta licença do RI.

2-Uso não-comercial
O RI estará disponível para uso não comercial sob a licença de código-fonte
aberto CDDL 1.1 ou a licença de código-fonte aberto GPLv2 with Classpath
Exception.

Licença TCK

1-Uso comercial
O TCK estará disponível para uso comercial sob esta licença do TCK.

2-Uso não-comercial
Conforme exigido pelo Java Specification Participation Agreement (JSPA),
o TCK será licenciado gratuitamente, sem o apoio de organizações sem fins
lucrativos qualificados. O Programa de Bolsas de Teste de Compatibilidade
verificará essa qualificação. O suporte também pode ser fornecido
gratuitamente, com a aprovação do conselho de bolsistas. Para obter mais
informações, consulte: http://www.oracle.com/technetwork/java/index-137188.html

2.18 Descreva o canal de comunicação que você estabeleceu para o público para observar as deliberações do Grupo de Especialistas, fornecer feedback e visualizar arquivos de todas as comunicações do Grupo de Especialistas.

O Grupo de Especialistas conduzirá os negócios com um pseudônimo de leitura pública. O público terá um apelido para fornecer feedback e discutir questões relacionadas ao JSR. Também haverá um JIRA publicamente acessível e um arquivo de documentos. (Veja também 2.19 e 2.20 abaixo.)

2.19 Qual é o URL do Rastreador de problemas que o público pode ler e como o log público é emitido no Rastreador de problemas ?
https://java.net/jira/browse/JAX_RS_SPEC

2.20 Forneça o local do arquivo de documentos acessíveis ao público que você criou para o Grupo de Especialistas.
https://java.net/projects/jax-rs-spec/downloads

Seção 3: Contribuições

3.1 Liste quaisquer documentos, especificações ou implementações existentes que descrevam a tecnologia. Inclua links para os documentos, se estiverem publicamente disponíveis.
Especificação JAX-RS 2.0 (https://jcp.org/en/jsr/detail?id=339).

3.2 Explicação de como esses itens podem ser usados ​​como ponto de partida para o trabalho.
A especificação JAX-RS 2.0 será o ponto de partida para este trabalho.

Seção 4: Informações Adicionais (opcional)

4.1 Esta seção contém qualquer informação adicional que o Membro que deseja enviar inclua no JSR.

Segue o link do texto original: https://jcp.org/en/jsr/detail?id=370
Segue o link do arquivo em formato pdf da última versão ofical da biblioteca JAX-RS: Java API for RESTful Web Services Download

Esta entrada foi publicada em Java EE, Plataforma Java. Adicione o link permanenteaos seus favoritos.

Os comentários estão encerrados.