To be honest I never liked Java very much. For fat clients to ugly and for web applications to complicated. Too much specifications, ...Intf and ...Impl and therefore very difficult to read, implement and maintain (my opinion).

We started our project with Tomcat, GWT and what looked like a ton of different frameworks. I tried a few times to get into the code but every time I failed and decided to stay with my other projects. To push up my skills I read some books and went to a "Airport Hacking"-Workshop of +Adam Bien. That was really great stuff and I didn't understand why we couldn't use Java EE. We evaluated the usual open source servers which were available at that point but they all had too much overhead for our application.

Shortly after the release of TomEE 1.0 one of our programmers took a look into it and tried to migrate the project. The farther he went the greater was his enthusiasm. "This is so easy!". "I can make a bean out of this and inject it every where I need it". "I got rid of almost all interfaces". "The admin masks with JSF can be done so fast" 

What should I say? After (almost) everything was migrated I started to take a closer look at the new implementation and got a really fast entry. The code is much leaner and the application much faster and more stable. The communication between the different modules is easier and there is no overhead at all.

We moved almost every setting from different xml files to the ldap server and implemented the needed editors with jsf (what always took a great amount of time with GWT) very quickly. We can define data sources on the fly and activate them immediately via the JdbcManager. The operation team is very happy that there are no more server restarts needed after the change of internal settings. With the JMX beans we can easily display the main internal states within our application.

The switch to TomEE was the best decision we made this year. After a short time the efforts for the migration have paid off. We're really looking forward to the 1.5 release.
Shared publiclyView activity