IBM WebSphere versus Tomcat TomEE

Interview with Mark Struberg

There are many interesting people in the Java community who are driving development with their involvement in Java Specification Requests (JSRs) and open source projects. I would like to introduce some of them one by one here. This time I spoke to Mark Struberg about his daily work, his duties as a member of the Apache Software Foundation and various Apache projects.

Mark, tell us a little bit about yourself. How did you get into software development and what are you doing today?

Do we really have that much space? Through my big brother I came into contact with my first computer in the early 80s (ZX81, then C64). While the focus was on gaming at the beginning (Spy vs Spy, yeah!), Interest in programming quickly arose. First, of course, with Basic. Bytecode was then later typed out of magazines - often only to be cleared up two issues later that an error had crept in. But that gave me the opportunity to do some assembly language programming myself. "God Save The Queen, 8.1".

Later I had experience with an Atari Mega-ST from a neighbor, but I left out the Amiga completely. At that time I was less concerned with computers and more with discrete electronics (HTL for communications engineering). Then at the end of the 80s I bought a 286 with the money I had earned in two months in a summer job with an electrician and started programming in DOS (who knows what INT 21 is?).

My entry into the software industry was with microcontrollers (8051, Z80 and PIC), for which I created both the circuit board (PCB) and the software for industrial controls. Later on, NeXT (at the Vienna University of Technology), OS / 2 (1.2, 2.0, 3.0), Unix (DEC Alpha, HPUX, AIX, later Linux) in banks, insurance companies, leasing companies etc. as well as native Windows programming were added. I got started with Java in 1996 and since the beginning of 1999 I have been working mainly with Java.

What do you do privately when you are not working in software development?

Even more software :). I have the privilege of enjoying my work. And I live this out in a number of open source projects. And then there is still time for my family, Jiu-Jitsu and a little bass jingling.

Business and open source in harmony

And how do you get your bread rolls?

I am mostly used by companies as a "firefighter" in large Java EE projects. On the one hand, I myself worked on many Java EE parts (CDI specification, OpenWebBeans, TomEE, MyFaces, BVal, Geronimo, OpenJPA etc.) and therefore a lot of experience of how the technologies used there really work. A little more figuratively: So I can not only fly the fat airplane, but I can also explain why the box does not come off the ground.

On the other hand, I can also repair the aircraft myself. For example, I am often booked by companies that use either Apache Tomcat or TomEE or IBM WebSphere. Both use a lot of the open source projects that I myself (in some cases significantly) helped to develop. So the companies pay me for bug fixes and functional enhancements in open source projects that they use productively. And I don't just solve the problems 'somehow', but as an Apache committer I can enter the solution directly in the original source code. This ensures that everything will continue to work in the future. The little time that the companies pay me is offset by the great advantage that the changes take place in the real product and therefore do not have to be maintained by the customer himself in a fork until the very last day. So I have the privilege of being at least partially rewarded for working on my open source projects.

Another aspect of my open source work that should not be underestimated is that I was able to get to know a lot of exceptional talents. You can not only learn a lot from them every day - you can also ask them for advice with acute problems. And this network can quickly save you many man-years of development efforts that have gone wrong, especially in large projects.

Of course, all of the above applies not only to me, but to all technicians who don't just chase after the last hype, but actually use the techniques themselves and are willing to investigate the why. In my opinion, this is the only way to weigh the advantages against the always existing disadvantages of a technology.

Working at Apache

You are also an ASF member, what are your tasks? Do you work on Apache projects all day?

As an ASF member you are a normal committer. So my opinion has no more or less weight in normal ASF projects than that of other committers. But you are also an appointed "club member" and have a valid vote at the annual meetings when it comes to strategic coordination of the entire Foundation.

And yes, I actually work with Apache projects on a daily basis. But I think almost every Java programmer does that, since one or the other Apache project is used in almost every product I know. As an example: Glassfish is based on a Tomcat and uses a large part of the Apache OSGi stack. WebSphere has its own servlet engine, but otherwise uses many parts of Apache. And even at JBoss you can find a lot of them.

Which project are you currently working on most, and what are your most exciting tasks?

My "main projects" are certainly OpenWebBeans, DeltaSpike and TomEE. There are also countless projects where I help out whenever I need something myself for a customer. Apache OpenWebBeans is a CDI container (Context and Dependency Injection, JSR 299, JSR 346, JSR 365), i.e. the "core" of modern Java EE servers. CDI really only provides the core of the functions, but offers many interfaces for flexible expansion. And Apache DeltaSpike is a collection of such portable CDI extensions. Portable means here that DeltaSpike runs on all known Java EE servers. In addition, many features even work in Java SE!

OpenWebBeans is the CDI container of the Java EE server Apache TomEE. So it's not surprising that I was invited as a committer there too.

TomEE is still a fairly young application server. What makes it different from others and where can you find out more about it?

Compared to other Java EE servers, TomEE has an 'inverse' structure. It's a simple Apache Tomcat that has been enhanced with Java EE functions. Accordingly, it is very slim and in terms of administration it feels just like a normal Tomcat. And it's just as fast. You can see that immediately in the size: TomEE has around 30 Mbytes, while 'classic' Java EE servers often require several hundred Mbytes (and that for the same functions).

More information can be found either on our mailing lists or on the documentation page.

Development in the Java EE environment

Can you give us a little glimpse? When will there be a version certified for Java EE 7? Which Java EE 8 features are you currently working on?

TomEE 7 is ready so far. However (due to a legal problem with Oracle) there is currently no Java EE 7 TCK for Apache. But we are currently working with Oracle to resolve this legal problem. The current alpha release is already being used productively by some customers.

With regard to Java EE 8, we are particularly active in the CDI 2.0 implementation with OpenWebBeans. And of course Tomcat 9 is once again very active. So if you want to try HTTP2, you are more than welcome to try tc9.

Do you have any other projects?

Arquillian is a good test approach when it comes to covering a wide variety of scenarios within a test suite (as with DeltaSpike). Personally, I mostly use DeltaSpike TestControl to test business projects. Simply because in a classic customer project I don't have a separate scenario for each test class, but all my tests always go on the entire class path.

Otherwise Wayland and of course Docker.

But there are also many areas that I have no clue about, such as mobile development or JavaScript. There are a lot of interesting projects in this area, but you can't do everything.

Where can you be found if you want to talk to you about your projects?

I can be found almost every day in various IRC channels on (#openwebbeans, #deltaspike, # cdi-dev, #openejb). I also have the Twitter handle @struberg.

Thank you for the interview and have fun and success with your projects.

Thorben Janssen

Thorben Janssen works as a freelance consultant and trainer in the Java EE / MicroProfile environment. He is the author of the book "Hibernate Tips - More than 70 solutions to common hibernate problems".

Read CV ยป