InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

ModuleFusion 1.0.2 Released: Enterprise OSGi Distribution

Posted by James Kao on Sep 30, 2008

Sections
Operations & Infrastructure,
Enterprise Architecture,
Development,
Architecture & Design
Topics
Open Source ,
Application Servers ,
Enterprise Application Blocks ,
Composite Application ,
Java
Tags
Logging ,
Wicket ,
Hibernate ,
OSGi
ModuleFusion 1.0.2, an OSGi service stack designed for enterprise applications, was released recently. It packages multiple enterprise Java application frameworks together as OSGi bundles. Developers can thus use familiar technologies when building server applications without employing a full J2EE container.

Included in this distribution are the following bundles:

OSGi Service Platform
  • OSGi Framework (Equinox or Felix)
  • Configuration Admin
  • User Admin
Framework
  • Google Guice IoC framework
  • Apache Wicket
  • Hibernate
  • Hibernate JPA frontend
  • Jetty web server
  • HSQLDB database
  • PAX web + extender bundle
ModuleFusion
  • DirInstaller (install/update/remove bundles and configurations)
  • JPA integration
  • Apache Wicket integration
Logging
  • Simple Logging Fassade for Java (SLF4J)
  • Apache log4j
  • SLF4J - log4j bridge
  • Commons logging - SLF4J bridge
ModuleFusion attempts to advocate the use of OSGi for server applications, stating:
The goal of ModuleFusion is to help programmers to use the OSGi Service Platform as their underlying runtime environment. ModuleFusion contains a full stack typical for Java enterprise applications. This stack currently consists of best-of-breed open source frameworks from the Java ecosystem. Additionally, ModuleFusion contains the necessary glue code to easily use these frameworks within OSGi.
InfoQ contacted project leader Roman Roelofsen, asking him to elaborate on how he compares ModuleFusion to more commonly used Java EE containers:

With ModuleFusion, we want to create an OSGi-based distribution that helps programmers to adopt the OSGi programming model. You can compare it a bit to the typical Linux distribution. While it is certainly possible to download the Linux Kernel, GNU tools and applications, set up the filesystem, boot procedure and configure everthing, it is much easier to install a system where everything is concerted and pre-packaged.

If you require the typical suspects like EJB, JMS and JCA you may be forced to use a traditional server. However, you don't need those frameworks always. In fact, in many cases you're better off with a lighter solution. Projects like JONAS underline that trend and already provide these features as OSGi bundles.

While ModuleFusion could contain those classic JEE features, we will concentrate to use and promote the OSGi programming model, e.g. OSGi services instead of EJB session beans.

He continued, stressing the advantages of ModuleFusion (and correspondingly, OSGi):
To keep long story short: these are the key benefits of using ModuleFusion:
  • State-of-the-art lightweight enterprise stack for those cases where a full JEE solution would be an overkill
  • Significant time saving when getting started with OSGi as ModuleFusion comes with pre-integrated frameworks. Unzip and run - it's that simple.
  • Full utilisation of OSGi
  • Several example applications
Roelofsen is not the only enterprise Java architect interested in writing the types of applications previously considered the domain of Java EE, on OSGi instead. At EclipseCon 2007, Gregory Brail and John Wells gave a talk about BEA's microService Architecture, which attempts to decompose the functionality of a commercial-grade Java EE server into re-combinable parts on OSGi as bundles. IBM built WebSphere Application Server 6.1 as a set of OSGi bundles and has an on-line presentation describing this change.

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.