GlassFish v3 release
A few minutes ago, GlassFish v3was released. When I first talked about
GlassFish v3 in this blog entry, I considered it a revolution rather than
an evolution. Today, I still believe GlassFish v3 is more than just the
numerical successor to GlassFish v2.
First of all, GlassFishv3 is the reference implementation of the Java EE 6
Compared with Java EE 5, this specification is a next step towards
simplification in enterprise development. The voice of the enterprise
developers has been heard.
Personally, I am very happy with the JSR 311 (Java API for RESTful
Web Services) and the EJB 3.1 spec. One of the major
benefits of JSR 311 is that it facilitates mobile applications instead
of just Web Applications. A decoupling of business logic and front-end
development at the REST interface offers lots of possibilities.
It took awhile before I realized the real benefits of EJB 3.1. But
once I started using a NetBeans 6.8 milestone, it became clear that
the enhancements are significant. We don't have to package an ejb-jar and
a war together in an ear anymore, everything can be in one package
(with the confusing name "war", though).
GlassFish v3 is completely Open Source. I have the head-version of the
repository on my desktop, and it is not too difficult to build and
install it yourself.
The simple fact that software is Open Source itself does not say anything
about its quality. But in the GlassFish case, the code is very well
written and documented, and I was often surprised how easy it is to
dive into the code of this complex piece of software.
Having access and being able to understand the source code is something
that speeds up development. In a number of cases, your application is
not behaving the way you want it, and you assume that this is a bug
or some strange feature in the application server. You can spend lots of
time trying to find out the cause without looking into the
application server --- and that is how it goes most often.
But you can also look into the relevant code of the Application Server
and try to find out what is causing the problem. When the code is
available and readable, this process can save developers time.
One of the major changes in GlassFish v3 is the modular approach.
The old lib-directory has been replaced by a modules directory.
Modules can be installed and uninstalled easily. The Glassfish kernel
itself is very small. As a consequence, the kernel itself is also
usable in environments with limited resources -- desktop and even
mobile. Today, most modules are still enterprise focussed, but the
GlassFish modularity can be a next step towards convergence between
enterprise and mobile software. Enterprise software is becoming
simpler, and mobile devices are becoming more powerful. Software
patterns and technologies that are typically used in one
environment may also work (or be adapted) in another environment.
I assume GlassFish v3 will be primarily used in the same areas where
GlassFish v2 and other Application Servers are used. But in the
future, I think GlassFish can extend its marketing potential into
new areas, especially when modularity is required and when resources
are still somehow limited, preventing typical big application
servers from being used.
written on 15:16.