Recursos especiais neste artigo:
Conteúdo sobre Novidades
Este artigo explora as principais novidades da nova versão da API do Java Message Service (JMS 2.0). Serão apresentados exemplos de código construídos com as versões em desenvolvimento do GlassFish 4 e da IDE NetBeans, que já oferecem suporte à maioria das funcionalidades da Java EE 7.
Em
que situação o tema é útil:
Este tema é útil para arquitetos e desenvolvedores que implementam
soluções de mensageria baseadas em JMS e que têm interesse em conhecer e se
adaptar às características e funcionalidades que estão sendo trazidas pela nova
versão da especificação JMS.
Após alguns atrasos, o lançamento oficial da Java EE 7 está muito próximo de acontecer. No momento em que este artigo é escrito, as especificações que definem o conjunto de APIs sob a especificação “guarda-chuva” da Java EE 7 (JSR 342) acabam de passar pelo estágio “Final Approval Ballot”, no qual o Comitê Executivo do JCP (Java Community Process) votou pela aprovação das propostas das especificações. Segundo um comunicado no blog da Oracle, o lançamento da implementação de referência da Java EE 7, o GlassFish 4.0, deverá acontecer nas próximas semanas.
A Java EE 7 é a primeira versão da plataforma sob a gestão da Oracle. O lançamento contempla um total de 14 JSRs, que inclui a atualização de algumas especificações e a introdução de outras, como WebSocket, Batch, JSON API e Concurrency Utilities. Neste cenário, um dos lançamentos mais aguardados e comentados é a nova versão da especificação JMS (Java Message Service).
A existência da tecnologia JMS na plataforma Java precede o lançamento da Java EE. Desde sua concepção houve apenas uma atualização de versão, a JMS 1.1 na Java EE 1.4 em 2002. Nesse meio tempo houve muitas evoluções no stack de tecnologias da Java EE e na própria linguagem Java. Devido ao fato de a especificação não ter acompanhado o mesmo ritmo das demais tecnologias, muitos fornecedores passaram a adicionar melhorias e novas funcionalidades em seus respectivos produtos para suprir novas demandas, mas que fogem do padrão definido pela especificação.
Visando atualizar a tecnologia frente às evoluções da plataforma Java/Java EE e atender as demandas do mercado, em março de 2011 a JSR 343 foi proposta e aprovada no JCP, formando-se então um Expert Group, liderado por Nigel Deakin da Oracle, para dar início aos trabalhos de definição da nova versão da especificação.
O JMS é uma tecnologia de muito sucesso no meio corporativo e amplamente utilizada desde sua concepção. Entretanto, as versões anteriores da API são bastante verbosas por exigirem a criação de diversos objetos intermediários para fazer um simples envio de mensagem, além de possuírem métodos que lançam exceções verificadas (checked exceptions) e forçam o tratamento das chamadas dentro de blocos try/catch. Um dos principais objetivos desta nova versão é justamente simplificar e facilitar o desenvolvimento de aplicações que utilizam a tecnologia. Além disso, a nova versão aproveita bastante as últimas features da linguagem Java, como anotações, generics e autocloseable, assim como da Java EE, como injeção de dependências com CDI.
Enquanto as versões finais da especificação e da implementação de referência da Java EE 7 não são lançadas, é possível já começar a experimentar as mudanças que vêm por aí. O GlassFish 4 ainda está em fase de desenvolvimento, mas já está disponível para download em versões em estágio promoted e nightly builds, contendo muitas das novas funcionalidades, não apenas do JMS 2.0, mas também da maioria das demais especificações. Cabe ressaltar que, como se trata de uma versão que está em pleno desenvolvimento, ela ainda é considerada instável e sujeita a bugs. Outra boa notícia é que a IDE NetBeans também já oferece suporte parcial às novas funcionalidades da Java EE 7 em suas versões early builds da branch javaee7. É possível, entre outras coisas, criar aplicações Java EE 7, utilizar wizards para geração de componentes ou trechos de código aderentes às novas APIs da Java EE 7 e integrar o servidor GlassFish 4 para realizar a implantação de aplicações diretamente pela IDE.
O GlassFish 4 e a IDE NetBeans foram utilizados para construir e testar os exemplos apresentados neste artigo. Se o leitor preferir acompanhar e realizar seus próprios testes, baixe os arquivos de instalação utilizando os links de download disponíveis no final deste artigo. Para instalação de ambos, apenas descompacte os respectivos arquivos “.zip” em algum diretório da máquina. Em seguida, abra o NetBeans e configure o servidor GlassFish na aba Services utilizando o wizard da IDE.
JMS: O que é e para que serve?
Antes de entrarmos nos detalhes das mudanças na API JMS 2.0, cabe aqui uma contextualização para os leitores que ainda não conhecem ou nunca trabalharam com soluções de mensageria ou com a própria tecnologia JMS.
Os middlewares de mensageria são soluções consolidadas há bastante tempo no mercado corporativo que fornecem um meio alternativo à comunicação síncrona entre aplicações distribuídas e multiplataforma. Essa camada intermediária de software desacopla os clientes dos provedores de serviços ao fornecer um modelo de comunicação assíncrono por meio da troca de mensagens (veja a Figura 1). Em vez de invocar uma operação síncrona na API do serviço desejado, a aplicação cliente constrói uma mensagem contendo os dados necessários para a chamada (payload) e a envia para o middleware. Este, por sua vez, cuida do armazenamento temporário da mensagem em destinos específicos, que podem ser filas ou tópicos, e da entrega final da mensagem ao provedor do serviço. Se a operação requisitada gerar uma resposta, uma fila adicional pode ser utilizada para que o provedor do serviço encaminhe o resultado do processamento e a aplicação cliente possa consumi-lo.
...
Confira outros conteúdos:
Introdução ao JDBC
Novidades do Java
Teste unitário com JUnit
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.