I know EE is based on SE, but where is the line drawn when an app transitions from being SE to EE?

Let me be specific. Let's say you create a console-based application then decide to add web socket listeners for incoming requests (i.e. chat app). You add Tomcat or Wildfly to serve .jsp pages. You have not used any frameworks and coded your own implementation of web socket listener. You did not use EJB or any frameworks. Let's say you used one library from EE like Hibernate JPA library to store these chat messages in a database. Did your Java SE application just become a Java EE application because it is now web-based?

The Java platform (Enterprise Edition) differs from the Java Standard Edition Platform 
(Java SE) in that it adds libraries which provide functionality to deploy fault-tolerant, 
distributed, multi-tier Java software, 
based largely on modular components running on an application server.

TL;DR: At what exact point does a Java SE application become a Java EE application? What exactly is the threshold? Is it just the use of a framework, like Jakarta, Spring, or Quarkus?

  • See stackoverflow.com/a/2857791 – Rik D Apr 4 at 22:22
  • When you move inside a webcontainer. – Thorbjørn Ravn Andersen Apr 4 at 22:44
  • 1
    There is not a black-and-white distinction. Java EE, now called Jakarta EE, is a set of API specifications. You can write programs that use none, or a few, or many of the Java EE APIs. When would you call the application a "Java EE application"? Like colors: when you mix blue and green in different proportions, when do you stop calling the color "blue" and start calling it "green"? It's arbitrary and up to opinions. – Jesper Apr 5 at 12:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.