Skip to main content

Meet the experts: Dain Sundstrom on Apache Geronimo

Dain Sundstrom (dains@us.ibm.com), Software Developer, IBM
Dain Sundstrom is a software developer for Apache Geronimo. He is founder, committer, and project management committee member of Apache Geronimo. He is a recognized expert in open source architecture, whose experience includes enterprise computing. Prior to joining IBM, Dain was Chief Architect for Gluecode Software.

Summary:  This question and answer article features Dain Sundstrom who answers questions on the open source-based Apache Geronimo application server.

Date:  02 Nov 2005
Level:  Intermediate
Activity:  328 views

Introduction

Since the acquisition of Gluecode Software in May 2005, IBM® has made several code contributions and devoted technical resources to help the Apache Geronimo community reach its goal of Java™ 2 Platform, Enterprise Edition (J2EE) certification, a milestone that was reached in October 2005. In this "Meet the experts" article, Dain Sundstrom answers questions about Apache Geronimo.

Question: You've been on the Apache Geronimo project for 2 years. How has the technology evolved?

Answer: The biggest changes in Apache Geronimo (hereafter called Geronimo) over the past few years had been around the kernel architecture. Geronimo started with a design similar to JBoss, which is a classic JMX focused server. The problem we immediately ran into is, unlike JBoss, the Geronimo project wanted to use the existing high quality open source enterprise components, such as Tomcat, Jetty and OpenEJB. A JMX focused server simply ends up too static and highly coupled. To address this problem, we created the Geronimo GBean architecture, which is a Dependency Injection (also known as Inversion of Control or IoC for short) configuration and management system. GBeans provide a componentization layer that makes it easy for us to add, remove, and modify services with minimal impact to the rest of the server.

Question: What are some of the other latest developments from the Apache Geronimo project?

Answer: The single biggest addition since certification is Apache Tomcat integration. This took a long time and a lot of hard work to get it right, but it was well worth the wait. The other major new feature is the Geronimo Web management console, which is based on a donation from IBM. I strongly suggest you download the M5 release and try it out.

Question: When will clustering support be added?

Answer: A project to add clustering support is currently forming in Geronimo. It's in the early stages, but it looks like the project uses a standards based JCache (JSR 107) implementation for the distributed store, WADI (wadi.codehaus.org) for servlet fail-over, and custom HA extensions to the OpenEJB protocol. There is a lot of work to be done, so if you are interested, please join the Geronimo development list and offer to help. Note that the Geronimo JMS provider, ActiveMQ, already includes clustering support.

Question: What tooling support is available for Geronimo?

Answer: This is something the Geronimo community, and IBM in particular, are committed to. Geronimo already has an Eclipse plug-in and Maven integration. Ant tasks and XDoclet support are being developed. IBM has a proven track record of providing world class tooling for its products and has assigned several full time developers to really accelerate this effort in Geronimo.

Question: Any concrete plans to support EJB 3 in Geronimo? Time frame?

Answer: Geronimo works closely with the OpenEJB project, which provides the EJB implementation for us. The next version of OpenEJB 3.0 will include support for EJB 3. Work is just commencing on this, but it should go very quickly since the OpenEJB code base is very similar to the EJB 3 design. Look for a prototype early next year.

Question: I am interested to see an AOP framework developed for Geronimo, which not only contains sample aspect codes, but also enables different containment of feature complexities for specific usage models. Do you foresee any possibility of that sort happening?

Answer: I get asked this question a lot ever since JBoss integrated their proprietary AOP framework into the JBoss application server. AOP is a very interesting technology and there are several AOP frameworks available in Java™. I actually consider it a mistake for JBoss to have integrated their AOP framework into the application server because it effectively locks their users into their framework. In Geronimo, we have chosen not to develop a custom AOP framework or select a single framework to integrate with. Instead, we are working to make sure that many excellent open source AOP frameworks, such as AspectWerks, run cleanly on Geronimo.

Question: Are there any plans to do a Redbook series on Apache Geronimo?

Answer: This is something I am very excited about. IBM has a long history of creating excellent technical manuals focusing on real world problems. Yes, there will be a Redbook on Apache Geronimo. Unfortunately it will not be available until 2007. Geronimo isn't even a 1.0 final release yet and there is already an excellent collection of documentation, articles, and draft books available from the Apache Geronimo Documentation project. Additionally, IBM has assigned a full time technical writer to the project, and he has created migration guides from JBoss to Geronimo. We'll leave it up to JBoss to create the Geronimo to JBoss guide.

Question: What are you working in next?

I'm working on building a plug-in based server architecture analogous to the Eclipse plug-in based IDE. The idea is to allow a user to be able to discover new components for their server, and install them over the Internet. Additionally, anyone should be able to create components for Geronimo and make them available to Geronimo users without even talking with us.

To accomplish this, I have been working with the Apache Maven, OSGI and Spring. The Maven repository is perfectly suited to carry plug-ins as most open source project already publish their jars to the repository. OSGi is the plugin framework used by Eclipse to enable the live installation and removal of plugins. Spring is a widely used Dependency Injection framework and makes the configuration of these plug-ins easy. I hope to have a preview of this later this year.

Question: What is the best way to get involved in Geronimo?

Answer: Download the server and try out your applications. If your applications don't run, you find something unusual, confusing, or simply annoying, send a complain to dev@geronimo.apache.org.


Resources

  • Get started with Geronimo: New to Apache Geronimo? Start with this easy-to-follow, comprehensive guide that answers your Geronimo questions.

  • Apache Geronimo site: Contains information up-to-date information about the Geronimo project.

  • WebSphere Application Server Community Edition, Apache Geronimo, and Gluecode: This interview with Scott Cosby, Gluecode Transition Executive at IBM, and Paul Buck, Director of Gluecode Development at IBM covers the new WebSphere Application Server Community Edition, a new business model that provides free code for use in development, testing, and deployment.

  • J2EE Web services in Geronimo, Part 1: Learn how to incorporate Web services into a classic J2EE-based application deployed on the Apache Geronimo application server.

  • J2EE Web services in Geronimo, Part 2:: Learn how to add message handlers, attachment support, Web services security, custom exceptions, and Universal Description, Discovery and Integration (UDDI) registry access into a classic J2EE-based application.

About the author

Dain Sundstrom

Dain Sundstrom is a software developer for Apache Geronimo. He is founder, committer, and project management committee member of Apache Geronimo. He is a recognized expert in open source architecture, whose experience includes enterprise computing. Prior to joining IBM, Dain was Chief Architect for Gluecode Software.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere, Open source
ArticleID=98425
ArticleTitle=Meet the experts: Dain Sundstrom on Apache Geronimo
publish-date=11022005
author1-email=dains@us.ibm.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers