Tuesday, November 11, 2008

HowTo Build An OSGI Enterprise Server: Introduction

If you followed my blog series „Logging in OSGI Enterprise Applications“, you probably know that logging is only one small but important aspect of an OSGI Enterprise Server.

This new blog series „HowTo Build An OSGI Enterprise Server“ will give you tips from my experiences how to build and configure an OSGI server, how to structure your project and bundles and how to make it all run.

Main parts of the server are:

  • Equinox (OSGI Framework)
  • Riena (OSGI RemoteServices, ObjectTransactions)
  • EasyBeans (OSGI EJB3 Container, Hibernate JPA)

There will also be a rich client:

  • Equinox (OSGI Framework)
  • Eclipse RCP
  • Riena (OSGI RemoteServices, ObjectTransactions, UI: Ridgets) 

(Clients for mobile devices and web will follow.)

Not only the Runtime Platform is important - the whole project is model-driven:

  • Eclipse Modeling (EMF, UML2)
  • openArchitectureWare - oAW (Workflow, XPand, Xtend)
  • Magicdraw (UML, DSL, oAW Integration)

Server, Client, oAW Templates, MagicDraw Custom DSL Editor will be published as Open Source (EPL) and are used as core of an ERP - Business Solution.

Before giving an overview of the project and then start with chapter „Installation“ I'll jump to chapter „EasyBeans as OSGI EJB3 Container integrated with Equinox“ because I know some are waiting for this.

From readers of my last blog series I learned that its not always easy to read the entries in right order - to help you I'll always update an index of the blog series. You'll find this index in the column right beside the blog entries.

I hope to help some others with this new blog series and I'm always thankful for your feedback.

Later on blog series will follow "HowTo build an OSGI Rich Client" and also "Modeling OSGI Client - Server Applications". 

 blog in german.


Shaun Smith said...

Hi Ekkehard,

Please forgive the shameless plug :-) but according to their website EasyBeans supports EclipseLink, an Eclipse Runtime Project, which has support for JPA in OSGi and is available as a set of bundles. Using JPA inside EasyBeans probably means you don't require JPA OSGi support but it's something to consider. And EclipseLink doesn't use any buddy classloaders so it runs in any OSGi container.


ekke said...

you're right - you can use EasyBeans with Eclipse Link as JPA or with Hibernate - its your freedom ;-)
I've choosen Hibernate, but all what I'll write in this blog series will work independent from JPA provider.
The Easybeans / Hibernate combination also doesn't use any buddy classloaders.


Unknown said...

Hi Ekkehard,

First of all thank you very much for your posts so far. They were a great help!

Currently I'm working on a proof of concept with some of the technologies you're using. However I'm heaving some troubles to integrate them properly. I think I'll find some of the missing pieces for that in your upcoming Blog series, however I was wondering if you already published some of your source code ?

Junior Java developer

ekke said...

...sourcecode will come ...think in 10 days or so