Monday Jan 25, 2016

Migrating from Tomcat to Java EE and TomEE at Dassault Systemes

One of the most important things to do at this stage of the life-cycle of Java EE is highlight successful adoption stories at a regular cadence. We have been doing just that for a long time through our adoption stories blog, this humble blog as well as JavaOne. Indeed JavaOne 2016 was particularly good in this regard. We had a number of solid adoption stories submitted that we could select from. We will highlight all of those stories here in the coming months. A particularly nice adoption story presented at JavaOne 2016 was from Dassault Systemes.

Although the average developer and consumer is probably not aware of Dassault Systemes, it is a company that powers many of the world's most critical industrial processes. It is one of the global leaders in 3D modelling (think CAD/CAM), product life-cycle management systems. Just some companies that rely on Dassault Systemes include the likes of Boeing, Toyota, BMW, Mercedes, Honda, Samsung, Coca Cola, Nokia, Nikon, Panasonic, LG, Procter & Gamble, GE, Johnson & Johnson and Exxon. French based Dassault Systemes is recognized to be one of the most innovative companies in the world. The company offers it's products both on-premise and as SaaS on their own cloud.

The company chose to standardize their very diverse set of products geared towards various industry verticals on Java EE and TomEE. They cited reasons like ensuring consistency throughout a large number of systems, avoiding third-party jar/configuration/class-path hell, providing a fully supported uniform stack, portability and modernizing technology in a managed, sustainable fashion. Their migration experience was quite varied and represents the gamut of what others can expect in adopting Java EE. They migrated a large number of Tomcat based applications using various third-party libraries to Java EE. They also migrated over legacy C/C++ applications as well as legacy J2EE applications. They even ported from one Java EE application server to another to get to a common base with TomEE. TomEE was cited as a particularly easy way to migrating from Tomcat to Java EE. They are looking forward to TomEE moving ahead with Java EE 7 support. The session explains their entire migration story in a concise, clear fashion. You can view the session below (click here if you are having trouble seeing the embedded video).

If you have a similarly great Java EE adoption story to share with the community (particularly migration stories from other technologies), please do feel encouraged to reach out. In the spirit of Java EE centric vendor neutrality, what Java EE implementation or tool set you choose does not matter at all and neither does which part of the globe you are in.

Wednesday Oct 21, 2015

Developers Affirm Strong Support for Java EE 7 in DZone Survey

                    "The reports of my death have been greatly exaggerated."

                                                                                                      – Mark Twain

It sometimes seems like there has been a raging debate on the role of Java EE in server-side Java since the beginning of time. The debate is perhaps just as old and stale as the question of whether Java is finally dead or irrelevant. One of the latest dimensions of this debate has been around adoption of Java EE 7. It is not too surprising then that DZone took up the topic in it's wide ranging 2015 Java Ecosystem Survey. The analysis of the results of that survey will be part of the upcoming 2015 Java Ecosystem Guide to be published during JavaOne. Fortunately DZone shared the results with a selected set of MVBs (Most Valuable Bloggers) including yours truly and gave me permission to share some preview perspectives on the data. As the title of this entry suggests the survey results bode well for Java EE 7 specifically and Java EE generally.

The survey asked a very simple question - "Which of the following Java platforms do you use today?", including various versions of Java EE and some key alternative technologies as mutually inclusive answers (I think the mutually inclusive part is an important reality check towards the aforementioned debate that generally tends to have a tone of mutual exclusion). As the results highlighted shows, almost 39% of developers chose Java EE 7. A total of over 90% responses chose one version of Java EE or the other - well ahead of the other technologies listed. Java EE 7 community support seems to have already edged out the very well regarded Java EE 6 release. These patterns will likely get even stronger with the recent Java EE 7 release of WebSphere Liberty and full commercial support of Java EE 7 through WebLogic and JBoss EAP in the next coming months.

