Spring

Spring Framework 4.3.11 disponível

Postado em Atualizado em

Liberada uma a versão 4.3.11 do spring framework. Atualizem seus pom!

“Eu aguardo ansioso a ajuda de Deus, o SENHOR, e confio na sua palavra.” Salmos 130:5

Anúncios

Spring Framework Reference Documentation

Postado em Atualizado em

Falta poucas semanas para o lançamento da versão do spring framework 5, mas já foi liberado o acesso a nova documentação de referencia totalmente refatorado e reorganizada. Ficou fantástico! Vejam  https://docs.spring.io/spring-framework/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/

“O Senhor não demora a fazer o que prometeu, como alguns pensam. Pelo contrário, ele tem paciência com vocês porque não quer que ninguém seja destruído, mas deseja que todos se arrependam dos seus pecados.”2 Pedro 3:9

Poster Spring Framework

Postado em Atualizado em

A Spring é um dos frameworks mais populares para simplificar o desenvolvimento de soluções Java. Ele ajuda os desenvolvedores a criar aplicativos confiáveis e fáceis de manter, reduzindo significativamente o tempo de mercado para projetos complexos. Seus módulos escondem a complexidade de várias tecnologias enterprise, especificações e produtos proprietários, fornecendo uma interface unificada baseada em modelo. O poster abaixo mostra os principais componentes da estrutura e ilustra visualmente como usá-los com amostras de código e diagramas UML simples.

O poster aborda a estrutura geral da estrutura e os módulos amplamente utilizados. Baixe, imprima 24 x 36 e coloca ai na sua parede! Bom final de semana a todos!

“O ladrão só vem para roubar, matar e destruir; mas eu vim para que as ovelhas tenham vida, a vida completa.” João 10:10

Métodos Privados Transacionais com Spring

Postado em

Como a maioria de vocês provavelmente já sabe, devido à própria natureza da solução, a anotação @Transactional do Spring não funciona em métodos privados, devido ao fato que, o controle transacional é gerado via proxy dinâmico que decora a chamada publica da interface. Mas muitas das vezes, eu já precisei fatorar um método privado transacional para reuso de código. E ai vem a pergunta: É possível fazer? Com Java 8 na sua caixa de ferramenta sim, no qual você pode criar um método funcional recebendo um Supplier que faz uma operação publica, totalmente dinâmica que faça o encapsulamento do controle transacional. veja um exemplo:

Como pode ser observado, a versão do Java 8 e suas features funcionais são base da nova revolução que esta acontecendo dentro da linguagem Java. E você, já sabe programar funcional no Java 8? Veja nosso curso de Java SE F5 – Desenvolvedor Funcional Java 8 e entre nessa nova onda!

“As pessoas que pertencem a Cristo Jesus crucificaram a natureza humana delas, junto com todas as paixões e desejos dessa natureza.” Gálatas 5:24

Certificações Spring Framework

Postado em

Recebi hoje uma ótima notícia: a certificação spring framework professional da pivotal não precisa mais de curso obrigatório e você ainda pode fazer em casa:

“We recently announced this exciting change to our Spring Certification Program. Spring Certification Exams are now available for individual purchase, without the enrolling in the course. Yes, you read that right!. Experienced Java developers – with extensive Spring knowledge already – can purchase a Spring Certification Exam directly from Pivotal. That said, the best way to prepare for a Spring Certification Exam is to attend the corresponding Spring course. However, this change to our Certification Program makes proving your Spring expertise even more accessible.”

A partir da versão 4.3, os exames já podem ser feitos no modelo novo:

“With Innovative Exams the certification may be taken in your office or in your own home provided you can demonstrate an open, working area with no books, pencils, paper, mobile phone or any other electronic devices, other than your computer. You must have a webcam with a sufficiently wide field-of-view because you will be monitored throughout the exam.”

Se o valor absurdo em dólar e a burocracia de adquirir o curso obrigatório te impedia de fazer essa prova, assim como aconteceu comigo, agora é hora de tocar o barco e se tornar um profissional oficialmente credenciado e certificado Spring Professional! Quem vem comigo? Um ótimo final de semana 🙂 .

“Faça o que é direito e justo, pois isso agrada mais a Deus do que lhe oferecer sacrifícios.” Provérbios 21:3

Solução de mensageira não é um bicho de 7 cabeças # 1

Postado em Atualizado em

activemq-5-x-box-reflectionVocê já ouviu falar de MOM?

Message oriented middleware (MOM) é servidor de aplicação (infra-estrutura de software + hardware) idealizado exclusivamente para suportar o envio e recebimento de mensagens entre sistemas distribuídos. É um serviço utilizado para intermediar a troca de mensagens entre sistemas, com o objetivo de fazer integração de serviços.

Para que serve um MOM?

