Pular para o conteúdo principal

Entrevista com Rod Johnson no JavaOne2009

 The Developers Conference 2009, um evento organizado pela GlobalcodePara esquentar os ouvidos e nos preparar para como será o The Developers Conference 2009, Rod Johnson nos conta um pouco sobre algumas das novidades do Spring Framework 3.0 em entrevista realizada no último JavaOne.



A transcrição em português da entrevista foi publicada originalmente no site InfoQ com o título Rod Johnson conta o que há de novo no Spring 3.0. Para completar esta transcrição, disponibilizamos a versão em inglês aqui.
Yara Senger: I'm here with Rod Johnson to talk about Spring Framework and market and opinions, so could you talk a little about what's new on Spring this year?

Rod Johnson: Yeah! We've got quite a lot of new stuff pretty much across the board so in development time and also in a runtime in management offerings. I think that the things that are most interesting to developers are that of course we are working our way towards Spring 3.0 final, that's currently going through milestone phases so you can already go and download it. The new features in Spring 3.0 are around REST support, so we have very simple yet powerful REST support fully integrated with Spring MVC and obviously as a result of that the Spring Component Model. We've also added a new Spring Expression Language this allows expressions to be used in annotations and also in XML or other externalized configuration. Another new feature is ... we've introduced the Spring Java Configuration Module which is to be a separate project we've introduced that to the core of Spring, that provides essentially a DSL for defining in Java Spring configuration and it has interesting potential benefits around for example inheritance amongst configuration classes.

Probably, the expression language is going to be the biggest single impact on the core Spring Container, it means that now in either annotations you can actually write an expression and therefore inject the value which is the result of that expression or you can do it in XML. So, for example, your expression may evaluate something based on system properties, it may reference a propriety of another bean in the same application context, it may also have a certain degree of expression logic in there. This is particularly interesting in terms of the annotations syntax that was introduced in Spring 2.5 because it means that the set of things you can do purely in annotations without any external configuration at all is now much larger. So for example if you want a reference now, in an annotated Java class, few other reference values that come from outside Java and it will change without requiring recompilation, you can now do that using an annotation, for example, to reference something that is specified in the proprieties file or reference something that is specified in the system property. So, we've added it an @Value annotation for this purpose which is analogous to @Autowired which is autowire net qualifier which were introduced in 2.5 for injecting other objects managed by Spring.

Besides the Spring Framework, there are also quite a lot of things happening around the Spring open source projects. So, for example, Spring 3.0 is now in milestone 1, sorry, Spring Security 3.0, one of the interesting things about that is it allows security configurations to use expressions. So for example it can specify which kind of parts in the application are secured using the Spring expression language. So that's an example of how I think you'll see pretty much all the Spring open source projects benefiting from the expression language, that will also include web flow version 3.0, Spring Integration 2.0, Spring Batch, etc.

Another new open source project which should be pretty exciting to Java developers is the Spring Roo project, this is something that we've really had a lot of buzz about it at Java One, I mean we had actualy hundreds of people come to our booth to see demos of it. What it is ... it's a sophisticated round tripping code generator. Obviously when you talk to Java developers about code generation a lot of them think ... Uh! Code generation sucks! And in fact traditionally I think that a lot of code generation approaches have sucked. The reason that they've sucked is firstly that they swept a lot of complexity under the carpet, so the assumption was ... well if you're generating this code who cares how much code there is how complex it is. The other reason that they tended to suck was way to many of them came from the kind of philosophical approach behind MDA which held that it's really, really bad to write Java code. They really want you wanna do is draw pretty pictures and it's terrible to write code. We very much believe that you shouldn't sweep complexity under the carpet and also we think that writing code is just fun. I mean frankly I would far prefer to program in Java than to program in UML. And ... Spring Roo uses code generation in a way that seems to be very appealing to practical developers. So what it does in the first instance is it enables you to create projects incredibly quickly. So you have a somewhat similar scaffolding capability that is reminiscence of Ruby on Rails. So you can go Roo, create APP, you could create entities, you can get CRUD operations on those entities. Roo generates absolutely everything you need in that application to get it running in a matter of minutes. However, what I think sets Roo apart is firstly it is designed with the understanding that you actually want to write Java code. So Roo is round tripping it doesn't just do one way generation like something like AppFuse and SeamGen. What it does is maintain it's own model of your entire application. So then if you go write code yourself Roo can comprehend that and be that in mind as it may detect future things in the future. So that means that Roo doesn't just give you a kind of bootstrap or a quick start when you're starting an application it can add value like if you want to add further entities, it can add a lot of value to track. The architectures that Roo generates building on Spring 3.0 so, you know, represent best practice in present open source stack. So I really strongly encourage Brazilian developers to download Roo and I think that they'll find that they like what they see.

