Finally in the Roma Framework's SVN repository there is the first ETL aspect implementation for Roma Framework. It allows to import data from CSV files and map content to object properties. Anything is declared in a XML file with XPath rules for mapping.
Easy and cool as usual! ;-)
Tuesday, November 28, 2006
Monday, November 20, 2006
Roma Framework vs JBoss Seam
After the last JUG Roma event, I've translated the Feature matrix of the match "Roma Meta Framework vs JBoss Seam" in a PDF document available here.
This comparison shows the different approaches of these two frameworks:
Ciao, LG
This comparison shows the different approaches of these two frameworks:
- Roma wins as features for the very fast development: Automatic GUI generation, Much more powerful CRUDs, Users module, etc.
- JBoss Seam wins for integration of Remoting (EJB 3.0) and for its jBPM and Drolls modules integrated.
Ciao, LG
Saturday, November 11, 2006
JPA vs JDO
Many people think that the newest JPA is always the best choice now that first EJB 3.0 implementations are released.
JPA is a subset of Sun Microsystem JDO 2.0 standard. JPOX team published a matrix to compare their.
Today Freshmeat wakes up my email account with the new version of JPOX 1.1.4. I'll try it tonight to release it in the next RomaFramework distribution.
Congratulation JPOX team, the best ORM tool I never used. If you cannot use a pure ODBMS, JPOX is the best choice to work with objects and a Relational DBMS. With no doubts!
JPA is a subset of Sun Microsystem JDO 2.0 standard. JPOX team published a matrix to compare their.
Today Freshmeat wakes up my email account with the new version of JPOX 1.1.4. I'll try it tonight to release it in the next RomaFramework distribution.
Congratulation JPOX team, the best ORM tool I never used. If you cannot use a pure ODBMS, JPOX is the best choice to work with objects and a Relational DBMS. With no doubts!
Friday, September 29, 2006
Roma Framework big refactoring
Hi,
yesterday night a great idea light my mind... A new way to define desktop in View Aspect. It was too much simple to catch before...
Below a default desktop (I replaced open/close characted with []):
[desktop ]
[area name="main" render="column"\ ]
[area name="top" / ]
[area name="body" render="grid" /]
[area name="bottom" / ]
[/area ]
[/desktop ]
By using XML to define the desktop assure cross View Aspect portability. The idea is very simple: to define, by area tags, a way to create containers ala Swing. Each area has a name that can be used as layout foreach POJO fields and actions. Furthermore area tag allow optionally the render to use. Available renders are:
- Null (Empty container)
- Row
- Column
- Grid
- Tab (TabbedPane)
I'm working for a XmlDesktop working with Echo2 implementation. Thanks to this feature users will be able to build complex and nice pages without effort!
Echo2 XML stylesheet will make the rest changing colors, images, fonts, spacing, etc.
Cool!
yesterday night a great idea light my mind... A new way to define desktop in View Aspect. It was too much simple to catch before...
Below a default desktop (I replaced open/close characted with []):
[
By using XML to define the desktop assure cross View Aspect portability. The idea is very simple: to define, by area tags, a way to create containers ala Swing. Each area has a name that can be used as layout foreach POJO fields and actions. Furthermore area tag allow optionally the render to use. Available renders are:
- Null (Empty container)
- Row
- Column
- Grid
- Tab (TabbedPane)
I'm working for a XmlDesktop working with Echo2 implementation. Thanks to this feature users will be able to build complex and nice pages without effort!
Echo2 XML stylesheet will make the rest changing colors, images, fonts, spacing, etc.
Cool!
Tuesday, September 26, 2006
The most strange bug in the Java Virtual Machine!
Rome, Italy. Yesterday night. My clock displays 1:23 AM.
Finally I found the bug that affects the CRUDSelect of RomaFramework project. Some users reported me a strange behaviour: the "select" button of CRUDSelect won't appear when the application is launched non in debug mode.
Initially I've leave out that report in favor of more concrete enhancements and problems. But some days ago I've catched the strange behaviour reported by the users.
How can the JVM hide my "select" button and show it when I launch the same application in debug mode? This is a case for the detective Luca. Since I cannot debug the application (in debug doesn't appears the bug), I've enabled the logging for the internal API of RomaFramework (just changing the log4j.xml file). It was not enought. So I've inserted much more logging and finally I saw the problem:
Java Reflection doesn't return the method public void select(). Much of Roma Framework working depends by Java Reflection. In a deeper analysis I've isolated the problem:
CRUDSelect class contains, between the others, these two methods:
public void select();
public void select(boolean iForceWindowClosing);
For a strange reason the first one is not returned when the JVM is in non-debug mode!!! Probably a bug in the HotSpot on method with the same name. I've renamed the second one method in:
public void selectAndForceClosing(boolean iForceWindowClosing);
And now anythings work!!! Now I submit the update in SVN repository, but tomorrow I'll open a bug report to Sun.com sending a test case that show the problem.
This time again, another case was resolved by detective Luca ;-)
Finally I found the bug that affects the CRUDSelect of RomaFramework project. Some users reported me a strange behaviour: the "select" button of CRUDSelect won't appear when the application is launched non in debug mode.
Initially I've leave out that report in favor of more concrete enhancements and problems. But some days ago I've catched the strange behaviour reported by the users.
How can the JVM hide my "select" button and show it when I launch the same application in debug mode? This is a case for the detective Luca. Since I cannot debug the application (in debug doesn't appears the bug), I've enabled the logging for the internal API of RomaFramework (just changing the log4j.xml file). It was not enought. So I've inserted much more logging and finally I saw the problem:
Java Reflection doesn't return the method public void select(). Much of Roma Framework working depends by Java Reflection. In a deeper analysis I've isolated the problem:
CRUDSelect class contains, between the others, these two methods:
public void select();
public void select(boolean iForceWindowClosing);
For a strange reason the first one is not returned when the JVM is in non-debug mode!!! Probably a bug in the HotSpot on method with the same name. I've renamed the second one method in:
public void selectAndForceClosing(boolean iForceWindowClosing);
And now anythings work!!! Now I submit the update in SVN repository, but tomorrow I'll open a bug report to Sun.com sending a test case that show the problem.
This time again, another case was resolved by detective Luca ;-)
Thursday, September 07, 2006
Greetings ProNetics
Today is the last day in ProNetics company. After about 2 years in ProNetics I leave my role to work as C.T.O. in AssetData. AssetData is a small-young private company specialized in the vertical market of Human Resources and E-Learning.My mission will be to make the company more "horizontal" to the Software Development and System Integration. All new projects will use the Open Source RomaFramework technology to develop Java application in short time guaranteing good Time To Market. A small area will cover the PHP technology by using and customizing DOCEBO E-Learning software.
I want to give thanks to ProNetics people, specially to Mario Lanzillotta and Gianugo Rabellino to have instilled in me the Open Source culture. In the ProNetics period I've released my pearl Orient ODBMS as open source project on Source Forge community. Moreover in the last months I've created the RomaFramework project too...
I want to give thanks to other collegues, someone become a friend in my private life too... And I want to take advantage of this greeting to relaunch the challenge to tear away my gold medal in the Go-Kart competion!!! ;-)
So... Bye and Let's start!
Tuesday, August 22, 2006
Roma Framework: finally the Users Module working