Serve para dar solução robusta e confiável na integração entre duas ou mais diferentes soluções. Integrar sistemas hoje é um desafio imenso, diferentes plataformas, diferentes tecnologias, diferentes protocolos, diferentes mecanismos de persistências, assim, se faz necessario garantir serviços dentro da solução de integração como por exemplo: desacoplamento, entrega de mensagem, persistência de mensagem, politicas de retry, processamento assíncrono, escalabilidade, confiabilidade, transação, interrupções, segurança, clusterização e muito etc. Um MOM já faz tudo isso e muito mais.

MOM é para ser utilizado em soluções de grande porte?

Essa é justamente meu ponto: você lendo tal definição, tem a falsa impressão que só usaria um MOM para fazer coisas gigantescas e exorbitantes!!! Mas depois de conhecer Apache ActiveMQ e Spring JMS, você vera que é muito fácil e pode usar para fazer coisas pequenas também. Como diria um amigo meu, “só na manteguinha….. 🙂 “.

Você já ouviu falar de ActiveMQ?

ActiveMQ é uma implementação de um middleware completo (MOM), open source e grátis. Ele possui todas as grandes features necessários para dar solução em coisas de “grande porte”, mas o que o pessoal desconhece é que ele tem um arquitetura tão flexível e é tão bem feito que oferece diversas opções de uso e configurações flexíveis. Umas delas é usar o serviço de MOM de forma “embarcada”, dentro da sua própria instancia da JVM e da solução, não precisando criar um servidor remoto exclusivo para isso. Juntamente com isso, você desabilita as chamadas remotas e questões de persistência, e assim, acaba ficando com um mini-serviço de MOM simples, local com suporte a filas(Queue) e tópicos (Topics) que é justamente a “cereja de bolo” desse tipo de serviço.

Você já ouviu falar de Spring JMS?

Spring JMS é kit de desenvolvimento arquitetural que faz parte do framework spring criado exclusivamente para se trabalhar com integração de sistemas usando MOM. Esse produto abstrai toda a infra-estrutura de código utilizada para programar esse tipo de solução, criando uma facade de serviços rápida, produtiva e fácil de usar, retirando a necessidade de fazer código sujo e infraestrutural (boilepart) necessário para se configurar, enviar e consumir mensagens de um MOM.

Vamos fazer um exemplo prático?

Segue abaixo um exemplo real dessa simples e robusta solução:

Ferramentas:

  • Maven
  • Eclipse Java EE IDE for Web Developers – Versão Neon.1
  • Groovy-Eclipse plugin

Projeto:

Segue os passos resumido do projeto:

Crie um projeto java maven: New project -> Maven Project. Adicione groovy no projeto: botão direto no projeto -> configure -> Convert to groovy project. Configure o pom para baixar as dependências básicas: groovy, spring, cdi e activemq:

1

Configurar o spring.xml, subindo o activemq local, sem persistência, sem jmx, sem chamada remota. Configurar uma fila simples e um listener de fila. Configuramos também um jmsTemplate que é a facade de serviços spring que esconde a código sujo de MOM e JMS.

2

Criar um bean que envia a mensagem da fila:

2

Criar um bean que consome as mensagens da fila:

3

Fazer uma classe simples com main para testar o envio e o consumo da mensagem:

3

Execute a solução e teremos a saída:

3

E assim, com  menos de 5 minutos, e poucas linhas de código você consegue embarcar e reusar um MOM completo fazendo filas, tópicos, sem persistência, sem chamada remota, sem gastar muita memoria, rápido, fácil e sem perder tempo fazendo na unha qualquer coisa do tipo. Sem contar que você pode evoluir mais esse produto, habilitando serviço por serviço, tudo de acordo com sua necessidade.

Aonde eu uso isso?

Precisou integrar sua solução java com e-mail?, web services soap? web services rest?, banco de dados legados? ou quer gerar um relatório pesado assíncrono? Esta ai seu ponto de partido. ActiveMQ + Spring JMS = Solução simples e rápida com todos os sabores de processamento assíncrono usando filas e tópicos 100% MOM.

Como eu aprendo mais sobre esse assunto?

Tudo isso e muito mais pode ser encontrado no livro ActiveMQ in Action. Excelente livro sobre conceitos de mensageria, JMS e integrações em geral.

Github

Se te interessar, baixe esse projeto no meu git. Até a próxima 😉 !

“Mas tu, ó SENHOR, me proteges como um escudo. Tu me dás a vitória e renovas a minha coragem.” Salmos 3:3

Novo Spring 4.3.7 Lançado

Postado em

Foi lançado uma nova versão do spring framework 4.3.7 com varias correções de bugs e melhorias. Veja o jira oficial nesse link.

“Confiem sempre no SENHOR, pois ele é o nosso eterno abrigo.” Isaías 26:4