O que esperar do Spring Framework 5? – Entrevista com Oliver Gierke

Postado por em   ●   2 comentários

O Spring Framework evolui rapidamente, fazendo com que nós desenvolvedores precisemos ficar atentos às novidades para não ficar pra trás.

Nesse bate papo, Oliver Gierke, líder de projetos do Spring Data na Pivotal, fala sobre a nova versão 5 do Spring, que terá suporte à programação reativa, trazendo um novo paradigma para desenvolvimento de aplicações.

Caso você esteja começando com Spring e queira dar mais um passo, baixe o e-book de Spring da AlgaWorks. Basta clicar abaixo agora:

FN013-CTA-Lead-Magnet--Img02

Transcrição

Normandes: Olá, aqui é o Normandes da AlgaWorks e eu estou aqui em Las Vegas, no evento SpringOne Platform, junto com o Oliver. Se você não o conhece, ele é um dos commiters do Spring, então várias coisas que usamos no nosso dia a dia é escrito por ele. Oi Oliver, como você está?

Oliver: Olá, eu estou bem, obrigado. E você?

Normandes: Estou bem também. Você poderia falar um pouco mais sobre você?

Oliver: Claro. Meu nome é Oliver Gierke, trabalho para a Pivotal, a empresa responsável pelo Spring Framework e eu lidero os projetos de Spring Data na Pivotal. Eu estou mais focado nas APIs de acesso a dados, suporte para JPA, MongoDB e todos os outros bancos NoSQL que temos. É isso, normalmente.

Normandes: Que legal! Qual a sua expectativa com relação ao Spring para os próximos anos? Você pode falar um pouco mais sobre o que você pensa a respeito?

Oliver: Nós acabamos de divulgar aqui na conferência os planos de lançamento para o Spring Framework 5, a próxima grande geração do Spring Framework. Ele será lançado em Março de 2017 e já acabamos uma etapa desse projeto há uma semana atrás, algo assim. E eu acho que a nova funcionalidade mais importante vai ser o suporte para APIs reativas e APIs web reativas, o que significa que o framework vai ter outro web framework, basicamente, um web framework reativo, muito semelhante ao Spring MVC. Então os usuários poderão transferir seu conhecimento para o mundo reativo. O framework é completamente não blocante, e você basicamente escreve parecido com os controladores do Spring MVC, como era feito antes, só que terá outros benefícios dessas APIs reativas, como escalabilidade e outras coisas.

E o que começou nesse framework, agora está sendo estendido para todos os outros projetos do ecossistema. Porque, uma vez que você tenha recebido o request, e tenha acesso aos parâmetros e ao payload de uma forma reativa, você, claro, precisa estruturar todos os seus códigos de domínio, o seu código de serviço, o código de acesso de dados, e fazer em primeiro lugar esse trabalho com as APIs reativas. Então começamos a colocar esforços há algum tempo atrás, e também tem um protótipo funcional para o projeto do Spring Data para MongoDB, de modo que você pode, basicamente, pegar o fluxo que vem do Spring MVC para o armazenamento de dados e em então ter toda a pipeline reativa.

Isso está muito prematuro pra gente; estamos planejando lançar nossa primeira milestone no cronograma junto com o Spring Framework RC1. Então, isso é um tema em que todo mundo está trabalhando. Outra grande coisa, foi que movemos o baseline do Java 6 para Java 8 com o Spring Framework, então isso nos permite reescrever um monte de partes do código, o código do Spring Data, por exemplo, para usar lambdas e Optional, e todas as boas coisas que o Java 8 traz. Portanto, é uma espécie de exercício fazer isso.

Por isso eu estou muito ansioso para Março do ano que vem, porque isso significa que temos muito trabalho pela frente. E nós esperamos ter uma nova geração bem legal do framework nas mãos dos usuários.

Normandes: E sobre programação reativa, você acha que vai ser o futuro? Quer dizer, tudo vai se tornar reativo ou será que o Spring MVC tradicional, como hoje, ainda será utilizado?

Oliver: Essa é uma boa pergunta, e eu acho que é algo que muitas pessoas podem entender errado, porque atualmente temos muita atenção no espaço reativo, mas eu não acho que o modelo de programação baseada em Servlet vai perder lugar no futuro próximo. Isso não significa que será abandonado, porque a forma reativa de programação é realmente aquela que você usa quando precisa de grande escalabilidade. Você não consegue um código mais rápido em um primeiro momento, mas consegue um código muito mais escalável. Mas ao mesmo tempo, também complica um pouco mais algumas áreas, como debugging; como você realmente debuga um fluxo reativo, onde e como a pipeline é construída ao longo de um conjunto de passos. Assim, haverá ainda alguns casos de uso onde as pessoas vão ficar com as APIs mais tradicionais. Um outro aspecto que considero muito importante, é que todo o acesso a dados relacional realmente não funciona muito bem em um modelo de programação reativo, porque JDBC é blocante por natureza. Então, até que a gente veja uma grande revisão do JDBC, o que pode levar um tempo para acontecer, não deverá ser feito no Java 9, mas talvez no Java 10, ou algo assim, em 4 a 5 anos.

Nesse aspecto, muitas das aplicações tradicionais, ou mais tradicionais, construídas em bases de dados relacionais realmente não se encaixam bem nessa área. Eu acho que você verá um conjunto muito seletivo de aplicações que realmente precisam desses requisitos de escalabilidade e podem ser movidas para outras APIs de acesso de dados para usar esse novo estilo de programação. Mas, ao mesmo tempo, uma grande quantidade de aplicações tradicionais que ficam sobre as APIs tradicionais, e Spring Framework, basicamente certificando de que você ainda pode combinar os dois. É… isso não é uma verdadeira ruptura para o desenvolvedor, do tipo “eu só posso fazer um ou outro”.

Normandes: Ok, entendi. Muito obrigado, Oliver, pelo seu tempo aqui.

Oliver: Eu que agradeço.

Normandes: Muito obrigado mais uma vez e dê um “tchau” para o pessoal que nos acompanha no Brasil.

Oliver: Tchau.

Normandes: Você que nos assistiu, dê um like nesse vídeo, comente e compartilhe com seus amigos. Acho que eles vão gostar de conhecer e ouvir mais sobre o Oliver. Muito obrigado. Até mais!

Gostou do vídeo? Deixe o seu comentário ou sugestão.

Instrutor da AlgaWorks. Graduado em Engenharia Elétrica pela Universidade Federal de Uberlândia e detentor das certificações LPIC-1, SCJP e SCWCD. Palestrante internacional, autor e co-autor de livros e instrutor de cursos de Java, JPA, TDD, Design Patterns, Spring, etc.

2 comentários sobre “O que esperar do Spring Framework 5? – Entrevista com Oliver Gierke

  1. Gleyson Gama -

    Achei importantíssimo essa entrevista. Uma dúvida que fiquei é se poderei empregar em um único projetos códigos reativos e não reativos, por exemplo: em uma rede social que envolve alguma comercialização que envolva pagamento é interessante que o processo de compra seja síncrono, mas toda a interação social seja assíncrona.

    1. Normandes Júnior Autor do post-

      Valeu Gleyson. Eu ainda preciso “brincar” com o Spring Framework 5 pra entender melhor como ele vai funcionar, mas eu acredito que sim, será possível usar as duas formas em um único projeto, veja bem, eu acho! hehe

Deixe um comentário