Jabberwocky Glassfish Custom Container

Jabberwocky Interview

Jessica Thornsby

“The container eases developing Jabber components by providing the underlying plumbing.”

Chuk Munn Lee recently announced a new container for writing
Jabber components in Java. JAXenter caught up with the technology
evangelist at Oracle, to find out more about this new

JAXenter: You recently announced a new project:

. What is Jabberwocky?

Chuk Munn Lee: In short, Jabberwocky is a
application server
custom container for running Jabber
components. Like most Java application servers, Glassfish has
containers like web container (for servlets/jsp), EJB container,
Grails container, etc.

Jabberwocky is just like any one of these containers except that
instead of running JavaEE components Jabberwocky runs Jabber
components as defined in the Tinder API and XEP-0114.

JAXenter: How does this container ease the pain
of writing Jabber components in Java?

Chuk Munn Lee: The container eases developing
Jabber components by providing the underlying plumbing so that
developers don’t have to worry about them and just concentrate on
their components.

The underlying plumbing that I’m refereing to here is things
like managing connections, secret keys, lifecycle management,
integration with other services, collecting statistics, etc. This
was in fact one of the main reason why I started Jabberwocky.

So as a developer, all you have to do is to write your component
is by either implementing org.xmpp.component.Component interface or
extending org.xmpp.component.AbstractComponent class, package the
component in a JAR file along with a small XML descriptor file and
deploy it to Jabberwocky using standard Glassfish deployment

JAXenter: What functionality can users
currently can get their hands on?

Chuk Munn Lee: As I mentioned in the previous
question, Jabberwocky will now deploy and
run any existing Jabber components that are based on either
Component interface or AbstractComponent class. There is also a set
of commands to define shared secret and map that to subdomains.
I’ve actually just published the current supported features.

JAXenter: What’s planned for future Jabberwocky

Chuk Munn Lee: I don’t have specific features
so let me give you what I’m hoping to do:

0. Short term is to get more management controls and get
Jabberwocky to publish statistics about Jabber components. This is
done through Glassfish’s JMX framework. I’m halfway there on this.
Also to make sure that Jabberwocky is solid and scales reasonabally

1. I hope to create a framework for creating Jabber components
and to introduce newer Java features like annotations, injections,
POJO, etc into this framework. I really like the JAX-RS RESTful API so I’ll try to model the framework
after that.

2. One of the great things about being in an application server
especially a modular application server like Glassfish is that you
can leverage other container and services in Glassfish. So one of
the first container/feature that I’m going to try to get into
Jabberwocky is CDI and JPA support. I think these two techologies
from the JavaEE world will really bring a lot of benefits to Jabber

comments powered by Disqus