Tuesday, January 27, 2009

JavaDay III edition

The 3rd edition of the JavaDay is gone. 1.400 visitors: 1225 workers, 363 student, 74 unemployeed.

The AssetData's stand has received more than 300 curricula. For this reason I've take the decision to build from stratch an application to collect all them using Roma Meta Framework. After 1 hour it worked, but the GUI is not yet very intuitive...

During the event I encounter Paolo, a very old collegue of about 12 years ago in my second project for the IRI group. I have seen again a lot of other past collegues and friends...

I love the JavaDay also for this reason :-)

(photo by Valerio Casale)

Wednesday, January 07, 2009

Recupero crediti? Non ho il fisico

Da quando sono diventato uno pseudo-commerciale e seguo i clienti direttamente mi capita, ahimè, di occuparmi anche di RECUPERO CREDITI. Eggià. Clienti che chiedono servizi, consulenze, prodotti e poi dopo mesi arrancano sempre le solite scuse. Le 5 migliori del 2008 sono state:
  1. La nostra banca si è fusa in un gruppo più grande e non riusciamo a fare i bonifici!
  2. La società è in ottima salute...Ma abbiamo problemi di cassa
  3. I nostri clienti non ci hanno pagato...
  4. La fattura è stata smarrita (fu consegnata a mano!)
  5. Abbiamo deciso che vi pagheremo solo se riusciamo a rivenderlo al cliente finale (dopo 3 mesi dalla consegna)
Diciamo che non ho propriamente il fisico per fare "recupero crediti". E quindi ecco il motivetto che mi accompagnerà nel 2009:

"Soffro lo strees
io soffro lo stress
sono stanco e fuori forma
vado in giro per clienti
a recuperare i pagamenti
ci deve essere un errore!!!"

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!