Saturday, June 12, 2010
Published the Roma presentation for the Open Source Italian Conference in Cagliari, Italy
Friday, February 19, 2010
Romulus workshop in Madrid
Today I've presented Roma Meta Framework to a bunch of students and some business IT men interested on the fast developing of Web Applications following the DDD approach, the Meta Framework philosophy and obviously Roma. We have had a hands-on session where almost all the attendees tried to follow me step by step on the building of a simple social application. I hope today the Roma community welcomes some new committers.
Below some photos shooted by Marco.
Anyone is in Madrid until Saturday morning?
Thursday, December 24, 2009
Released TevereFlow, the first workflow engine with a Web Editor
Tevere was built using Roma Framework under the Romulus consortium an it's currently used in several production systems.
Main features:
- Open Source Apache 2.0 license
- Web User Interface using the Ajax technology
- Stand-alone application: just download and start it
- Fully Transactional supporting any RDBMS or db4o ODBMS
- Set of built-in commands available (email, web service invocation, etc.)
- Auto-resume of failure activities
- User and profile management
- Activities can be written in Java or using any supported scripting language such as Javascript and Ruby
- Integration via Java APIs or WebService
Tuesday, December 22, 2009
Search on Freshmeat
What???? If I type "Roma Framework": the result is always 0 (zero) results but with the result table filled:
Maybe they require an exact search? Not properly, since if I try to search for "framework":What kind of search is it?
Thursday, September 17, 2009
Roma Framework and the Virtual Objects
Action implementation can be written using any scripting language is supported by JSR 223, Javascript in primis.
Roma treats Virtual Objects in the same way of POJO, so you can define an Employee at the fly in this way:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<class xmlns="http://www.romaframework.org/xml/roma" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"
xsd:schemaLocation="http://www.romaframework.org/xml/roma http://www.romaframework.org/schema/v2/roma.xsd">
<aspects>
<view>
<form>
<area name="main" type="column">
<area name="fields" size="2" type="grid" />
<area name="actions" type="row" />
</area>
</form>
</view>
</aspects>
<fields>
<field name="id" type="Integer" />
<field name="name" type="String" />
<field name="surname" type="String" />
<field name="born" type="Date" />
<field name="age" type="Integer">
<aspects>
<view enabled="false" />
</aspects>
</field>
<field name="salary" type="Float" />
</fields>
<actions>
<action name="refresh">
<aspects>
<scripting>
org.romaframework.core.Roma.objectChanged(me);
</scripting>
</aspects>
</action>
<action name="print">
<aspects>
<scripting>
print(age);
</scripting>
</aspects>
</action>
<action name="login">
<aspects>
<scripting>
print('Login...');
org.romaframework.frontend.RomaFrontend.flow().forward("ProjectLogin");
</scripting>
</aspects>
</action>
</actions>
<events>
<event name="show">
<aspects>
<scripting>
<![CDATA[
age=32;
Roma.fieldChanged(me, ["age"]);
]]>
</scripting>
</aspects>
</event>
</events>
</class>
And this is the result:
Note that changes to the XML files are loaded in real-time enabling a real productive development (and production why not) environment.
Wednesday, May 27, 2009
Scripting RAD tools such as Ruby on Rails and Grails can be really slow?
Results show that Groovy is very slow in comparison to the pure Java and the Scala scripting language. This could be a serious reason to be worried when your application created with Grails or RoR goes in production...
So, why don't you use a real Java RAD tool like Roma Meta Framework? :-)
You can develop shortly without using a scripting language with the benefits of great refactoring support (Eclipse, Netbeans and IntelliJ are master on it) and performance and scalability!
The source: http://tiagofernandez.blogspot.com/2009/05/java-integration-with-groovy-jruby-and.html
Wednesday, May 06, 2009
Transparent DataNucleus enhancement at run-time
Furthermore pre-packaged modules such as ADMIN, USERS, MESSAGING and SCHEDULER-QUARTZ needed to self-execute the enhancement in order to put persistence capable classes inside the JAR. This was a mess if you needed to change the ORM binding since anything resided inside the JAR.
I have to check yet if run-time changes to the entity POJOs are auto-enhanced at the fly... If works the productivity would be speedup over and over again.
Thanks to Andy Jefferson of DataNucleus team in supporting my crazy requestes :-) The work tomorrow will be in changing all the wizards to support the new configuration. In few words the change consist in:
- Let to the PersistenceAspect to invoke the Enhancer at startup
- Create the file persistence.xml inside the src/META-INF folder.
Saturday, April 25, 2009
Romulus technical meeting in Madrid

