Riena - A New Adventure In Eclipse
The Riena project has just released it's 1.0 version recently. In this article, I'll show you how to get going with Riena by walking you through my own experiences using the project. As well as providing a little background on the project I will show how to create a UI with Riena, and run through an example of remote services.
Some Background
First, what is Riena? I wrote an article about Riena last August, discussing how it adds a new dimension to Eclipse RCP applications by providing a more "friendly" user interface to non-engineers. But the main concept behind Riena is to provide a foundation for building multi-tier enterprise client/server application. Riena makes the usage of OSGi (Equinox) services easier by providing access to both the local and remote services in a transparent way. So, no matter where your OSGi bundle is, whether on the client or the server, you can access it the same way through Riena.
The second release of Riena is already in planning and will include enhanced features and components for the development of user interfaces and navigation.
The complete list of concepts and features in Riena are pretty complete. They include:
- Injecting Services and Extensions
- Remote Services
- Security
- ObjectTransaction
- Stages
- Client Monitoring
- Navigation
- Look and Feel
- UI Filters
- Login support
- Custom Ridgets
Getting Started
Now that we know a bit about the project, it's time to take it for a test drive. For this example I am using Eclipse 3.5M6. To get started there are two approaches that you can take. One is to download the full Riena target platform including Equinox and SDK from http://www.eclipse.org/downloads/download.php?file=/rt/riena/Riena-1.1.0.M5-platform-win32.win32.x86.zip.
I did that to keep my current Eclipse installation lighter. (Aside: I do that quite often, and have lots of Eclipse installations around my machine). If you just want to add Riena to your current application, you can just add the Riena specific stuff from http://www.eclipse.org/downloads/download.php?file=/rt/riena/Riena-1.0.0.zip
There is an update site available for the UI wizard.The wiki page has the wrong URL for the update site - you'll need to point to http://download.eclipse.org/rt/riena/updatesites/org.eclipse.riena.ui.templates.updatesite/
I'll be using this throughout this tutorial, so it's worth getting this included.

Full, and official, getting started instructions are available from the Riena wiki page.
Setting Up The Target Platform
First we need to specify our target platform for our application to be where Riena is "installed".This step does not apply if you have downloaded the Riena components for your current installation.
Here I have used C:\Riena as my install location:
Clicking Finish here will set up a target definition. Now you can give the target a more friendly name

All you need to do now is to set this target as active for your current plug-in development:






Comments
Christopher Brind replied on Tue, 2009/03/31 - 3:51am
Great stuff. Wasn't aware of Rienna, but I am definatlely putting this on my hot list. Thanks for the info.
Tom Meier replied on Tue, 2009/03/31 - 6:33am
Nice article, James. Rienna looks quite nice and looks like it's making life for us RCP developers a lot easier. However I think there's one big disadvantage to Rienna: Again we're relying on a different framework for multiple application layers such as services and UI. On the other hand an all-in-one solution such as seems to be good enough for small to mid-sized applications. I'm curious as to see whether this framework finds its place among all the other frameworks in the Java world.
Nevertheless a great article and surely looks like you spent a bit of time here :) Keep up the good work!
Tom
James Sugrue replied on Tue, 2009/03/31 - 7:05am
in response to:
Tom Meier
Thanks Tom
I see what you mean, and it has crossed my mind that this is another approach to the same problem. But I think projects in Eclipse work closely enough, and that there could be some crossover with what Riena does and what ECF provides in remote services. I'm sure we'll see one recommended approach to remote services soon enough, at least in the Eclipse community
James
Slim Ouertani replied on Tue, 2009/03/31 - 11:03am
James Sugrue replied on Tue, 2009/03/31 - 11:05am
in response to:
Slim Ouertani
Thanks Slim!
Should appear just at the bottom of the article : http://java.dzone.com/sites/all/files/RienaExample.zip
Denis Robert replied on Tue, 2009/03/31 - 1:32pm
Elias Volanakis replied on Tue, 2009/03/31 - 2:04pm
Ekkehard Gentz replied on Tue, 2009/03/31 - 2:20pm
in response to:
Tom Meier
Slim Ouertani replied on Tue, 2009/03/31 - 5:40pm
in response to:
James Sugrue
James Sugrue replied on Wed, 2009/04/01 - 1:38am
in response to:
Denis Robert
Hi Denis
I ran this using Gailileo 3.5M6 and the latest release of Riena. All fully tested
James
James Sugrue replied on Wed, 2009/04/01 - 1:44am
in response to:
Slim Ouertani
Roman Porotnikov replied on Wed, 2009/04/01 - 4:55am
Gavin Mogensen replied on Sun, 2009/04/12 - 10:14pm
James Ervin replied on Thu, 2009/04/30 - 10:20am
James Sugrue replied on Thu, 2009/05/14 - 2:14am
in response to:
James Ervin