Hand in hand with Roo we've also announced a few weeks ago the Spring Source Tool Suite, Eclipse distribution which includes the best Spring tooling available is now free. So it's not actually open source but it is a free commercial product and there are no restrictions on that at all. So it's perfectly acceptable for any individual, company or organization to use any way they please and it's absolutely free. It's very closely integrated with Roo and also our server technologies and it really provides you a one stop shop where you can download something and have an application running on a web server in about ten minutes.

We also have been doing of course a lot in the deployment and operation space. Recently we announced the tc Server product that essentially adds to Tomcat enterprise grade managements. So for example one of the challenges with Tomcat is that it's robust, it's performant, developers love it because it's very light weight and quick. However, it essentially has no mode node management capability. So if you go and deploy Tomcat into your data center and you're managing say twenty or two hundred or five hundred nodes of Tomcat how do you roll out applications to allow service, how do you start service, stop service, monitor service, get lots if there are concerning behaviors, that ... The tc Server product builds on Tomcat to address all of those requirements.

The other line of management technology with tc Server is built on Hyperic HQ which provides the management fabric a cross at technologies as a whole and of course recently we announced that Spring Source had acquired Hyperic, the company behind HQ. So we're pretty excited at the moment we're executing at a lot of fronts and people are pretty excited about what we're producing.

TDC, uma grande oportunidade!
By Spock

Comentários

Leonardo Pacheco GCLPZC disse…
Apesar do bom trabalho do InfoQ ao transcrever a entrevista, é sempre muito bom ter o material em sua língua original, para que não se perca nenhum detalhe.
Boa inicitiva novamente.

GCLPZC
Daniele disse…
Muito interessante para quem e da area ter cada vez mais conhecimento.

Daniele - GCDF

Postagens mais visitadas deste blog

PrimeFaces com JSF2 no ScrumToys

O JSF traz um grupo de componentes visuais prontos, a partir da versão 2.0 com suporte a Ajax nativo! Melhor que isso é a possibilidade de customizar ou utilizar uma suíte de componentes prontos para "turbinar" o projeto com o minimo de esforço. PrimeFaces é uma suite de componentes JSF customizados, a maioria com suporte a ajax, conta com um Kit para desenvolvimento mobile, é open source, a documentação é razoável, facíl de instalar e usar. Nesse exemplo utilizo o PrimeFaces 2.0.0, versão com suporte a JSF 2, no ScrumToys. Conheçe o ScrumToys ? ScrumToys é um Projeto Exemplo para JavaServer Faces 2.0 dentro do NetBeans 6.8, criado e mantido pelo time da Globalcode. É interessante que você tenha o NetBeans 6.8 para fazer esse exemplo, senão tiver baixe aqui . Baixe também, aqui , o PrimeFaces e o configure no NetBeans como biblioteca para o ScrumToys. Inicialmente o PrimeFaces requer a runtime JSF, mas isso pode variar dependendo de quais componentes você utilize, mai

Entendendo como funciona a programação de computadores: linguagens de programação, lógica, banco de dados

Nesse post, diferente dos últimos que foram mais enfáticos nas experiências com tecnologias, vou focar um pouco mais nos profissionais que estão começando, ou pretendem ingressar na área de desenvolvimento de software, falando sobre conceitos fundamentais relacionados a programação em geral . Mercado de trabalho para programação Conforme já sabemos, o mercado de desenvolvimento de software, especialmente no Brasil, continua em franca expansão, sendo que cada vez mais as empresas buscam desenvolver seus próprios sistemas usando as mais diferentes e novas tecnologias. Algumas matérias interessantes: As seis profissões mais valorizadas em 2010 no IDG Now! Muitas vagas e sensação de reaquecimento da economia Por isso, a área de desenvolvimento de software tem despertado interesse em muitos profissionais de outras áreas que desejam mudar de profissão, já que as oportunidades de trabalho tendem a ser maiores. Esse é um perfil presente em muitos dos clientes da Globalcode que acabou m

