JAX London Java EE Day
Take a look at how Java EE and the surrounding ecosystem is simplifying your development and deployment experience for enterprise Java applications.
2011 will take place next month, with tracks dedicated to a
range of Java technologies, including Spring, OSGi and Agile. We
will also run a track dedicated to Java EE, which will offer
sessions ranging from EJB 3.1, to GlassFish, and even a session on
running Java EE technologies within GAE. To give us an insight into
what we can expect from JAX London’s Java EE track, JAXenter spoke
to track moderator Arun Gupta.
JAXenter: You are moderating the Java EE track
at this year’s Jax London. What are the current hot topics in Java
EE, and how are these reflected in the Jax London Java EE day?
Arun Gupta: Java EE 6 was announced over a year
ago and is receiving great reviews from every where. Ease-of-use,
simplicity, light-weight, and extensibility are some of the core
design principles in this version. The new specifications like
Contexts & Dependency Injection (CDI) provides a
standards-based and typesafe way to do dependency injection in your
applications making similar proprietary frameworks redundant.
JAX-RS is now incorporated as part of the platform. Java Server
Faces (JSF), Enterprise Java Beans (EJB), Servlets, and Java
Persistence API (JPA) have gone through extreme simplification
allowing you to focus on business logic and the application server
runtime doing most of the work.
Java EE track at JAX London has 5 sessions and talks on several
of these technologies including CDI, EJB, and JPA2. There is even a
session on how to run these technologies within the restricted
environment of GAE. And finally there is a session that talks about
the deployment aspects of Java EE 6 applications using GlassFish
JAXenter: What did Java EE 6 mean for
developers working with EJBs?
Arun: There are several improvements in EJB 3.1
1) Simplified packaging in the WAR file, no more deployment
descriptors, and single class per EJB makes EJB a very compelling
offering for doing all your secure and transactional business logic
easily in a WAR file.
2). @Schedule annotation on a method create timers using
intuitive cron-like syntax.
3). EJBs can also be used as the backing beans for JSF pages and
there by bridging the gap between web and transactional tiers.
4). Asynchronous sessions beans allows to return the response to
the client asynchronously.
5). Portable global JNDI name provides a standard JNDI for the
EJB in an archive across all Java EE 6 application servers.
6) Embeddable EJB container simplifies the testing of your EJBs
without the need to start an external server.
If you looked at J2EE 1.4 or Java EE 5, take a second look at
EJB – they are now really simple to use and gives you all the
agility and power combined together.
JAXenter: You will also present a session on
the recently-released GlassFish 3.1. What new features can
GlassFish 3.1 offer developers working with Java EE 6 apps?
Arun: Oracle GlassFish Server 3.1 was released
on Feb 28th 2011 and provides the first commercially available Java
EE 6 Web Profile and Full Platform compliant application server
with Clustering and High Availability capabilities.
There are several features that are very helpful for developers
and introduced exclusively in GlassFish 3.1:
1) Developers can create multiple clusters per domain and
multiple instances per cluster with up to 100 instances per domain
using the web-based Admin Console or the CLI. The HTTP, EJB, IIOP,
SSO, and Web Services Reliable Messaging and Secure Conversation
session states are replicated evenly in the cluster.
2) 29% better startup/deploy/redeploy capabilities and 33%
better High Availability performance over earlier versions of
3) OSGi and Java EE hybrid applications allow to leverage the
benefits of OSGi modularity and Java EE programming model giving
the best of both worlds.
4) All the administration, management, and monitoring data is
exposed as RESTful Web services. The web-based admin console uses
the same RESTful backend and so you can use the same set of APIs to
integrate similar capabilities in your toolkits or IDEs.
5) Application-scoped resources allow you to specify the
resources, such as JDBC Resource, to be created as part of the
application deployment. This obviates the need to have an external
deployment script and makes the application portable across
multiple GlassFish instances.
6) Multiple versions of an application can be concurrently
deployed allowing to change between different versions in a matter
of a few seconds.
There are many more features and I recommend you to attend my
talk “GlassFish 3.1 -Simplifying your Java EE 6 development &
deployment” to learn all the details.
All these features mentioned above are also available in the
GlassFish Open Source Edition.
JAXenter: The Jax London Java EE program also
touches upon ShrinkWrap, Arquillian and EclipseLink. In your
opinion, what makes these technologies important for the Java EE
Arun: EclipseLink is the Reference
Implementation for JPA 2.0 but provides many other valuable
features above & beyond the specification such as clustered
caching typically required in deployment of a Java EE
Arquillian allows to test Java EE applications in a container
independent way. So you can write your Java EE 6 applications and
test them in GlassFish or JBoss. ShrinkWrap is an API for packaging
several Java EE archives and is the deployment mechanism of
Arquillian. Using them together, you can write your Java EE
application and test on multiple containers easily.
JAXenter: What can attendees hope to gain from
attending the Java EE day?
Arun: Take a look at how Java EE and the
surrounding ecosystem is simplifying your development and
deployment experience for enterprise Java applications. Write a
standards-based application using a variety of IDEs and keep your
choice for deployment open.