Arch2Arch Tab BEA.com
Syndicate this blog (XML)

WebLogic Event Server and mSA

Bookmark Blog Post

del.icio.us del.icio.us
Digg Digg
DZone DZone
Furl Furl
Reddit Reddit

Seth White's Blog | August 16, 2007  11:49 AM | Comments (1)


Technorati Tags: , , ,

I joined the WebLogic Event Server (WLEvS) team in January this year.  One thing that got me interested in working as a developer on the Event Server was that it was the first product to be built using BEA's new microService Architecture (mSA).  This is what makes the Event Server a "modular" application server. Now, mSA is based on OSGi, so an Event Server module is really just an OSGi bundle.  In fact, every bit of code in the Event Server is packaged as an OSGi bundle making it a completely modular server. 

Some bundles that make up the Event Server are specific to the Event Server, of course.  These are the bundles that were built by the Event Server development team.  If you download and install the Event Server 2.0 release -- the 2.0 release is actually the first release -- you will find these bundles in the wlevs/modules directory under your BEA_HOME directory.  The Event Server bundles all have names like com.bea.wlevs.<module specific name>_2.0.0.0.jar.  You can tell from the jar file names that the fourteen Event Server bundles include bundles for things like the adapter framework, the CEP engine, the deployment subsystem, the JMX management layer, Spring custom tags and other related Spring classes, among others.

The Event Server also relies on a set of generic bundles that are part of mSA, but that are not specific to the Event Server.  You will find these bundles in the modules directory under your BEA_HOME directory.  The mSA bundles include bundles that were written by the mSA development team, bundles harvested from existing BEA products (like WebLogic Server), and bundles from the open source community.  One of the core ideas of mSA is that mSA bundles can be reused across many BEA products.  If you have only installed in the Event Server then you will only see the mSA bundles required by the Event Server in the modules directory.  I count 141 mSA bundles in this release of the Event Server -- that's a lot of bundles! 

It says a lot about the underlying OSG backplane that it is able to quickly and efficiently load all of the bundles when the server starts. By the way, the mSA uses the Equinox OSGi implementation from the Eclipse project.  Having a large number of relatively fine-grained bundles helps to keep the footprint of the Event Server small since only the code that the Event Server needs is loaded into memory.  If you take a close look at the names of the mSA bundles you will see that there are several bundles that comprise the Spring framework. There is also a bundle for the Jetty web server.  An example of a bundle that was harvested from WebLogic Server is the com.bea.core.datasource bundle which contains the connection pooling implementation from WLS.  The fact that the Event Server leverages a number of bundles from mature projects like WLS and Spring should help to make it a more solid platform.


Comments

Comments are listed in date ascending order (oldest first) | Post Comment

  • Seth, I enjoyed your post. I used to work with OSGi when it was first emerging while I was doing some consulting work for Big Blue in the Pervasive Computing Space. At the time, we were using it with embedded devices with extremely low memory footprints. It's interesting that Java started with embedded devices in mind and spread to server side usage and now so is OSGi.

    Posted by: jbayer on August 20, 2007 at 9:54 AM



Only logged in users may post comments. Login Here.

Powered by
Movable Type 3.31