Showing posts with label roma. Show all posts
Showing posts with label roma. Show all posts

Friday, February 19, 2010

Romulus workshop in Madrid

Madrid, February 18th 2010. The day seems to be finished and it has been a pretty long day for me. This morning wake up at 7:30 o'clock, 8:30 breakfast at the Starbucks in front at the hotel and then straightforward to the Universidad Politécnica de Madrid (UPM) for the Romulus meeting and for the Romulus Workshop in the afternoon.

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

Starting from December 22nd 2009 is available the new version of TevereFlow.

Tevere Flow is a light-weight Workflow engine built using the Java® technology. Just download it and create your process using the Web interface. You can use Tevere as embedded or as external engine by using the provided Web Services API.

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

After I've posted the last release 2.1.0 of Roma Meta Framework on Source Forge I tried to search the project by typing "Roma" in the search field of Freshmeat home page:

0 search results for: roma

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":

1941 search results for: framework

What kind of search is it?

Thursday, September 17, 2009

Roma Framework and the Virtual Objects

Yesterday night I've committed in the Roma's SVN (revision: 4479) source repository the first version of Virtual Objects. Virtual Objects are like POJO, but built dinamically just using a descriptor, in this case a XML file. The XSD is the same of Roma XML annotations but now allows to specify the field type and in future declaring inheritance and other stuff.

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?

Tiago Fernandez in his blog reported some results about benchmarks using Java, JRuby, Groovy and Scala. I know: we can talk about benchmarks for days but in the Internet there are a lot of them and the performance problems of the scripting language is not a news.

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

Today it has worked! In the last days I was working to avoid the enhancement phase in the building of Roma Framework projects. Yes. Until yesterday you needed to invoke the "persistence-compile" task in your Roma project and all the projects that contained persistent classes.

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:
  1. Let to the PersistenceAspect to invoke the Enhancer at startup
  2. Create the file persistence.xml inside the src/META-INF folder.
Once everything works I'll commit in to the SVN trunk for the upcoming release 2.0.

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!

Today I've released the version 1.2.0 of Roma Meta Framework. This is the last 1.x version since starting by tomorrow I'll work to the next 2.0 implementing a lot of new ideas born in the last year.

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 da fare, magari perchè stai usando Roma e quindi hai finito prima il tuo lavoro :-), leggiti questa intervista fatta dalla rivista Java più letta in italia: Mokabyte

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!

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

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!

Tuesday, December 11, 2007

Finally released Roma Meta Framework 1.0 rc4

This should be the last one before the official 1.0, but I repeat to myself this period from a long. Not that Roma is not mature yet, but I'd like to have a release where the Roma committers don't put so many improvements and news in general.

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.
The main news of 1.0 rc4 are:
  • 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

Anche quest'anno la macchina del JavaDay si è messa in moto: sabato 1° dicembre 2007 ci sarà la seconda edizione del JavaDay a Roma. Molti i talk interessanti di cui uno su Roma Meta Framework. Questa volta ho intenzione di partire quasi da subito con una demo, mostrare il designer e il funzionamento "interno" del framework aiutandomi con qualche slide.

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

Today I attended the Sun Tech Days Italy event in Rome. By a fast look at the agenda speeches seem to be pretty interesting but in general in this kind of events IMHO the quality is very poor, maybe also for the very short time available for every single talk.

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