Was genau ist Java EE?

Ich mache jetzt seit einigen Jahren Java SE und mache mit Java EE weiter. Allerdings habe ich einige Probleme, einige Aspekte von Java EE zu verstehen.

  1. Ist Java EE nur eine Spezifikation? Was ich meine ist: Ist EJB Java EE?

  2. Sind EJB / Spring verschiedene Implementierungen von Java EE?

Es tut mir leid zu fragen, aber ich habe einige Schwierigkeiten zu verstehen, was Java EE ist. Könnte jemand erklären, was Java EE ist? Und EJB?

Ist Java EE nur eine Spezifikation? Was ich meine ist: Ist EJB Java EE?

Java EE ist in der Tat eine abstrakte Spezifikation. Jeder ist offen für die Entwicklung und Bereitstellung einer funktionierenden Implementierung der Spezifikation. Die konkreten Implementierungen sind die sogenannten Application Server, wie WildFly , TomEE , GlassFish , Liberty , WebLogic , etc. Es gibt auch Servlet-Container, die nur den JSP / Servlet-Teil der riesigen Java EE API wie Tomcat , Jetty , etc.

Wir, Java EE-Entwickler, sollten Code unter Verwendung der Spezifikation schreiben (dh importieren Sie nur javax.* classn in unserem Code anstelle von implementierungsspezifischen classn wie org.jboss.wildfly.* , org.jboss.wildfly.* ) und dann Wir können unseren Code auf jeder Implementierung (also auf jedem Anwendungsserver) ausführen. Wenn Sie mit JDBC vertraut sind, ist es im Grunde das gleiche Konzept wie JDBC-Treiber arbeiten. Siehe auch ao Was ist eine Fabrik?

Der Java EE SDK Download von Oracle.com enthält im Grunde genommen den GlassFish Server mit einer Reihe von Dokumentationen und Beispielen und optional auch die NetBeans IDE. Sie brauchen es nicht, wenn Sie einen anderen Server und / oder IDE möchten.

EJB ist Teil der Java EE-Spezifikation. Schau, es ist in der Java EE API . Vollwertige Java EE-Anwendungsserver unterstützen dies, aber einfache JSP / Servlet-Container nicht.

Siehe auch:

  • Wo finde ich eine Liste aller Referenzimplementierungen für Java EE 6?
  • Java EE Webentwicklung, wo beginne ich und welche Fähigkeiten brauche ich?
  • Was lernen Sie, um Java-Webanwendungen in Java EE 6 zu erstellen?

Sind EJB / Spring verschiedene Implementierungen von Java EE?

Nein, wie gesagt, EJB ist Teil von Java EE. Spring ist ein eigenständiges Framework, das viele Teile von Java EE ersetzt und verbessert. Spring muss Java EE nicht unbedingt ausführen. Ein Barebones Servletcontainer wie Tomcat reicht bereits aus. Kurz gesagt, Spring ist ein Konkurrent von Java EE. ZB “Frühling” (Standalone) konkurriert EJB / JTA, Spring MVC konkurriert JSF / JAX-RS, Frühling DI / IoC / AOP konkurriert CDI, Spring Security konkurriert JAAS / JASPIC, etc.

Während der alten J2EE / EJB2-Zeiten war die EJB2-API schrecklich zu implementieren und zu warten. Der Frühling war dann eine viel bessere Alternative zu EJB2. Aber seit EJB3 (Java EE 5) wurde die EJB-API aufgrund von Lektionen aus Spring stark verbessert. Seit CDI (Java EE 6) gibt es keinen Grund mehr, sich erneut mit einem anderen Framework wie Spring zu beschäftigen, um den Entwicklern die Entwicklung der Serviceebene zu erleichtern.

Nur wenn Sie einen Barebones-Servletcontainer wie Tomcat verwenden und nicht auf einen Java EE-Server wechseln können, ist Spring attraktiver, da Spring auf Tomcat einfacher zu installieren ist. Es ist nicht möglich, zB einen EJB-Container über Tomcat zu installieren, ohne den Server selbst zu modifizieren, Sie würden TomEE grundsätzlich neu erfinden.

Siehe auch:

  • Wann ist es notwendig oder bequem, Spring oder EJB3 oder alle zusammen zu verwenden?
  • Java EE 6 vs. Spring 3-Stack
  • Verwenden von JSF als Ansichtstechnologie von Spring MVC

Java Enterprise Edition (Java EE) ist eine übergreifende Spezifikation, die auf eine Reihe weiterer detaillierter Spezifikationen verweist, von denen Enterprise JavaBeans (EJB) eine der wichtigsten ist.

Lesen Sie dies – es erklärt den Unterschied zwischen Java EE und Spring

Vielen Dank…

  • Quelle – Java 2 Platform, Enterprise Edition (J2EE) definiert den Standard für die Entwicklung komponentenbasierter Multi-Tier-Unternehmensanwendungen. J2EE vereinfacht die Erstellung von Unternehmensanwendungen, die portabel und skalierbar sind und sich problemlos in Legacy-Anwendungen und -Daten integrieren lassen.

  • Source – Enterprise JavaBeans (EJB) -Technologie ist die serverseitige Komponentenarchitektur für Java Platform, Enterprise Edition (Java EE). Die EJB-Technologie ermöglicht eine schnelle und vereinfachte Entwicklung verteilter, transaktionaler, sicherer und portabler Anwendungen, die auf Java-Technologie basieren.

  • Ist Java EE nur eine Spezifikation? Was ich meine ist: Ist EJB Java EE?

    • Java EE ist eine Spezifikation.

    • EJB ist eine serverseitige Komponentenarchitektur für Java EE

  • Sind EJB / Spring verschiedene Implementierungen von Java EE?

    • Sowohl EJB als auch Spring sind unterschiedliche Frameworks, die Java EE folgen.

Um es einfach zu sagen: JavaEE ist eine Plattform.

Es besteht aus vielen Spezifikationen, die nur APIs sind. Die konkreten Implementierungen dieser APIs sind die so genannte “Referenzimplementierung”.

  1. EJB ist nur eine Spezifikation innerhalb der JavaEE-Plattform
  2. Nein, Spring ist ein Anwendungsframework, mit dem Sie JavaEE-Anwendungen entwickeln können

EJB ist Enterprise Java Beans