
----- 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
On 12.2.2013 12:04, Asaf Shakarchi wrote: 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.