Fortunately we also have interesting past data points to compare in the RebelLab's 2014 Java Tools and Technologies Landscape survey. That survey asked similar but slightly different questions with regards to Java EE. In that survey 68% indicated that they were Java EE users, which is likely a lower rate than in the DZone survey. Most importantly a significantly higher percentage, 49% indicated Java EE 6 usage than Java EE 7 usage that stood at 35%. For clarity this report treated Java EE version usage as mutually exclusive (probably a mostly reasonable assumption). It did not attempt to collate data on Java EE vis-a-vis alternatives. To roughly compare with the DZone report format that means that of total respondents, about 24% reported Java EE 7 usage while 33% reported Java EE 6 usage. All this bodes well for Java EE and Java EE 7. The two surveys taken roughly a year apart indicate higher levels of usage for Java EE overall and strengthening community support behind Java EE 7, even as compared with Java EE 6.

On behalf of the Java EE team here at Oracle it is only correct to thank everyone that indicated their support for Java EE and Java EE 7 in such surveys. Our work is intended to benefit you first and foremost - it is good to see that intent does not get lost in the muddle. As you may be aware we make an effort to highlight your success adopting Java EE in our blogs, JavaOne and through the core Java EE community. It is always a good time to drop us a note to share your story with the broader community.

Wednesday May 14, 2014

Migrating the Spring Pet Clinic to Java EE 7

Since Java EE 6, we have seen a number of folks migrate from the popular Spring Framework to vanilla Java EE, especially in the GlassFish, JBoss and TomEE ecosystems. A small handful of these folks have spoken at JavaOne and we will likely have a few more this year as well - see the embedded slide deck below from JavaOne Rock Stars Bert Ertman and Paul Bakker.

Recently Thomas Wöhlke has taken this further by migrating the entire Spring Pet Clinic example application to Java EE 7 and RichFaces. You can learn more about the effort here. His port works well on both GlassFish and WildFly. Incidentally, the Cargo Tracker Java EE Blue Prints application is also a port of a well known older Spring and native Hibernate application.

Perhaps this is worth a look if you are considering such a migration for your own good reasons? 

Wednesday Oct 03, 2012

JavaOne:, Spring Vs. Java EE and HTML5 tooling, a 2012 Duke's Choice Award winner, is an E-Learning platform that host content from different sources (conferences, JUGs meetings, etc.). There is a lot of technical content available for online but also offline consumption, including many sessions on Java EE. Parleys has just released, for free, all the Devoxx 2011 sessions (video and slides sync'ed!).

From a technical point of view, is interesting as they have switched from Spring to Java EE 6 to avoid being locked in a proprietary framework. During the GlassFish Community BoF, Stephan Janssen ( and Devoxx founder) also presented how GlassFish is used to support 2000 concurrent Parleys users over a cluster of 2 GlassFish instances.

Talking about Java EE and/or Spring, Harshad Oak has posted an update on the 'Spring Vs. Java EE' panel discussion that took place on Tuesday. As Arun said standards such as Java EE does not necessarily refrain innovation: "JBoss Forge & Arquillian from RedHat are great examples of innovation in the JavaEE community. Standardization is important but innovation does continue even within that framework."

Simplicity, productivity along with HTML5 are the driving themes of Java EE 7. In terms of simplicity and productivity, the developer experience can also be improved by the tooling. Every NetBeans release comes with a large set of improvements, the just released NetBeans 7.3 beta is no exception.
The goal of ‘NB 7.3’s Project Easel’ is to improve HTML5 development, something that will be handy for Java EE 7 developers. Project Easel can, for example, communicate directly to Chrome's WebKit engine, this feature was shown during Sunday's Technical Keynote at the end of the Java EE section. In this beta release, Chrome and the embedded JavaFX browser are the only supported browsers but the NetBeans team plan to add support, over time, for other WebKit based browsers.

