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

2º Bate Papo do SP-GTUG - Divulgação

Pessoal, Para aqueles que já estiveram presentes nas atividades do SP-GTUG (encontros ou bate papos na Globalcode), e para os que ainda não puderam estar presentes, teremos um novo bate papo acerca de mais duas tecnologias do Google: AdSense e Python no GAE. Este será o nosso segundo bate papo do SP-GTUG, nos mesmos moldes dos minicursos da Globalcode . Local e data O bate papo acontecerá no dia 27/03/10, das 10:00 às 13:00 na Globalcode. Para fazer sua inscrição e participar acesse a home da Globalcode e vá até a parte de "Minicursos Gratuitos da Semana ". Conteúdo das apresentações Abaixo seguem as descrições passadas pelos palestrantes: Título: "Algoritmos em Python" Resumo: Python é uma linguagem considerada frugal, simples, sem ser simplória! Entenda como construir algoritmos ninjas com essa linguagem, adotada pela Google e pelo MIT. Veremos muito, muito código, desde algoritmos clássicos até tutoriais do

10 reasons why we love JSF

1. One-slide technology: it's so simple that I can explain basic JSF with one slide. 2. Easy to extend: components, listeners, render kit, Events, Controller, etc. 3. Real-world adoption: JBoss, Exadel, Oracle, IBM, ... 4. Architecture model: you can choose between more than 100 different architecture. 5. Open-mind community: using JSF you are going to meet very interesting people. 6. We are using JSF the last 5 years and we found very good market for JSF in Brazil 7. Progress: look to JSf 1.1 to JSF 1.2, JSF 1.2 to JSF 2.0. People are working really hard! 8. Many professionals now available 9. It's a standard. It's JCP. Before complain, report and help! 10. Ed Burns, spec leader, is an old Globalcode community friend! EXTRA: My wife is specialist in JSF. She's my F1 for JSF :) Nice job JSF community! -Vinicius Senger

JSF 2 - Composite Components, você não precisa mais ser um ninja

Estamos em uma nova era da computação, os dados não estão mais localizados em um banco dentro de sua empresa, vivemos a explosão de redes sociais, informações são geradas a todo instante, e se torna essencial que sua aplicação conheça os serviços disponíveis na web e consumam suas APIs geralmente disponíveis por serviços REST. Legal, mas como ficam meus aplicativos Java EE neste novo cenário? Para quem vem acompanhando a evolução da plataforma, é notório que todo esforço vem sendo utilizado para aumentar a produtividade e a integração com novos serviços. Basicamente duas especificações surgem com muita força para atender este cenário, a JSR - 314 (JSF-2) e JSR - 311 (JAX-RS), neste post exploraremos a JSR-314 (JSF2) e sua nova forma de criar Composite Components. Uma das grandes queixas dos desenvolvedores JSF era a complexidade em criar composite components, era necessário um vasto conhecimento sobre o ciclo de vida de uma aplicação JSF. Agora, você não precisa ser mais um “ninja” em

Gosta de informática e sonha ser programador Java um dia ?

A Globalcode está procurando jovens que queiram ser programadores no futuro, para fazer parte de sua equipe de vendas e operacional na unidade Paraíso em São Paulo somente. O grande diferencial é o planejamento para carreira de programador. O planejamento de cursos do portifólio da Globalcode: Academia do Programador, Academia Java, Academia Web, Robótica, Eletrônica, etc, será realizado periodicamente de acordo com o desempenho e interesse individual. Atenção : Este não é um estágio para trabalhar com Java, são duas vagas CLT administrativas para pessoas que queiram ser programadores no futuro. Perfil : Conhecimentos de informática básica, saber lidar com pessoas e trabalhar em equipe. Deve ter concluído o ensino médio, ter boa escrita, ser organizado, responsável, comprometido e dinâmico. Interesse por computação, programação, internet, robótica, eletrônica,... Temos duas vagas para jovem-aprendiz abertas: 1) Setor operacional No dia a dia Serviços externos Controle de estoqu

JavaMail: Enviando mensagem HTML com anexos

Introdução Depois do post "JavaMail: Enviando e-mail com Java" , que apresentava como enviar um e-mail com Java, resolvi complementar a assunto apresentando como enviar uma mensagem formatada, em HTML , e também como realizar o envio de anexos. Bibliotecas Além da biblioteca JavaMail, veja mais no post anterior , é necessário incluir o JavaBeans Activation Framework (JAF), apenas se a versão utilizada for anterior ao JSE 6.0 , que já tem o JAF incluso. O JAF está disponível em http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html , e neste download encontramos, alguns exemplos na pasta demo , documentação, incluindo javadocs, na pasta docs e a biblioteca activation.jar , que deve ser acrescentada no classpath da aplicação para versões anteriores ao JSE 6.0. Exemplo Primeiramente devemos realizar a configuração da javax.mail.Session e da javax.mail.internet.MimeMessage , estes passos podem ser vistos no post anterior . Agora vamos montar um

TDC INNOVATION lança University Pass

Modalidade de ingresso tem como objetivo ajudar na capacitação dos universitários Uma pesquisa realizada em 2020 pela Associação Brasileira das Empresas de Tecnologia da Informação e Comunicação (Brasscom) diz que até o ano de 2024 o Brasil precisará de cerca de 420 mil profissionais na área de Tecnologia da Informação. Porém, por ano, a mesma pesquisa diz que o país forma apenas 46 mil profissionais capacitados no nicho. Pensando nisso, para ajudar na formação e capacitação desses jovens profissionais, o TDC INNOVATION, segunda edição do ano do The Developer's Conference, lança o University Pass, modalidade de ingresso que possibilita aceso digital gratuito a todas as palestras do evento, ou com 50% de desconto para quem preferir ir pessoalmente. Com o tema central “Desafios para a criação do futuro Digital”, o TDC INNOVATION ocorrerá entre 1 e 3 de junho, de forma híbrida: presencialmente no Centro de Convenções CentroSul, em Florianópolis, e com transmissão simultaneamente pela