Today I've finished the first tests about the new Users module in ROMA Framework. What is the Users Module? It contains all domain POJO to manage login, accounts and profiles in the most classic fashion.
Yes, since most often applications handle User and authentication in the same way, why don't implement a flexible POJOs in ROMA? That is the Users Module. It depends by JPOX persistence module (JDO 2.0) to store user information in the database.
The most powerful thing, IMHO, is the profiling system. I tried to implement the most flexible system to define profiles:
- Each profile defines the mode, namely the way functions play:
- allow all but: you can define the exception. Use this when exception are less than all functionalities
- deny all but: you can define only what the profile can access. Use this when functions are much less than the total.
- Each profile can define a parent profile where to inherit the functionalities allowed and denied.
- Functionalities are expressed as a simple name in the format below:
- ClassName
- ClassName.field
- ClassName.action
- In this way you can profile from the Class level until each field/action!
If you want to disable the Control Panel item from the main menu, just insert the function with name "MainMenu.controlPanel" (that is the action name that call the submenu) and with allow equals to false.
If you'd like to hide the employee's salary field to the "Visitor" profile, then set it with mode "Allow all but" and insert the function "Employee.salary" with allow equals to false. That is.
Roma controller will check for each POJO's fields and actions if the current user profile is allowed to display.
Simple, powerful and easy!
Users module contain also an Activity Log manager, a default implementation for the AuthenticationAspect using BaseAccount and BaseProfile POJOs, generic useful objects such as Info and GenericValue, and more.
To use it download the latest SVN revision and type:
roma addModule domain-users
Follow the link to know more: http://romaframework.xwiki.com/xwiki/bin/view/Doc/Domain+Users
Monday, August 21, 2006
Back to my PC
Holidays ended and I'm in Rome again in front to my PC to resolve some issues about Roma Framework and to implement some new cool features.
Rome city is too much beautiful on August, since there is zero traffic and very few people around the city. Yesterday it was a very hot day, but in the evening I've tested my brand new Roller Blade on bicycle path near Rome. Very cool!
Rome city is too much beautiful on August, since there is zero traffic and very few people around the city. Yesterday it was a very hot day, but in the evening I've tested my brand new Roller Blade on bicycle path near Rome. Very cool!
Thursday, August 10, 2006
Roma Framework community and vacation
After a while I write on my tech blog... Now I'm on vacation (Tuscany, Italy) but sometime I connect to the Internet to read mails and messages. I'm very happy to see the community reply to the Roma Framework forum in my absence! ;-)
I'll return in the mid of august with a lot of feature requests and some (!) bugs to resolve.
And in the air I can feel a wind of changes...
Ciao, Luca
I'll return in the mid of august with a lot of feature requests and some (!) bugs to resolve.
And in the air I can feel a wind of changes...
Ciao, Luca
Tuesday, July 25, 2006
Very Glad...
I'm very glad when people thank to me and Roma's developers for the Roma Framework Project.
The bigger satisfaction is when developers say: "Developing a web application with Roma is incredible!", and then enlist all benefits to develop an application using only POJOs.
Roma Framework is much more than a web tool, also if most people use it to create Java Web Applications in short time...
The bigger satisfaction is when developers say: "Developing a web application with Roma is incredible!", and then enlist all benefits to develop an application using only POJOs.
Roma Framework is much more than a web tool, also if most people use it to create Java Web Applications in short time...
Subscribe to:
Posts (Atom)