Seja um Palestrante do TDC Connections 2022

A Equipe TDC está muito feliz e orgulhosa em começar mais uma jornada de eventos em 2022 e criar muitas oportunidades! Agora, chegou o momento para você que sempre quis ser palestrante mas não teve oportunidade, e também de quem já é palestrante experiente, e está ansioso para compartilhar aquela nova prática ou caso de sucesso fresquinho, submeter sua palestra para o TDC Connections e co-criar conosco o maior evento de desenvolvedores do Brasil.  Link de inscrição: https://cfp-conn.thedevconf.com.br/?_ga=2.103579840.1386204218.1643036190-1988609034.1631800014 Confira aqui o calendário do TDC 2022. Nesta edição teremos muitas novidades e você poderá palestrar de forma Online ou Presencial! Entenda como vai funcionar o TDC CONNECTIONS: Nesta edição, além de todo o conteúdo dividido em Trilhas transmitidas ao vivo (13 trilhas simultâneas) também teremos dois eventos híbridos em Recife e Belo Horizonte, que terão uma trilha por dia, ao vivo, para um público limitado, seguindo protocolo

JSON fácil em Java com GSon !

Ola pessoal ! O formato JSON ( J ava S cript O bject N otation) vem se consagrando cada vez mais na comunicação de dados, principalmente nos dispositivos móveis devido a esse formato ser mais leve que o XML e também mais legível. Uma prova disso são as inúmeras bibliotecas que existem para manipular esse formato, e no caso do Android, o suporte ao JSON é nativo. Mas apesar de ter esse suporte nativo, algumas operações devem ser feitas manualmente e o código acaba ficando um pouco verboso e repetitivo, já que para cada objeto que se deseja transmitir é necessário fazer um método que lê as propriedades do JSON e faz as devidas atribuições no seu objeto Java. Vamos supor o seguinte objeto sendo transmitido em JSON: {   user: {     id: 123456,     name: "Neto Marin",     username: "netomarin",     email: "netomarin@globalcode.com.br"   } } Se você fosse tratar um Webservice que envia esse JSON para o seu aplicativo Android, além de criar a o

Top 4 desafios do gestor de TI e como superá-los

  O setor de TI se apresenta como uma área essencial ao desenvolvimento e expansão da empresa, em especial, aquelas que têm a criação de soluções tecnológicas como core business. O mercado dinâmico da atualidade, com mudanças constantes e concorrência elevada, exige aperfeiçoamento do gestor de TI para se destacar em suas atividades. Pensando em te ajudar nesse processo, separamos 4 desafios do gestor de TI e como superá-los. Acompanhe! Transformação digital na atualidade A transformação digital é constante e define os caminhos futuros da nossa sociedade. Por isso, o setor de TI vem se tornando mais estratégico em empresas de todos os segmentos. O home office é um bom exemplo de como a revolução digital está se processando. Vamos falar sobre ele e outros pontos nos tópicos a seguir. Confira! Desafios do gestor de TI Para se manter atualizado sobre o tema e permanecer competitivo no mercado, é  necessário acompanhar as tendências de TI . Confira, abaixo, alguns dos principais desafios d

TDC Digital: o que você precisa saber para transformar sua carreira em 2022

O TDC Digital é o maior evento de TI do mercado e proporciona crescimento profissional a partir de palestras com especialistas e oportunidades de networking com o mundo todo, direto da sua casa. Através da escolha individual de cada participante é possível obter experiências imersivas e transformadoras conforme o tema-chave de cada trilha.  O evento também é o lugar ideal para ajudar no desenvolvimento de carreiras, permitindo que qualquer pessoa com vontade — e um tema interessante — seja palestrante e compartilhe suas experiências e conhecimentos. Para aqueles que querem  participar como ouvinte a plataforma do TDC favorece conferências dinâmicas, e o encontro de diversas comunidades e ecossistemas de TI. E, após a escolha de uma trilha, fica mais fácil acompanhar especialistas para aprender e se inspirar. Em 2021, o The Developer’s Conference (TDC) foi 100% digital e, em três dias de evento, contou com mais de 300 horas de conteúdos , incluindo: Agile; Testes; Design; Web e Mobile;