Twenty-four years ago, in May of 1996, Sun Microsystems announced that they were developing the server-side equivalent to the Java applet, the Java Servlet. Since then, the Servlet API has maintained a prominent position in the enterprise Java ecosystem.
Read More
As a support company for TomEE and other projects, we get lots of questions from our clients some technical and others architectural. One that we hear from time to time is, “What is the difference between the different TomEE distributions?” This blog will answer that question. The TomEE project has been evolving for twenty years. It has, at its foundation, always been about adding Jakarta EE Web Profile (formerly Java EE) technologies to a complete Apache Tomcat distribution. The use of Tomcat in conjunction with TomEE is explained in more detail in this blog post. A visual guide to TomEE…
Read More
Twenty Years and Counting Twenty years ago this month, David Blevins and I started OpenEJB, the open source project which was the foundation of Apache TomEE. It was an exciting time for David and me as neither of us had a lot of experience in open source. I left the project in 2004, but David stuck with it, and for that I'm grateful. OpenEJB became a central part of TomEE several years ago, and it's through TomEE that we continue to support open-source Jakarta EE. Why TomEE for the Holidays? We want everyone to experience the kind of joy and…
Read More
Our support customers will sometimes ask, "What is the difference between Tomcat and TomEE," but that’s not really the right question. It’s like asking which is better “Omelets or Eggs” or “JSP or Servlets”. You can’t have the first one without the second. TomEE is Tomcat Plus It’s easier to think of TomEE as the same thing as Tomcat plus some bells and whistles, because TomEE is built on top of Tomcat. Specifically, TomEE 8 is the complete Tomcat 9 distribution plus Jakarta EE 8 (formerly Java EE 8) specific APIs. Tomcat is a powerful and hugely popular Java web…
Read More
A question that comes up frequently in the TomEE community and with Tomitribe’s support customers is “How do I configure a JDBC driver?” There are a number of ways to do this, but I’m going to talk about the two most common methods. You can configure a JDBC driver for the entire TomEE application server or for a specific webapp. Regardless of which way you choose to do it, the configuration syntax is the same. NOTE: You can also configure a JDBC DataSource directly within an @Resource annotation but this is not recommended and is not covered here. See the…
Read More
If you are looking for the fastest way to download, install, and run TomEE with or without webapps, then look no further! This blog post shows how to use the TomEE Maven Plugin to easily install and run TomEE and webapps with a single command. Clean TomEE Install The TomEE Maven Plugin will download, install, and run TomEE with a single Maven command: $ mvn tomee:run Just copy the pom.xml file below - (you can also get it from GitHub) - then run the command above and the TomEE Maven Plugin will download, install, and run a clean installation of…
Read More
This tutorial shows how to use Jakarta JSON Binding to deserialize JSON data into Java POJOs and to serialize Java POJOs into JSON data. The Jakarta JSON Binding provider used is Apache Johnzon To get started you will need to clone the jsonb-basic-tutorial project on GitHub. Create a directory on your Desktop or somewhere and execute the following Git command. git clone https://github.com/tomitribe/jsonb-basic-tutorial.git Assuming you have Maven installed your next step is to go into the new jsonb-basic-tutorial directory and execute the Maven install command mvn install The jsonb-basic-tutorial uses mock JSON data from Mockaroo.com. The JSON data is stored…
Read More
Tomitribe supports many organizations that use Message-Driven Beans in production with TomEE. This post is derived from experience working with those organizations to improve their system performance and software architecture. Previously we published a MDB tutorial followed by a deeper dive in the article "MBD-to-MDB Messaging: Harness the Power of the River Delta". This week we'll provide an illustrated example of how MDBs can work together to create flexible and powerful messaging system. JMS The Java Messaging Service (JMS) is a standard for sending messages between clients using a messaging broker. The concepts behind JMS, queues, and topics are explained…
Read More
Tomitribe supports many of organizations that use ActiveMQ, JMS, and Message-Driven Beans in production with TomEE. This post is derived from experience working with those organizations to improve their system performance and software architecture. The idea behind yesterday's MDB tutorial was to divide up the work of spidering a web page among three different MDBs each with a specific purpose. This division of labor is an important concept in messaging in general and MDBs in particular. This article shows how MDBs can communicate with outside applications as well as other MDBs in a Java EE application server. This latter capability,…
Read More
Tomitribe supports many of organizations that use ActiveMQ, JMS, and Message-Driven Beans in production with TomEE. This post is derived from experience working with those organizations to improve their system performance and software architecture. When you have finished the tutorial you may be interested in a deeper discussion of what the tutorial is designed to teach you about MDBs. For that, proceed to "MBD-to-MDB Messaging: Harness the Power of the River Delta" which explains how MDBs can be used to create a river delta-like architecture. The tutorial contains three MDBs and one stand-alone JMS client. The purpose of the system…
Read More