Today (i.e. Wednesday 3rd) is also the final exhibition day, so make sure to visit the Java EE and the GlassFish pods on the Java DEMOgrounds (Hilton Grand Ballroom, 9:30 am - 5:00 pm).
Finally, here are some Java EE and GlassFish related activities worth attending today if you are at JavaOne :
Wednesday October 3rd
Time Title Location
8:30-9:30am What's New in Servlet 3.1: An Overview Parc 55 Mission
8:30-9:30am Bean Validation 1.1: What's New Under the Hood Parc 55
Cyril Magnin II/III
10:00-11:00am JSR 353: Java API for JSON Processing Parc 55 Mission
10:00-12:00pm Tutorial : Integrating Your Service into the GlassFish PaaS Platform Parc 55 Devisidero
11:30-12:30pm What's New in JSF: A Complete Tour of JSF 2.2 Parc 55
Cyril Magnin I
11:30-12:30pm Best of Both Worlds: Java Persistence with NoSQL and SQL Parc 55 Mission
1:00-2:00pm Sharding Middleware to Achieve Elasticity and High Availability in the Cloud Parc 55
Market Street
1:00-2:00pm Pimp My RESTful Java Applications Parc 55
Cyril Magnin I
3:00-4:00pm Migrating Spring to Java EE Parc 55
Cyril Magnin II/III
4:30-5:30pm JavaEE.Next(): Java EE 7, 8, and Beyond Parc 55
Cyril Magnin II/III
4:30-5:30pm HTML5 WebSocket and Java Parc 55
Cyril Magnin I
4:30-5:30pm Easy Middleware for Your Embedded Device Nikko Ballroom II/III

Tuesday Jun 05, 2012

Bert Ertman and Paul Bakker on Spring to Java EE 6 Migration Podcast

NLJUG leader and Java Champion Bert Ertman and Paul Bakker talk about migrating Spring applications to Java EE 6 in the latest issue of Java Spotlight Podcast, episode #85.

Bert and Paul talk about how to migrate your legacy Spring applications to use modern and lightweight Java EE 6 in five steps.

Bert Ertman Paul Bakker

The complete podcast is always fun but feel free to jump to 3:49 minutes into the show if you're in a hurry. They authored a series of article on the exact same topic starting here.

There is an extensive set of articles available that help you migrate from Spring to Java EE 6.

Subscribe to the podcast for future content.

Wednesday Apr 25, 2012

Spring to Java EE 6 Articles

David Heffelfinger's 4-part article series on Spring to Java EE 6 migration published the last part. The part 1, part 2 and part 3 takes a sample Spring application and builds it using java EE 6. It even compares the generated WAR files and LoC in XML configuration in the two environments.


Here are some other blogs/articles that cover the topic:

What are you reasons for migrating from Spring to Java EE 6 ? Let us know.

Thursday Mar 29, 2012

Migrating Spring to Java EE 6 Article Series at OTN - Part 3

The spring season is characterized by migration of birds, whales, butterflies, frogs, and other animals for different reasons. If you use Spring framework and are interested in migrating to a standards-based Java EE platform, for whatever reason, then we have a solution for you.


David Heffelfinger's, a renowned author and an ardent Java EE fan, has published third part of Spring to Java EE migration series at OTN. The article series takes a typical Spring application and shows how to migrate it to Java EE 6 using NetBeans.

This new part builds upon part 1 and part 2 and also compares the generated WAR files and LoC in XML configuration in the two environments. There is an interesting discussion on Why Java EE 6 over Spring ? as well.

Friday Nov 04, 2011

Tab Sweep - Jersey, Hudson, GlassFish Hosting, GC's compared, Spring to JavaEE, Modularity, ...

Recent Tips and News on Java, Java EE 6, GlassFish & more :

Radio Receiver

