10 steps to the Romaframework – Yet another Java Webframework?

Now the Romaframework in my little series of Meta-Frameworks!

It is a clean Java Web Framework which can use Echo2, but has modules to support other view technologies (I didn’t try). With Echo2 it is not a standard form based web application – it is an Ajax-Rich-Client application. The core is Apache 2.0 licensed.

What to say. Hmmh I will show you my impressions:

user-table

read-user

It was easy and fast to get started and to get it working. So try it out for yourself. For the lazy people I prepared 10 steps to the running application:

  1. Download the Web Wizard distribution
  2. On Windows go to system properties (right click on computer) -> extended -> edit environment variables -> add the ROMA_HOME and specify the download location.
  3. Or if you are riding linux it is faster:
    > export ROMA_HOME=`pwd`
  4. Add ROMA_HOME to the PATH variable.
  5. Then update roma
    > roma check
  6. Create the project skeleton with absolute path name (relative path names lead to an exception [1])
    > roma create webready mytestapp de.uni_bayreuth c:\romatest
  7. The reporting module is missing in the BackOfficeMenu source file. So, either remove the method or install reporting via (before importing into NetBeans):
    > roma install new reporting-jr
    Now add this to the project (WARNING: no automatic undo possible)
    > roma add reporting-jr
  8. I could import this eclipse project into NetBeans (be sure your standard JDK is 1.5 or higher)
    I have to ignore one Warning : “There are inter-project dependencies which could not be resolved. Importing the whole workspace could prevent this problem. (‘org.eclipse.jst.j2ee.internal.web.container’)”
  9. Now press F6 or run this project und you are done! Nothing more is necessary! Wow! Faster than with Ruby on Rails. (I know that all the new technologies are better if you only touch them on the surface, but we will see …)
  10. login = admin and password = admin

[1]
load-project-info:
[echo] Loading project info from ..\romatest/mytestapp/roma-project.xml
ava.io.FileNotFoundException: C:\Users\btn417\Downloads\roma-framework-webwizar
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at com.oopsconsultancy.xmltask.ant.XmlTask.documentFromFile(XmlTask.java
at com.oopsconsultancy.xmltask.ant.XmlTask.access$000(XmlTask.java:27)
at com.oopsconsultancy.xmltask.ant.XmlTask$InputFile.getDocument(XmlTask
at com.oopsconsultancy.xmltask.ant.XmlTask.execute(XmlTask.java:651)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.romaframework.wizard.command.project.impl.ProjectAddModuleWizard.
at org.romaframework.wizard.command.project.impl.ProjectAddModuleWizard.
at org.romaframework.wizard.command.project.impl.ProjectCreateWizard.add
at org.romaframework.wizard.command.project.impl.ProjectCreateWizard.exe
at org.romaframework.wizard.MainWizard.main(Unknown Source)
xception in thread “main” C:\Users\btn417\Downloads\roma-framework-webwizard-1.
den angegebenen Pfad nicht finden)
at com.oopsconsultancy.xmltask.ant.XmlTask.execute(XmlTask.java:659)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.romaframework.wizard.command.project.impl.ProjectAddModuleWizard.
at org.romaframework.wizard.command.project.impl.ProjectAddModuleWizard.
at org.romaframework.wizard.command.project.impl.ProjectCreateWizard.add
at org.romaframework.wizard.command.project.impl.ProjectCreateWizard.exe
at org.romaframework.wizard.MainWizard.main(Unknown Source)