Wednesday, May 10, 2006

Official Roma Framework domain!

Yesterday I've registered the official domain name for the Roma Framework: http://www.romaframework.org/

This URL points to the Wiki Home Page.

Monday, May 08, 2006

Roma Framework: work in progress

Hi,
after some weeks Roma Framework catched the attention of some people at the last JUG Roma (Java User Group) event.

The community is born. Here the numbers:
  • 4 active developers in SourceForge
  • More than 1.000 page viewed in a week
  • in the Mailing list more than 50 messages in few days
I'm working in a very big refactoring to support multiple aspect management in XML config files. The refactoring is done, but some bugs afflict the behaviour of applications developed with Roma. I hope to commit anythings today.

In these days the community talked about Indexing Aspect (Lucene/Compass framework), Maven 2 (instead of Ant), Designer IDE, JMS Monitoring Aspect, and more.

Stay tuned with Roma if you want to learn how to create Web Applications (and other) in some hours using the most modern technologies such as Ajax and JDO.

Roma Development Mailing List: https://lists.sourceforge.net/lists/listinfo/romaframework-development

Tuesday, April 11, 2006

First one presentation of Roma Framework

Tomorrow, 11th april 2006 there will be the first one presentation of Roma Framework to the ProNetics company.

I've ready the slides and a basic car-sharing demo application to show the Roma power. In these days I worked to the wizards (ala Ruby On Rails) for auto generation of project scaffolding and modules (Internal affair ministery asked me this feature to speed up development ;-)).

I'm much satisfied for the work done until now but there are several things to fix up. In the mean time the community are increasing...

The next presentation, and the first very public, there will be to the next JUG-Roma on 27th April 2006.

Wednesday, March 29, 2006

JUG Roma meeting march 2006

Some hours ago there was the third JUG Roma meeting (For more information goto www.jugroma.it) in Aubay company. Below the sessions:

First talk: 18.00/19.00
Title: Beehive: Easy and speed for J2EE solutions (facilità e velocità per soluzioni JEE)
Speaker: Nino Guarnacci

Second talk: 19.00/20.00
Title: Persistence and JDO 2.0 (Persistenza e JDO 2.0)
Speaker: Luca Garulli (Yes, me...)

After the talk a good dinner in a restaurant near Piramide area, Rome.

Yes, during my talk I've spent 5 minutes to speak a little bit about the "Off Topic" Roma Framework. Is publicity the soul of business? ;-)

Monday, March 27, 2006

Roma Framework's wiki was born

Finally I've chosen a WiKi platform to handle Roma community and documentation: XWiki.com. The software is entirely written in Java and they offer free hosting at acceptable speed (From italy it's quite speed...). What's leave a bad in the mouth is the page layout that cannot be modified, but only at CSS level...

So bear in mind this URL: http://RomaFramework.xwiki.com

Instead I've chosen SourceForge to host the entire SCM of Roma. The main reason is for robustness and quality of service and because now SourceForge supports SVN! ;-)

Starting from today all Roma's news will be published in Wiki Blog at: http://RomaFramework.xwiki.com/xwiki/bin/view/Blog/WebHome

Monday, March 13, 2006

Roma: work in progress... part II

Hi,
after days and nights on my notebook I'm proud to test the first alpha version of the Roma Framework. I've build a car-sharing application as demo (I was tired of ordinary blog or java-pet shop applications). The meaning is to discover what I've missed to build a real world application using the MDA Roma framework...

Below the short roadmap for the alpha release planned for this friday 17th March 2006:
  1. View aspect: Radio and check button support
  2. View aspect: First Page Flow support
