Monday, December 22, 2008

Roma JavaDay III edition in Rome


Today, 3 years after its inception, the JavaDay in Rome is the technical reference event for Java technology in Italy. It boasts a terrific turnout and the participation of the most eminent speakers of the community.

The Rome JavaDay takes place at Università Roma TRE with the purpose of establishing a privileged channel with university students. It has a highly technical connotation and is a joint-effort of three Italian Java communities, namely Java User Group Roma, Java Italian Portal e Java Italian Association.

Attendance is free of charge.

IMHO the most interesting talk is: ROMULUS. Java Web Development made productive

Wednesday, December 17, 2008

1° Trofeo di Texas Hold'em "All in Asset"


Ieri sera si è tenuto in Asset Data il primo trofeo di Texas Hold'em:

"All in Asset"

Il vincitore è stato Alfonso, secondo classificato Molins.

Alfonso ha vinto praticamente la maggior parte delle mani. Quelle in cui non ha vinto è perchè è uscito in corsa per timore, ma alla fine i punti in mano suoi erano sempre vincenti su tutti!

Che spettacolo vederlo con tutte quelle torri di fiches... Sembrava Rupert Murdoch!

Con tutta la fortuna che si è ritrovato...Gli è stato consigliato di chiamare subito a casa per controllare La Donna! ;-)

Friday, December 05, 2008

Java Pretty code II

Another piece of pretty code:

public class MyClass{
 public MyClass() {
 }

 public MyClass(String iClass, String projectPath) {
  /* Instantiates MyClass */
  MyClass obj = new MyClass();
  obj.create(iClass, projectPath);
 }
}

Why to create an object of the same class to call the method on it?

To the next piece of pretty code!

Java Pretty code

Today, between a debug and another one I found this nice thing:

private VectorString> extractFields(Class classObj) {
 String className = classObj.toString();
 className = className.substring(6, className.length());

 Class obj = null;
 try {
  obj = Class.forName(className);
 } catch (ClassNotFoundException e1) {
  e1.printStackTrace();
 }

 ...
}

1) Please note the toString() call and then the extraction of the result cutting from the 6th character... But why don't simply to use the getName() method?
2) And at the end... Why to extract the name of the class and then reload the class by the extracted name to obtain...always the Class taken as parameter!

These are pearls folks!

Thursday, November 27, 2008

Roma Meta Framework: plug-ins management

Starting from release 1.0.0 Roma allows to be updated by using the new wizard commands:
  • check
  • install
  • update
If you've downloaded the 1.0.0 from SourceForge type:

> 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

I'm tired out but happy! :-)

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

After some days since last post I'd like to share latest more relevant news about the Roma Meta Framework project:
  • 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!

Thursday, June 19, 2008

Lost in translation: birra Miller

Galway, Irlanda.

16 giugno 2008. Un lunedì sera. Dopo 4 ore di meeting in inglese Giovanni ci porta in un ristopub al centro di Galway. Enorme con un albero al centro! Talmente grande che quando sono uscito (la cena si era fermata a metà dello stomaco) per ritrovare la sala ho chiesto indicazioni... Non sto scherzando.

Dopo un ottimo antipasto, un paio di birre e una bistecca (ovviamente) Irlandese allungo il braccio e prendo in mano quella di Giordano seduto accanto a me. Vedo l'origine americana. Ma che ci fa una birra americana in Irlanda? Cmq girando la bottiglia vedo che c'è scritto qualcosa dietro all'etichetta:

"America's Quality Beer
CONTAINS NO ADDITIVES
OR PRESERVATIVES"

Preservati-che? Ah... in inglese deve essere la traduzione di "conservanti".

Comunque sia sono taaanto contento che in quella birra non c'erano preservativi ;-)
.

Wednesday, June 18, 2008

Last day of Ireland


Around Galway city on the West Coast of Ireland. This picture was shooted by Luigi.

The meeting is finished and this evening the Romulus staff had the dinner in a restaurant very close to the sea. Excellent Oysters! It's quite cold to be June and sometimes it rainings, but the colors of the sea are wonderful. Don't you?

Tomorrow I'll go back in Italy! Bye bye Ireland. See you soon.

Wednesday, June 11, 2008

Saper aspettare

"Chiedi quello che vuoi e dai all'universo il tempo ragionevole di muovere i miliardi di ingranaggi per arrivare a te"

- Lvc@
.

Monday, May 05, 2008

GMail: is really so secure?

About 15 days ago someone entered in my GMail account sending one spam email to all my contacts about an asian site of ecommerce. I apologize with all my contacts about the SPAM.

The very strange thing happened is that my password was quite strong: upper case letters, numbers and special character. So I exclude a brute-force attack in favor of a GMail leak.