Today has finished the 3-days technical meeting of Romulus. In the first day we've worked in the UPM (Universitad Politecnica de Madrid) class room.
For the second day Carlos Iglesias has organized the entire working day in Segovia, a beautiful city at about one hour from Madrid. We've worked inside a agritourism and eaten a lot of home made food. In the afternoon we have had the social roundtrip in the Segovia city. If you're in Madrid you can't not to visit Segovia! There are a lot of monuments in a so small city. The catedral, the Fortress and the Roman waterworks, all in perfect state. It seems they was built in the past year.
This morning we went back to the UPM class room in order to finish the last pending works and give the new action points. Asset Data is envolved in almost all the activities and I know that when I'm back to Italy a huge work expects me and my company for the next months.
Am I Tired? Not at all. Instead, I'm very excited to go back to work to the new Roma Meta Framework version 2.0 and contributing to the growth of Romulus consortium & technology.
Tomorrow is the last day. Luigi will take the flight in the early morning. Giordano and me, instead, will go to the Toledo city for a fast trip. Just the time to see the centre of the city, buy a tipical medieval sword for my house, having lunch with "Pulpo a la Gallega" and go back to Madrid for the our flight.

Bye bye Spain!
Wednesday, March 25, 2009
Released Roma Meta Framework 1.2.0: the latest 1.x version!
Roma 2.0 will be not more compatible with 1.x but someone will provide a migration tool that will help to port current/old applications to the new one. Soon a presentation of the main new ideas.
A huge work is waiting for me. For this reason let me enjoy the 1.2.0, just for today!
Below the main addictions and improvements of the 1.2.0:
CORE module:
- Created CollectionWrapper domain classes to display collections in better way. Now there are two implementations: TableWrapper<> and MasterDetailWrapper<>. See the Handbook.pdf to know more
- Disable the class checking for hot-updates. Useful in production
- New refresh of multiple fields in one shot or the entire object
- Resolved bug on the session management under WebLogic AppServer
VIEW module:
- New "URL" rendering mode to embed static and dynamic content in forms. Now you can embed HTML files, JSP files and Web sites at all
- Managed render of collections and arrays using the "OBJECTEMBEDDED" mode
- Resolved a bug on table ordering
- Improved Echo2 Table component in order to support the change of the color of the column headers
- Updated to the stable version 2.1.0 of Echo2
DATANUCLEUS module:
- Updated to the stable version 1.1.0 of DataNucleus
ADMIN module:
- Fixed management of Info and InfoCategory instances
- Created CRUD of GenericValue
JETTY module:
- Integrated new release of Jetty 6.1.5
- The script under the user project script/start-jetty.sh (and .bat) now works
CRUD wizard module:
- CRUD now generate also: factory class (DDD), repository class (DDD) and an entry in the package.jdo file if any
Thursday, March 12, 2009
Luca, Roma e Romulus: tre amici su Mokabyte
Se non hai proprio nulla
Thursday, November 27, 2008
Roma Meta Framework: plug-ins management
- check
- install
- update
> roma check
* admin... version 1.0.1 (25-11-2008)
* core... version 1.0.1 (25-11-2008)
* persistence-jpox... version 1.0.1 (25-11-2008)
project-web... updated
* project-webready... version 1.0.1 (26-11-2008)
scheduler-quartz... updated
* users... version 1.0.1 (25-11-2008)
* view-echo2... version 1.0.2 (26-11-2008)
web-jetty... updated
You can install the new module you want just typing:
> roma install core
core... Installing version 1.0.1
Extracting directory: lib/
Extracting: lib/roma-core.jar
Module core installed correctly: version 1.0.1 (25-11-2008)
To know new plug-ins released by the community type:
> roma check new
To update the installed module ('core' in example above) to your project use:
> roma update core
That's all folks. No more pain with roma upgrade ;-)
Monday, November 10, 2008
Finally the official release 1.0 of Roma Framework is up
After about one year I've released the official release 1.0 of Roma Meta Framework in Source Forge.
So many news from the last 1.0rc4 version: several new plug-ins, thirdy parties contributions, the free PDF manual, better module management and performance improvements.
Download the last release of Roma Meta Framework
Below the main changes:
-------------------------------------------------------------------------------
VERSION 1.0.0 (November, 10th 2008)
-------------------------------------------------------------------------------
Main addictions and improvements:
CORE module:
- New modules management. Now you can check for new modules, new releases of them and install it over the air. Dependencies are well considered
- New Logging aspect to abstract logging and to use logging facilities such as @LoggingAction() to log any POJO action
- Support for new View Aspect that works with XHTML 1.0, CSS2 and JSP
- Support for new Semantic Aspect available via Romulus project using Open Source Jena framework
CHART-JFREECHART module:
- New module to create graphs using the popular JGraph library
ETL-XPATH module:
- Strong refactoring of the engine
- New JDBC Extractor and Importer modules
- New Wizard to let to the user the importing phase
PERSISTENCE-DATANUCLEUS module:
- New Persistence Aspect implementation using the new DataNucleus technology. Supports JDO 2.1 and JPA 1.0
PERSISTENCE-JPOX module:
- Default like operator works like before, but it considers the presence of the special character "*". If found treats it as the "%" of SQL like syntax. This allow to execute searches with wildcards
- New "optimistic" transaction mode
SCHEDULER-QUARTZ module:
- New UI
- New wizard to build simple expression without the knowledge of CRON syntax
USERS module:
- Deep changes to the USERS module: new realm entity to group accounts, profiles, infocategory and other entities in a common "realm". New "Anonymous" profile to allow to profile for the non-authenticated user
- BaseAccount and BaseProfile now extends the common AbstractAccount abstract class in order to reference accounts or profile in the same manner just declaring as reference type the AbstractAccount
SCHEDULER-QUARTZ module:
- Calendar view
SCRIPTING-JAVA6 module:
- New module implementing the Scripting facilities of Java6. By separating all scripting features in Roma in only this module we have gained the Java5 compliance for all but this module, obviously
SERVICE-CXF module:
- New module to expose a POJO as a Web Service using Apache CXF framework
VIEW-ECHO2 module:
- Strong refactoring of components. Now ComponentFactory is obsolete and now anything is responsability of the Rendering implementation
- Management of multiple Echo2 stylesheets
- Sensible faster execution
WORKFLOW-TEVERE module:
- New Workflow module with transactional engine and Web GUI. It covers most common workflow patterns
WIZARDS:
- New 'check' wizard to check for new modules or new version of installed modules
- New 'install' wizard to install new modules or new version of installed modules
- New 'update' wizard to update Roma user projects with new version of modules installed
- CRUD now generates the Repository classes for each entity.
- Support for environment variables like "author". You can set/get variables in Roma. Set the "author" variable to have all generated sources with you as author
TEST-PRESENTATION app:
- Changed layout of Test Presentation application
OTHERS:
- Resolved a lot of issues (see SourceForge tracker)
- Tons of minor improvements.
Tuesday, September 23, 2008
Back to work: Roma Meta Framework updates
- New Web Site in replace of the older one made using XWiki. Take a look: http://www.romaframework.org
- Finally we have the new Roma Handbook manual available in PDF and updated at weekly basis.
- We're at good point (together with Gesfor company in Spain) on development of the new view aspect that will join side by side the Echo2 View Aspect. The new Aspect generates pure XHTML 1.0 strict & CSS2. Furthermore supports partial/total use of JSP template. Very cool.
- Imola Informatica, member of Romulus consortium, has developed the Eclpise plugin for Roma. Now it's in alpha status yet but very soon it will be published.
- We've a new guy as Committer of Roma: Marco De Stefano. Welcome aboard!
- New Semantic Aspect. It's full working and exports all or piece of your application domain in to RDF format.
- The community is developing 2 new wizards for Roma: upgrade and update. The first one will upgrade your Roma installation with the latest one (or only the modules you want). The second one will update a Roma project with the new module. Each module will work for the transparent migration between releases. Planned for the end of October 2008.
- Realm support. Now you can deploy a single Web Application but supporting multiple realms as separate environment, each one with own users, profiles, etc.
Friday, June 27, 2008
Tevere Flow project