And below the roadmap for the next beta version:
  1. Workflow aspect: first implementation using Enhydra Shark (http://shark.objectweb.org/)
  2. Compile time wizards:
    1. Create Project Scaffolding
    2. Adding Persistence Aspect (JDO)
    3. Adding View Aspect (Echo2/Ajax)
    4. Generate CRUD Pattern against any complex entity
  3. Dynamic Run-Time Query Generator (something like Atlassian Jira filter)
Stay tuned, in the next days I'll publish the first one alpha release ;-)

Tuesday, February 28, 2006

First ProNetics GoKart contest

Rome, 24th February 2006 time 10:15 PM

On the last thursday Daniele organized the first one ProNetics GoKart contest. Only 6 of us have found the courage to partecipate. Only six proneticsians plus Riccardo (my friend) and Andrea (Daniele's friend)...

The track choosen was the HolyKart (http://www.holykartroma.it), a full rubberized track with perfect equilibrated karts in performances. HolyKart is very professional to simulate a true Grand Prix:
  • 10 minutes of free practices
  • 10 minutes of qualify, valid for the starting grid
  • 8 turns for the real race where anything could happens...
I preput that I never see a Kart before and in facts in the free practices my position was the fourth. Then in the qualify my position was go up until the first one, just a blow better than Spizzi.

In the final race after the firs
t one curve I didn't see anyone and it's finished with my kart that cutted the winning post and Spizzi second after 12,79 seconds... and Blade (Daniele) at 17,27... At the end there was the prize giving with podium and medals!

The day after, for the entire day, on my chest flamed the gold medal. I'm forgetting...everybody how wants can ask me free drive lessons... Muahahah Muahaha

See you to the next GoKart contest!


Monday, February 20, 2006

Rome, 19th february 2006.
The persistence aspect finally works! Now Roma Framework can search and create persistent object in transparent way. I've used the latest JPOX JDO implementation.

I've implemented the CRUD pattern and it works very well with Echo2 and its Ajax model reloading the resulting table without refreshing the page. Cool...

I've also changed the inheritance use of forms. Before all forms are derived strictly by the model, but now I've tested it's better create POJO forms and using domain objects per composition. Before:

class AccountNew extends Account
{
private String confirmPassword;
}

Now:

class AccountNew extends CRUDNew
{
private Account newValue;
private String confirmPassword;
}

The main reasons of this change are:
  • Persistence aspect can confuse the derived non-persistent class used for view
  • Can extend the pattern POJOs (like the CRUD, see above)
I hope to finish the jdo persistence aspect for this week and enhance the echo2 view aspect. Stay tuned!

Sunday, February 12, 2006

Roma Framework: UDM in practice

I've just finished to work at the 0.6.8 beta release of Roma Framework. In the last days I've refactored much classes in Roma Framework and, above all, the plugin architecture has changed in "aspects". Current implemented aspects are:
  • view (Echo2ViewAspect),
  • i18n (ResourceBundleI18NAspect),
  • validation (interfaces and exceptions),
  • content (containing section tree structure),
  • logging (using common-logging)
Core component has improved with much features:

The UDM (Unified Development Model) has improved with:
  • Management of application flow. Each user session is tracked. UDM allows to go back and forward implementing the full MVC2 pattern at component level
  • UDM allows to change at run-time class's fields and actions features such as hiding, changing label, style, rendering, etc.
  • UDM allows tracking of attributes changed by the Model to be refreshed by the view aspect.
  • Better FormFactory management allowing caching of forms abstracting the implementation.
Below an example of UDM to search accounts. Note that some features resides in external XML files. The search() method is not yet attached to persistence aspect since it's in construction. Now data are dummy values loaded by TestApp singleton.

public class AccountSearch {
public AccountFilter filter;

@FieldInfo(embeddedType = AccountList.class)
public List result;

public AccountSearch() {
filter = new AccountFilter();
result = new ArrayList();
}

public void create() {
ObjectContext.getInstance().setNext(new AccountNew());
}

public void edit() throws ConfigurationNotFoundException {
ObjectContext.getInstance().getFieldAttribute(filter, "name").setHidden(true);
}

public void search() {
// TEMPORARY: HERE WILL BE USER PERSISTENCE ASPECT SOON...
result = TestApp.getInstance().getAccounts();
ObjectContext.getInstance().addChangedProperty(this, "result");
}
}

Thursday, February 02, 2006

Roma: work in progress...

Hi,
the work in Roma framework continue. In this week I've refactored many things. But the most important news is the support for a XSL based front-end. The idea is to implement the FrontEnd interfaces building a dynamic form that generates XML. Before to send the XML to the browser it can be rendered by XSL. In this way there is a very SOC (Separation Of Concerns) and a web designer can work only to XSL and CSS.

My idea is to generate XML compatible with the Apache Cocoon CForms form instance format. In this way you can exchange XSLs between Roma and Cocoon... CForms seems to cover complex widget.

The concept rear the new XML front-end is quite near to the Apache Cocoon framework, but using the same cardinal Roma's concepts:
  • Unified Development Model (UDM): the form interaction is 100% object oriented and it's the same as for Echo2 plugin. Soon a tutorial that shows the powerful of OO user interaction.
  • Inheritance: everything in Roma is extensibile using the inheritance concept.
  • View derived from the model: once architect has developed the domain classes and their relationships, the developer can generate complex and full working forms in some minutes.
  • Transparent persistence using JDO 2.0 (JPox implementation) but in the future EJB3.
Stay tuned. I hope to publish the first public release in a couple of weeks.

If you are interested or just want to suggest some idea, please contact me! ;-)