By a quick look to the Internet I did'nt found any similar attack to other GMail users, so I could be one of first victims before Google patched the leak or the victim was expressely me. But in this case why don't change the password once in? And why don't delete messages to make greater damnages?

I don't know. However I'll continue to use GMail for my private mail since the service is really amazing and fits very well for my needs. I just hope my case was, and will be, pretty isolated.

Wednesday, April 02, 2008

Registered mark

The Italian office for marks and patents is called "Ufficio Marchi e Brevetti". Yesterday I wondered its database is on-line and available for free to search registered patents and marks: http://www.uibm.gov.it/UIbmDev/codice.aspx. After a bounche of attempts in error (timeouts and internal errors) I found my registered mark: Orient! This is the logo:
Request number: RM2000C002881 of May, 9th 2000
Registration number: 0000899116 of June, 24th 2003

It's true: I registered it on May 9th 2000 and there is my very old address where I lived. By the way: what is the future of Orient ODBMS? I don't know. I've no time to work on it anymore and I need a help in order to restart the project again. Any volunteers? :-)

Wednesday, March 05, 2008

Wednesday in Bruxelles

Today I was attendeed in Bruxelles in order to discover interesting projects financed by the European Commission. The aim is finding projects with some relationships with the Romulus requirements and goals.

At 12:00pm Carlos shortly explained the Romuus project to each other partecipants. The presentation resume is available here.

The room is very big, a WiFi connection is available to all the partecipants, big projector, audio/video room and a microphone every 2 places. There is also the translation room, but is empty since the meeting is in english language. Unfortunately I can't shoot it since my notebook's webcam is burn and my Nokia's phone camera idem...

My flight will take off tomorrow afternoon so I'd like to catch a glimpse of the centre of the city this night. I'm trying to communicate with Francesco (He started working in Bruxelles some days ago) but his belgium phone number seems to be wrong!

I hope Francesco will read my blog feed before to leave Bruxelles ;-)

Saturday, March 01, 2008

JDO versus JPA

Very often someone ask me what to use for persistence in modern JEE applications: JPA or JDO? Well, JPA is born after JDO and seems to be official supported by Sun since it's part of EJB 3 specification.

But my response is always the same: use a JDO implementation if you want a more powerful tool. JDO 2.1 is a superset of JPA 1 standard.

A feature matrix is available here: http://db.apache.org/jdo/jdo_v_jpa.html

Wednesday, February 27, 2008

Java IDE Day: gli IDE Java più utilizzati si confrontano









Cos’è?
Arriva per la prima volta in Italia l'evento internazionale che mette a confronto gli IDE Java più utilizzati e le loro community. JDeveloper (Oracle), NetBeans (Sun Microsystems), IntelliJ IDEA (JetBrains), invieranno un evangelist del loro core di sviluppo internazionale per confrontarsi a vicenda.

Speaker presenti:

  • Roman Strobl (Sun Microsystems)
  • Paolo Ramasso (Oracle)
  • Vaclav Pech (JetBrains)

Purtroppo nonostante l’impegno da entrambe le parti, non è stato possibile avere la presenza di Eclipse.

Come?
Uno slot di tempo a disposizione per ogni IDE per mostrare le potenzialità del proprio ambiente rispetto agli altri. Ruolo fondamentale sarà giocato dal pubblico in quanto sono previsti appostiti spazi per porre domande direttamente agli evangelist internazionali. La parte finale dell’ evento sarà dedicata ad un dibattito ragionato sul futuro degli ambienti di sviluppo. L’evento sarà in lingua inglese.

Costo:
L’evento è gratuito, ma è gradita la registrazione.

Organizzazione:
L’IDE Day è organizzato dal Jug Genova e Jug Roma

Quando e dove:
Sono previste due date: Genova, 10 marzo e Roma, 12 marzo. L’evento si svolgerà nel pomeriggio, all'interno delle Università. Per gli orari, agenda e informazioni logistiche si rimanda al sito dell’ evento.

Sito di riferimento: http://www.ideday.org/



Monday, February 25, 2008

Comparison between Roma Framework and Grails, Ruby on Rails, Trails, etc

The Romulus project is started and the very first task is to write requirements. Romulus wants, between the other, improve the Roma Meta Framework with the state-of-the-art of ideas and technologies available around.

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 ;-)

Friday, February 01, 2008

Open Source non si traduce gratis

Oggi è uscito un mio articolo sui nuovi modelli di business che ha introdotto la filosofia Open Source. L'articolo è stato pubblicato su TechNet, giovane mensile tecnologico italiano edito da Axia Multimedia.

Per leggere l'articolo potete:

- andare in edicola fino a fine febbraio 2008
- ordinarlo come arretrato
- leggerlo online in formato PDF ;-)

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:

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!