[Engine-devel] Time for Spring?

Libor Spevak lspevak at redhat.com
Tue Feb 12 14:52:16 UTC 2013


On 12.2.2013 12:04, Asaf Shakarchi wrote:
> ----- Original Message -----
>> Hi,
>>
>> it is rather cold in Europe, but can I ask, what's the current
>> opinion
>> or plans about "full" integration of Spring Framework into oVirt
>> engine
>> (Backend)?
>>
>> This is a commonly accepted integration framework among Java
>> programmers
>> and industry standard, which
>> solves many pains from small to large projects. And can lead to a
>> better
>> understanding of the program.
>>
>> There are several Spring dependencies inside oVirt project, but
>> mostly
>> for LDAP and database communication (JDBC template).
>>
>> Still missing (sorry, looks like marketing, but..):
>>
>> - dependency injection
>> - aspect-oriented programming (AOP)
>> - enterprise integration patterns
>>
>> Is something true? :-)
>>
>> 1. We tried, but it is too large and overcomplicated, it can be
>> solved
>> better way for the project purpose
>> 2. We tried, but we think, we need just e.g. JDBC, LDAP layer covered
>> now
>> 3. We would like to integrate with e.g. Hibernate soon, EJB,
>> remoting,
>> unit tests, integration tests, ... , probably we will need it soon
>> 4. We understand and need dependency injection, but there are other
>> light DI containers (Pico, Guice, JBoss Seam).
>> etc.
>>
>> Still, I think there is strong potential, probably not clear today.
>> We
>> cannot avoid Guice on frontend side because of GWTP, but the backend
>> lacks something.
> It may be possible to avoid using Guice on frontend at some point in the future,
> There's some work going on with abstracting the DI impl of GWTP, this work is mainly done to integration ERAI with GWTP,
> You can follow the progress here:
>
> http://code.google.com/p/gwt-platform/issues/detail?id=423
> https://groups.google.com/forum/#!msg/gwt-platform/rHiNXJGS0jY/UGU0vHQMJq0J
Thanks for the links. http://www.jboss.org/errai project looks 
progressive and the technologies that it integrates together would fit 
into Engine project purpose. But I am not sure, if a mature project like 
oVirt can easily replace used libraries or frameworks. Because a lot of 
frameworks nowadays define not only technologies (mostly limited set), 
but also overall architecture, which is very useful for startup 
applications, but to add +1 technology requires some effort and for 
existing applications total refactoring.

For massive changes like JPA/Hibernate integration I can imagine e.g. 
Spring support in the existing project, but I think the benefits and 
effort are questionable nowadays, although there are fans of this tool. :-)

DI is probably the topic for the Backend, so we see soon after CDI patch 
(JEE standard + JBoss implementation) is applied and some refactoring 
proves the technology. The advantage is that the dependency injection 
changes can be applied gradually.






More information about the Engine-devel mailing list