What is Java EE?


I am studying Java SE for use in the web. I just can't figure out what the Enterprise Edition is. C SE is all clear - a set of different libraries that come with Java, a compiler there, and everything like that.

But Java EE is a bit of a mystery. Wikipedia says that Java EE is Java SE with very good specs, scalability, and all that stuff. But what does it really mean ? Does SE have a bad specification ?

In the description "for Dummies" It is said that Java EE is Java SE with dynamically changing libraries. How's that? If there is an update in mind, then there is Maven and all that on SE, why then EE ?

It is also often said that Java EE is needed for server development. But why ? Servlets can be riveted on Java SE without any problems. To use the backend server, you can use the Jetty library. And all this is SE...

Personally, I still do not understand what is happening in the world of Java EE. Can someone bring use case or write how EE can really help ?

Author: faoxis, 2016-08-01

2 answers

Something you read wrong in wikipedia, or misunderstood. Wikipedia does not say that Java EE is Java SE.

Java EE-a set of specifications and related documentation for the Java language, describing the architecture of the server platform for the tasks of medium and large enterprises. https://ru.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition

Yes, if you write the server in Jetty, it will not be Java EE (it will be Java EE starting from the 7th version of Jetty). But Java EE is not just servlets, it includes JSP, EJB, CDI, JPA, and a bunch of other specifications (see the wikipedia link).

In practice, J2EE is a basic set of interfaces/classes/annotations, and already implementations are provided by application servers-WildFly, GlassFish, WebSphere, and others.

Does SE have a bad specification ?

Not bad, these are different specifications.

The description "for dummies" says that Java EE is Java SE with dynamically changing parameters. libraries.

Nonsense.

But why ? Servlets can be riveted on Java SE without any problems. To use the backend server, you can use the Jetty library.

Jetty is a servlet container, it is roughly speaking an implementation of the J2EE part (from the 7th version it supports the Servlet 2.5 API, from the 8th 3.0). Just like, for example, Weld is one of the CDI implementations. You can use it all separately, you can use it all together. You can take N J2EE technologies and link them independently, you will get a crooked-crooked application server. Although it is better to take a ready-made one )

And all this is SE...

And Jetty is SE, and other frameworks are SE, and half of the Java classes are also SE. If you want, you can write everything from scratch.

Personally, I still do not understand what is happening in the world of Java EE.

I advise you to read from and to at least one book on J2EE.

Can someone give an example use or write how EE can really help ?

Each specification from J2EE helps you in some way, you can use them individually or in a complex, depending on your tasks. For example: CDI-convenient dependency injection, no need to write a bunch of extra code or modules for Guice, JPA-convenient work with the database at the object level, EJB-convenient writing of business logic, JAX-WS - support for web services, servlets - processing HTTP requests, etc. Let one programmer can use only Java SE, and the second Java EE, and see how much they will solve some problem related to the web.

 32
Author: Russtam, 2016-08-01 21:23:02

Java EE-built on the Java SE platform and provides a set of technologies for developing and running portable, error-resistant, scalable, reliable, and secure server applications.

But about the difference between Java EE and J2EE, you can read here: http://www.oracle.com/technetwork/java/javaee/javaee-faq-jsp-135209.html#diff

Well, actually for more depth in Java SE - you can study the scheme, this is to understand the technology and the work of the virtual machine. machines: http://www.oracle.com/technetwork/java/javase/tech/index.html

 5
Author: And, 2016-08-02 05:50:32