Finally I decided to create the Tevere Flow project starting from the Tevere Workflow module of Roma Meta Framework. In the next days I'll move the sources from Roma repository to the Tevere space hosted in Source Forge.
The idea is to provide a complete Open Source Workflow product with a Web User Interface. Tevere module is already used in production in several systems and it's appreciated for the easy to use and the Web front end: no other products can offer it!
The domain for Tevere Flow is: http://www.tevereflow.org. The web site will be active in few days with a web 2.0 look and feel. The project (still pending) in Source Forge is available here: https://sourceforge.net/projects/tevere.
Do you like the logo? It was created by Giordano Maestro (one of main committers of the Tevere Workflow module). On top of the hills you can see the colosseum (part of Roma Meta Framework logo) and the Tevere river in the middle of their. Tevere ("Tiber" in english) is the river that divide the Roma city in two parts. You can find a history of it on Wikipedia: http://en.wikipedia.org/wiki/Tiber
Stay tuned for the official launch!
Wednesday, February 27, 2008
Java IDE Day: gli IDE Java più utilizzati si confrontano
Cos’è? Speaker presenti:
Purtroppo nonostante l’impegno da entrambe le parti, non è stato possibile avere la presenza di Eclipse. Come? Costo: Organizzazione: Quando e dove: Sito di riferimento: http://www.ideday.org/ |
Monday, February 25, 2008
Comparison between Roma Framework and Grails, Ruby on Rails, Trails, etc
Today, in AssetData, we will start to write down a comparison matrix between Roma Framework and other famous frameworks (Grails, Ruby on Rails, Trails, etc) in order to find interesting points to import in Roma.
Yes these frameworks have the main goal to speed up the development and testing processes. Good, but this is only the second one for Roma. Roma is a Meta framework. This is the first Roma's goal: break coupling between domain code and other tools and frameworks.
For this reason the comparison will cover only the rapid development concerns between all these frameworks. If you know quite well one of these please send me a feedback with the pro/cons you found or just your opinion.
Grails will be the first one to be examined. Grails promises to increase productivity using main ideas taken by Ruby on Rails. Grails is 100% based on the Groovy language.
Which are the most interesting features Grails owns and can be imported in Roma? Stay tuned ;-)
Monday, January 14, 2008
Will 2008 be the year of the return of the Roman Empire?
Will 2008 be the year of the return of Roman empire?No, I'm not talking about politic. Just software. Or better software development ;-)
The new year comes with the kickoff of Romulus project in Madrid, Spain. Today I'm here, in the center of the Spain's capital city.
But what is Romulus and what means with Roma? Because formerly the Romulus mission is:
"Domain Driven Design and Mashup Oriented Development based on Open Source Java Meta Framework for pragmatic, reliable and secure web development".
The main concept of Romulus is researching on novel methods for increasing productivity and reliability of web software development, in particularly, focused on Java web development.
In order to have a serious impact, the project does not start from scratch, it is based on two mature open source projects, Roma and LIFERAY, which will be extended according to this proposal needs and following an open source project development methodology, in order to disseminate and exploit the results of the project. The idea of using these projects is to solve the former problems, with Roma will get to make Java application development easy, integrate frameworks and tools using a meta framework and decreasing the implementation time. While with LIFERAY, we are integrating the leading enterprise open source portal framework, with relevant industrial references.
Asset Data company is part of the Romulus Consortium. If you want know more about the project visit the Romulus Home Page.
Below all the participants:
- Asset Data, as the company with the biggest skill in Roma Meta Framework and where most of the committers are working (Italy)
- Liferay company (Germany)
- Gesfor group (Spain)
- Imola Group company (Italy)
- DERI University (Ireland)
- Universidad Pòlitecnica de Madrid (Spain)
- National Institute for research and development in informatics (Romania)
Does 2008 will be the year of the Roman empire? I hope yes, but what I know very well is that the Meta Framework revolution is already started!
Tuesday, December 11, 2007
Finally released Roma Meta Framework 1.0 rc4
First of all I've changed the way to release it on SourceForge. Now there are:
- The Web Wizard distribution containing all startup modules and the most used (as form of sources and binaries)
- Plug-ins as individual packages such as Workflow, Monitoring, ETL, Scheduler, etc.
- New Designer module to customize your application using the Drag&Drop GUI. It allows to change any configured annotations plus to layout screen and form areas
- Deep refactoring of ETL-XPath module. Now allows to use scripting to define record and field transformers. Plus a new GUI in form of wizard to configure the ETL process. ETL supports extraction from CSV and SQL sources and import on POJO and CSV.
- New Reporting JR module to generate dynamically reports using Jasper Reports. Report can be in form of PDF, CSV and MS Excel. Now you can display the report of any GUI at the fly
- New "Web Ready" project type to start from a ready-for-the-web application
- Enhanced all CRUD inserting "report" button
- Resolved a lot of issues (see SourceForge tracker)
- Minor improvements
Friday, November 09, 2007
1 Dicembre 2007: JavaDay a Roma
Sito ufficiale Javaday di Roma: http://roma.javaday.it/roma/index.vm.
Ci vediamo li no? ;-)
Programma completo:
| | Next generation Web | Java Open Source | Core Java, what's hot | Java enterprise | |
| 09.00 - 9.40 | Second Life e Java: prospettive di comunicazione | Tapestry In Action , nuovi modi di sviluppare applicazioni web | Introduzione alla tecnologia Sun SPOT | Magic Box project: Effective K .I .S .S . with SpringFramework | |
| 09.50 - 10.30 | JSF Integration in JViews - intervento in lingua inglese | Sviluppo rapido di applicazioni utilizzando DDD e Roma Meta Framework | Sessioni Multimediali Voce Video, IM e Presence con i nuovi standard IMS/SIP [SipWork] | SpagoBI: la piattaforma open source di Business Intelligence | |
| 10.40 - 11.20 | Il Web del Futuro: Enterprise e Web Semantico | Sviluppare applicazioni basate su BPEL utilizzando NetBeans e JBI | NASA World Wind for Java: come integrare mappe geografiche tridimensionali nelle applicazioni Java per il desktop | Java e i linguaggi dinamici: come incrementare le potenzialità espressive di Java | Domain Driven Design, agilità e patterns, architettura e test first |
| 11.40 - 12.20 | Rich Internet Application con Java e Flex | Skype4Java | Programmazione Orientata agli Aspetti: cos’è, quando e come applicarla | Terracotta DSO, una soluzione innovativa per software enterprise | |
| 12.30 - 13.10 | Usare Google Web Toolkit per costruire potenti applicazioni AJAX in Java con tanto di gestione offline dei dati | Parancoe: usare i DAO senza implementarli | JRuby e DSL | Clustering a Real World Enterprise Application with Terracotta :Atlassian Jira | |
| 13.20 - 14.00 | Grails, sviluppo rapido di applicazioni web in Groovy + Java | Testing di sistemi enterprise utilizzando strumenti FLOSS | Ruby On Rails | Progettazione di un sistema di Single SignOn che permette l'accesso tramite tipi diversi di credenziali | |
Wednesday, September 26, 2007
Sun Tech Days Italy - Rome
I was wrong. The afternoon was flighted since all talks was very interesting! In the morning, instead, I was in the JUG stand along with Mara Marzocchi. JUG Roma staff is working for the next upcoming Java Day 2007 event in Rome as well.
Below the agenda I attended today:
| Java Scripting: JavaFX Script and JRuby - Sridhar Reddy Much more deeper than the talk listened at Jazoon '07. Today Sridhar talked about the JavaFX syntax language. JavaFX contains very interesting features. One for all the bind keyword that allow to listen changes in chain. | |
| Java Persistence API: Simplifying Persistence - Sang Shin Sang is a veteran speaker, nice and never predictable. What a shame for no one words about JDO specification! | |
| Ajax and Web 2.0 Related Frameworks and Toolkits - Sang Shin Sang explained in detail all kinds of Ajax frameworks (Dojo, DRW, GWT, etc.) with some slides and a working demo for every single one! | |
Building Rich Web Applications using jMaki and Phobos - Doris Chen Doris fired me the interest for jMaki, what Jazoon's talk didn't! Very cool tool. I'd like to spend a little more time on investigating about the integration with Roma Meta Framework. | |
Here the full agenda: http://it.sun.com/sunnews/events/2007/sept/jc07
And in conclusion:
- I note down some improvements in Roma based on frameworks seen today.
- I forced me to give a chance to the NetBeans IDE. When? After the release of final 1.0 of Roma Framework, of course :-)
