After the last application developed using Roma Meta Framework I spent much time to refactor and optimize the performance of PersistenceAspect module. Until now Roma always used the JDO detaching mode. It works very well for the most cases, but when you had to execute many operations inside the same transaction or when you don't need to have the objects writeable.
JDO Detaching consumes a lot of CPU resources since the objects are copied and memory since for the same reason. For normal CRUD operation the difference is trascurable, but in long transactions is very sensible.
For this reason I've refactored the PersistenceAspect to have 3 implementations:
- AtomicPersistenceAspect: operations are always atomic and it continue to uses the "classic" detach mode.
- TxPersistenceAspect: operations share the same transaction (you had to call commit/rollback methods!) and you can access to the objects also after the commit/rollback in read-only mode
- NoTxPersistenceAspect: No transaction is used and you can access to the objects also after the commit/rollback in read-only mode
Furthermore you can select the strategy also when you retrieve the object by:
- PersistenceAspect.loadObject()
- Query.setStrategy()
In the next week I'll migrate all CRUD operations to use the NoTx Strategy.
I started also to write a detailed HowTo about the Persistence Strategy.
Stay tuned!
Sunday, March 25, 2007
New logo for Roma [Meta] Framework

Luca Bianconi is the author of the new Logo of Roma [Meta] Framework. It's online starting from friday 23 March 2007.
The logo is very simple and was inspired by Roma city (Roma is the original and current name in Italian of Rome city!). The "O" of Roma was replaced by the Colosseum, maybe the most famous symbol of my city. The author of the Colosseum image is Stefano Linguerri; some time ago he created it for the JUG Roma logo.
The selected font for the Logo is, obviousy, the Times New Roman ;-)
Do you like it?
Comments about the Logo are welcome in this post.
Monday, March 19, 2007
Roma supports portlets!
Roma Framework support the Portlets! They are not JSR-168 portlets but just POJO that are rendered as seperated-independent boxes. You can move the portlets around your desktop ala Google Personalized Homepage. Each box lives independently from others. Very cool!
I've adjusted the Roma Test Presentation demo application to use this feature.
Below a screenshot:
I've adjusted the Roma Test Presentation demo application to use this feature.
Below a screenshot:
Tuesday, March 13, 2007
From Jakarta Common Logging to SLF4J: NDC is missed?
Reading the Sergio's blog I wrote down to avoid to use Jakarta Common Logging APIs (JCL) in favour of Simple Logging Facade For Java (SLF4J)
I decided to refactor all Roma Framework in support of SLF4J, but I'm surprised to not find an interface for Log4J Nested Diagnostics Contexts (NDC)!!! NDC is a static class that allows to track user session information in Log4J.
So now Roma Echo2 module will depend by SLF4J and Log4J directly. Tomorrow I'll write a generic interface to abstract NDC behaviour + Log4J implementation. Does SLF4J guys will appreciate this contribute? We'll see ;-)
I decided to refactor all Roma Framework in support of SLF4J, but I'm surprised to not find an interface for Log4J Nested Diagnostics Contexts (NDC)!!! NDC is a static class that allows to track user session information in Log4J.
So now Roma Echo2 module will depend by SLF4J and Log4J directly. Tomorrow I'll write a generic interface to abstract NDC behaviour + Log4J implementation. Does SLF4J guys will appreciate this contribute? We'll see ;-)
Tuesday, February 06, 2007
Web 2.0
What is the Web 2.0? Just another buzzword? Maybe!
But take a look to the video below. It shows the social and technological changement of "that" buzzword in our life. Cool!
But take a look to the video below. It shows the social and technological changement of "that" buzzword in our life. Cool!
Friday, January 26, 2007
Waiting for Roma 1.0 apha
While Roma project staff is working to release the first alpha version of 1.0 many things are changed in SVN repository:
Waiting for Roma 1.0 alpha
- USERS module was splitted (refactored) in USERS + ADMIN following responsability rules
- New Xml Desktop to render component in dynamic desktop described in XML form
- New JPOX libraries that resolve some bugs
- Much other
Waiting for Roma 1.0 alpha
Tuesday, January 23, 2007
Next upcoming JUG Roma meeting
On the next Thursday 25th January 2007 there will be the ninth JUG meeting in Rome. For the first time the location will be my company: AssetData. To reach the meeting see the offical site: www.jugroma.it.
On Tomorrow morning I'll leave Rome to follow a customer in Milan. If the air company will not make the usual delay I should came back on Thursday 4:30 PM to the Leonardo Da Vinci Airport. Just in time to reach AssetData before the starting of meeting!!! ;-)
Below the agenda, in italian:
On Tomorrow morning I'll leave Rome to follow a customer in Milan. If the air company will not make the usual delay I should came back on Thursday 4:30 PM to the Leonardo Da Vinci Airport. Just in time to reach AssetData before the starting of meeting!!! ;-)
Below the agenda, in italian:
Primo talk (non tecnico): 18.00-18.40
Titolo: JavaPolis: io c'ero! Cosa è successo e di cosa si è parlato
Relatori: Alessio Pace, Paolo Argangeli, Simone Federici
Jug Session 8.40-19.20
- Brindisi per il primo compleanno del Jug Roma
- restyling di www.jugroma.it (chi si offre? Come? raccolta idee e formazione di un gruppo di lavoro per il nuovo sito)
- creazione di corsi java under 18 a cura dei membri del jug (idea fattibile? Come?)
- proposte JugRoma 2007
- acquisto di un VirtualServer per il Jug (valutazione)
Titolo: Antipatterns: se li conosci, li eviti!
Relatori: Simone Federici e Giorgio Vinci
Monday, January 22, 2007
The Roma Project
On past Friday I've changed the logo from "Roma Meta Framework" to "The Roma Project". The reason resides to avoid confusing people about Roma goals and mission. I'd like people speaks of "Roma" and not of "Roma Framework".
However the first release 1.0 alpha is very close to been published. The main change with 0.9.9 is the dynamic desktop management. You can define the desktop composition in a desktop.xml file. This feature allow to create very complex application without write any Echo2 code.
However the first release 1.0 alpha is very close to been published. The main change with 0.9.9 is the dynamic desktop management. You can define the desktop composition in a desktop.xml file. This feature allow to create very complex application without write any Echo2 code.
Monday, January 08, 2007
Microsoft Vista? No thanx, but...
Yesterday I've installed a tiny tool called Vista Inspirat. It changes the look & feel of your Microsoft Windows XP Operative System with the look of the latest Windows OS version. Cool!
The GUI is very nice and seems to me more usable. The general speed of the user interface seems faster, too. I don't know why, but the difference is sensible on my Notebook Acer Aspire 5670...
I never seen Vista before now, but with Vista Inspirat the layout results optimized and much more user friendly. I'm talking about all windows in general, the Explorer application and Internet Explorer. Also the new taskbar is very similar to the MacOs X.
Why I use MS Windows? Simply: because IMHO Windows is much more productive than Linux distributions I tested until now. Although I started using Linux since the Red Hat 5.x on my wonderful Amiga 1200 (with some expansions) 8-9 years ago, I find Windows XP the best OS for client/desktop tasks.
On the other hand I'll never try to install Microsoft Windows on a server machine. Unix/Linux OS on production Server wins to hand down.
My 0,02 €
The GUI is very nice and seems to me more usable. The general speed of the user interface seems faster, too. I don't know why, but the difference is sensible on my Notebook Acer Aspire 5670...
I never seen Vista before now, but with Vista Inspirat the layout results optimized and much more user friendly. I'm talking about all windows in general, the Explorer application and Internet Explorer. Also the new taskbar is very similar to the MacOs X.
Why I use MS Windows? Simply: because IMHO Windows is much more productive than Linux distributions I tested until now. Although I started using Linux since the Red Hat 5.x on my wonderful Amiga 1200 (with some expansions) 8-9 years ago, I find Windows XP the best OS for client/desktop tasks.
On the other hand I'll never try to install Microsoft Windows on a server machine. Unix/Linux OS on production Server wins to hand down.
My 0,02 €
Tuesday, December 05, 2006
Very close the next release 0.9.9 of Roma Framework
After about 3 months of work I'm ready to release the new release 0.9.9 of Roma Meta Framework Project.
This will be the last version before the official 1.0. Until now I always preferred to not sacrifice the refactoring of Roma sources to mantain compatibility with previous release. Starting from 1.0 I'm conscious I'll cannot change the sources in a rough manner as now!
I want to give thanks to all Roma users and developers for the patience to adapt their application sources after every SVN update command :-D
What are the news of the version 0.9.9?
This will be the last version before the official 1.0. Until now I always preferred to not sacrifice the refactoring of Roma sources to mantain compatibility with previous release. Starting from 1.0 I'm conscious I'll cannot change the sources in a rough manner as now!
I want to give thanks to all Roma users and developers for the patience to adapt their application sources after every SVN update command :-D
What are the news of the version 0.9.9?
- New ETL aspect to import POJO from CSV files defining mapping rules by XPath
- New rendering components (Accordion, ImageButton, Image, TableEdit) and enhanced existents
- Integrated JSP module to use JSP along with Echo2 components
- New Roma Test Presentation demo application
- New IN operator in PersistenceAspect
- Cache in database operations
- Support for JDO2 Fetch Group to speed up queries
- Enhanced USERS module with Active Sessions, Info Categories, and more
- Tons of bugs fixed
- Much other
Subscribe to:
Posts (Atom)
