Friday, May 25, 2007
Jazoon conference
Starting from June, 25th 2007 until June, 28th 2007 I'll be attended to the Jazoon conference in Zurich, Switzerland. It's a technical conference on Java technologies and directions.
Anyone will be present?
Friday, May 04, 2007
Roma framework validation
Today I've successfull integrated the Validation Rules inside Roma Meta Framework.
(1) New annotation attribute to validate against RegExp rule:
Example:
(2) Integrated the Informagen-Components Component library written by Will Gilbert.
Now Roma uses:
- IntegerTextField for int/Integer attributes
- NumericTextField for float/double/Float/Double attributes
- RegExpTextField for String attributes with "match" annotation (via Java5 annotation or Xml Annotation)
(3) New mean for min/max annotations
Now Roma uses:
- In String fields min/max are the minimum/maximum length
- In number fields min/max are the minimum/maximum value
Example:
(1) New annotation attribute to validate against RegExp rule:
Example:
public class Account{
...
@ViewField(match="^[_a-z0-9-]+(\\.?[_a-z0-9-]*)*@?[a-z0-9-]*(\\.?[a-z0-9-]*)*$")
private String email;
...
}
...
@ViewField(match="^[_a-z0-9-]+(\\.?[_a-z0-9-]*)*@?[a-z0-9-]*(\\.?[a-z0-9-]*)*$")
private String email;
...
}
(2) Integrated the Informagen-Components Component library written by Will Gilbert.
Now Roma uses:
- IntegerTextField for int/Integer attributes
- NumericTextField for float/double/Float/Double attributes
- RegExpTextField for String attributes with "match" annotation (via Java5 annotation or Xml Annotation)
(3) New mean for min/max annotations
Now Roma uses:
- In String fields min/max are the minimum/maximum length
- In number fields min/max are the minimum/maximum value
Example:
public class Account{
...
@ViewField(min=3, max=32)
private String name;
@ViewField(min=18, max=130)
private String age;
...
}
...
@ViewField(min=3, max=32)
private String name;
@ViewField(min=18, max=130)
private String age;
...
}
Thursday, May 03, 2007
OW2 Election of Individual Members Board of Directors
Some days ago I candidated me as individual member representative in OW2. OW2 born from the merge between ObjectWeb and Orientware. For most people ObjectWeb is the European Apache, for other is the French Apache! :-)
"The OW2 Consortium was initiated on January 1, 2007 through the merger of ObjectWeb and Orientware, two leading open source middleware communities of renown industry players, innovative start-ups, prominent academic organizations and individuals from across the world." - Cut&Paste words from official http://www.ow2.org site.
Yesterday the election was finished and François LETELLIER collected higher votes, 49.1%, against my second place with 34.0% votes.
My congratulations to François!
I hope to see OW2 to gain the developers interest as much as Apache.
"The OW2 Consortium was initiated on January 1, 2007 through the merger of ObjectWeb and Orientware, two leading open source middleware communities of renown industry players, innovative start-ups, prominent academic organizations and individuals from across the world." - Cut&Paste words from official http://www.ow2.org site.
Yesterday the election was finished and François LETELLIER collected higher votes, 49.1%, against my second place with 34.0% votes.
My congratulations to François!
I hope to see OW2 to gain the developers interest as much as Apache.
Wednesday, April 11, 2007
Integrating Terracotta in Roma
I'm working to integrate Terracotta with Roma Framework. The problem I encountered until now are due to Echo2 framework. It stores in HttpSession references to internal components and HttpSession itself.
This is the reason because Terracotta Session Configuraor asks me to insert in the tc-config.xml so many classes and boot-classes!
What I'd like to try is to store only user domain objects. If will work, the clustering workload will be much more light and the user (programmer) will not worry anymore about to assure any frameworks he's using to be terracotta compatible.
Good luck to myself!
This is the reason because Terracotta Session Configuraor asks me to insert in the tc-config.xml so many classes and boot-classes!
What I'd like to try is to store only user domain objects. If will work, the clustering workload will be much more light and the user (programmer) will not worry anymore about to assure any frameworks he's using to be terracotta compatible.
Good luck to myself!
Tuesday, April 03, 2007
Released version 1.0 rc 1
Yesterday I've released Roma Framework version 1.0 release candidate 1 after about 4 months from last official 0.9.9. I hope to close the release candidate phase for April 2007.
There are again few more things to resolve before final 1.0:
- PersistenceAspect mode: define a better way to declare it
- Portlet support: areas are rendered not in order mode
- Tree component support
- #1693538 Divide Spring file in multiple sub-files
Resolve known bugs:
- #1684653 portlet
There are again few more things to resolve before final 1.0:
- PersistenceAspect mode: define a better way to declare it
- Portlet support: areas are rendered not in order mode
- Tree component support
- #1693538 Divide Spring file in multiple sub-files
Resolve known bugs:
- #1684653 portlet
Friday, March 30, 2007
Terracotta presentation
Yesterday I met Jonas Boner, one of Terracotta people. His presentation and demo show to me again the powerful of this tool.
Terracotta allows to cluster any application acting on single POJO by enhancement (byte code changing).
I've planned to integrate in Roma Framework for the next week!
Terracotta allows to cluster any application acting on single POJO by enhancement (byte code changing).
I've planned to integrate in Roma Framework for the next week!
Sunday, March 25, 2007
Working on Roma's PersistenceAspect
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!
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!
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:
Subscribe to:
Posts (Atom)
