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