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


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.

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

Daniele - GCDF

Postagens mais visitadas deste blog

Saiba como programar para Arduino sem ter nenhum hardware disponível

O Arduino já é uma tecnologia muito difundida entre os amantes de tecnologia. É difícil encontrar um profissional da computação que não brincou um pouco com esta ferramenta de prototipagem ou, que gostaria de fazer isso. Porém, em alguns casos, o programador quer conhecer o arduino mas não dispõe de nenhum hardware, nem mesmo da placa. Como isso poderia ser resolvido? A primeira resposta seria aquela mais simples e direta: ir as compras. Isso pode ser feito em uma loja física ou pela internet. No meu caso, por exemplo, tive a felicidade de encontrar em um site (não me lembro qual) um kit arduino, com um conjunto de sensores e um DVD com 41 vídeo aulas. Mas digamos que o profissional não esteja passando por um bom momento financeiro, ou ainda, simplesmente não queira comprar o Arduino sem antes conhecê-lo um pouco melhor. Para a última situação também já existe uma resposta, e diga-se de passagem, uma excelente resposta. Trata-se do site 123D Circuits.io . Depois de criar seu u

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

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