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.
Arun Gupta is a Java EE & GlassFish Evangelist working at Oracle. Arun has over 14 years of experience in software industry working in various distributed computing technologies, Java(TM) platform, and several web-related technologies. In his current role, he works very closely to create and foster the community around Java EE, GlassFish, and related technologies. He has participated in several standard bodies and worked amicably with members from other companies. He has been with the Java EE team since its inception and since then he has contributed to all Java EE releases. He is a prolific blogger at http://blogs.sun.com/arungupta. This blog has over 1000 blog entries with frequent visitors from all over the world reaching upto 25,000 hits a day. He has extensive world-wide speaking experience on multiple technologies.
JAX London 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 3.1.
JAXenter: What did Java EE 6 mean for developers working with EJBs?
Arun: There are several improvements in EJB 3.1 for developers:
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 GlassFish.
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 developer?
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 application.
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.