Jersey 1.10 released (Jakub)
The Hudson Book (
Comparing Java 7 Garbage Collectors Under Extreme Load (Nerds Central)
GlassFish Hosting (Enciva)
Spring to Java EE Migration, Part 1 (OTN)
ASM 4.0 released (OW2)
Adopt A JSR! (The Java Source)
Early signs of EJB 3.2 (GlassFish source)
Practical challenges of profiler integration with Java/J2EE applications (TheServerSide)
LOGBack 1.0 (
55 New Things in Java 7 (DonaldOJDK Blog)
Java 8 and OSGi modularization (Neil and Tim)

Saturday Oct 15, 2011

Tab sweep - Mostly Java EE 6

Recent Tips and News on Java EE 6 & GlassFish:

Radio Receiver

What's new in Java EE 6 (Antonio)
Java EE Web Services @ minuteproject (
Java EE 6 and the Spring Framework (WebSphere Community Blog)
Best practices migrating from Spring to Java EE 6 (JavaOne Session 24423)
The Heroes of Java: Fabiane Bizinella Nardon (from Markus' Series)
TechCast Live - Mike Lehman Interview (OTN Live)

Saturday Oct 09, 2010

GlassFish Tips and Links #11: CDI, EJB 3.1, Spring, HTML5, Maven, JCP, Forks...

Recent Tips and News on Java EE 6 & GlassFish:

Informational Sign


TOTD #145: CDI Events - a light-weight producer/consumer in Java EE 6
Enterprise JavaBeans 3.1 with Contexts and Dependency Injection: The Perfect Synergy
Spring to Java EE – A Migration Experience
Problem with Grails on Glassfish v3?
Web Sockets and HTML5 in Glassfish
Book Review: Java EE 6 with GlassFish 3 Application Server

Links and News

• Maven 3 has been released: Sonatype, InfoQ
• GlassFish as Best Practices in Software Development (Johan)
• TSS Thread: Moving from Spring to Java EE 6: The Age of Frameworks is Over
GlassFish jobs at crosses 780 Flower NFA Update (Using GlassFish)
Proposed Maven Artifact Naming and Versioning for JavaEE
• Standards are Good for You: JBoss 6 Moving Towards JavaEE 6 with M5


Java2Days 2010; Reports: Arun, Ivan: d1 & d2, Alexis.
Hudson User meetup in Tokyo (Nov 12th)
Silicon Valley Code Camp
• eBIG SIG: JavaEE 6 = Less Code + More Power (Oct 20th)
JavaOne Brazil (Dec 7th thru 9th)

Recent Sites Seen Running on GlassFish

• HPCSense uses GlassFish - twitter
ParaFarmacia, Mas Barata - Netcraft

JCP News and Future of Java

Now OPEN -- Nominations for EC seats
• TSS Thread: The Future of Java: forking, death, or stasis
• More Forking Opinions: Sacha and Greg.
• Java.Net Poll: Free Java? Closed Java? Evolving JCP? What's the Most Likely Path?

Thursday Oct 07, 2010

Encuesta: ¿JavaEE o Spring?

La encuesta actual de JavaHispano es: ¿Qué plataforma empleas principalmente para tus aplicaciones de servidor? con las siguientes opciones: JavaEE sin EJBs, JavaEE, Spring, o ninguna. Si estais interesados en dar vuestra opinión, seguid el link.

El resultado actual es: Spring 77, JavaEE sin EJB 74, JavaEE 72... más o menos, a ojo.

Tuesday Oct 06, 2009

Java Frameworks with GlassFish and NetBeans - GWT, JSF, Grails, Wicket, Struts

I had forgotten how many frameworks are covered in the NetBeans set of quickstart documents; check out the list:


Introduction to Developing Web Applications
Introduction to the Spring Framework
Introduction to the JavaServer Faces Framework
Introduction to the Struts Web Framework
Introduction to the Grails Web Framework
Introduction to the Wicket Web Framework

GlassFish v3 is scheduled to go final at the end of November and the builds are stabilizing quickly. Our test suites are very exhaustive but the only way to be sure that the final artifacts work for you is if you try them in your specific configuration. I was looking through the list and it made me think that FishCAT for GF v3 just completed its first week (See Judy's mail and report) and that team filed more than 20 bugs and more than half have already been fixed. so...

If you use one of the Java Frameworks, or your favorite app or framework, with the latest GF v3 builds and find issues, help us, and the rest of the community, by filing a bug. Thanks!