Che cosa è esattamente Java EE?

Sto facendo Java SE da alcuni anni e passando a Java EE. Tuttavia ho qualche problema a comprendere alcuni aspetti di Java EE.

  1. Java EE è solo una specifica? Quello che voglio dire è: EJB Java EE?

  2. Sono EJB / Spring diverse implementazioni di Java EE?

Mi dispiace chiedere ma ho qualche difficoltà a capire cosa sia Java EE. Qualcuno potrebbe spiegare cos’è Java EE? E EJB?

Java EE è solo una specifica? Quello che voglio dire è: EJB Java EE?

Java EE è davvero una specifica astratta . Qualcuno è aperto a sviluppare e fornire un’implementazione funzionante delle specifiche. Le implementazioni concrete sono i cosiddetti server applicativi, come WildFly , TomEE , GlassFish , Liberty , WebLogic , ecc. Esistono anche contenitori servlet che implementano solo la parte JSP / Servlet dell’enorme API Java EE, come Tomcat , Jetty , eccetera.

Noi, sviluppatori Java EE, dovremmo scrivere codice utilizzando le specifiche (ad es. Importare solo le classi javax.* Nel nostro codice anziché le classi specifiche di implementazione come org.jboss.wildfly.* , org.jboss.wildfly.* com.sun.glassfish.* , Etc) e poi saremo in grado di eseguire il nostro codice su qualsiasi implementazione (quindi, su qualsiasi application server). Se hai familiarità con JDBC, è fondamentalmente lo stesso concetto di come funzionano i driver JDBC. Vedi anche ao In termini più semplici, che cos’è una fabbrica?

Il download dell’SDK Java EE da Oracle.com contiene fondamentalmente il server GlassFish lungo una serie di documentazione ed esempi e facoltativamente anche l’IDE NetBeans. Non ne hai bisogno se desideri un server e / o IDE diversi.

EJB fa parte delle specifiche Java EE. Guarda, è nell’API Java EE . I server applicativi Java EE completi lo supportano, ma i contenitori JSP / Servlet semplici no.

Guarda anche:

  • Dove posso trovare un elenco di tutte le implementazioni di riferimento per Java EE 6?
  • Sviluppo web Java EE, da dove comincio e di quali competenze ho bisogno?
  • Cosa imparare per creare applicazioni Web Java in Java EE 6?

Sono EJB / Spring diverse implementazioni di Java EE?

No, come detto, EJB fa parte di Java EE. Spring è una struttura autonoma che sostituisce e migliora molte parti di Java EE. Spring non richiede necessariamente l’esecuzione di Java EE. Un servlet contenitore barebone come Tomcat è già sufficiente. In poche parole, Spring è un concorrente di Java EE. Ad esempio, “Spring” (standalone) compete con EJB / JTA, Spring MVC compete con JSF / JAX-RS, Spring DI / IoC / AOP compete con CDI, Spring Security compete con JAAS / JASPIC, ecc.

Indietro durante i vecchi tempi J2EE / EJB2, l’API EJB2 è stata terribile da implementare e mantenere. La spring era quindi un’alternativa molto migliore a EJB2. Ma dal momento che EJB3 (Java EE 5), l’API EJB è stata notevolmente migliorata sulla base delle lezioni apprese dalla spring. Dal momento che CDI (Java EE 6), non c’è davvero un motivo per guardare di nuovo un altro framework come Spring per rendere gli sviluppatori più facili da sviluppare tra gli altri il livello di servizio.

Solo quando si utilizza un contenitore servlet barebone come Tomcat e non è ansible passare a un server Java EE, Spring è più interessante in quanto è più semplice installare Spring su Tomcat. Non è ansible installare ad esempio un container EJB om Tomcat senza modificare il server stesso, in pratica si reinventare TomEE.

Guarda anche:

  • Quando è necessario o conveniente utilizzare Spring o EJB3 o tutti insieme?
  • Java EE 6 rispetto allo stack Spring 3
  • Utilizzo di JSF come tecnologia di visualizzazione di Spring MVC

Java Enterprise Edition (Java EE) è una specifica ombrello che fa riferimento a una serie di altre specifiche più dettagliate, di cui Enterprise JavaBeans (EJB) è uno dei più importanti.

Leggi questo – spiega la differenza tra Java EE e Spring

Grazie…

  • Source – Java 2 Platform, Enterprise Edition (J2EE) definisce lo standard per lo sviluppo di applicazioni aziendali multitier basate su componenti. J2EE semplifica la creazione di applicazioni aziendali portatili, scalabili e che si integrano facilmente con applicazioni e dati legacy.

  • Source : la tecnologia EJB (Enterprise JavaBeans) è l’architettura dei componenti lato server per Java Platform, Enterprise Edition (Java EE). La tecnologia EJB consente lo sviluppo rapido e semplificato di applicazioni distribuite, transazionali, protette e portatili basate sulla tecnologia Java.

  • Java EE è solo una specifica? Quello che voglio dire è: EJB Java EE?

    • Java EE è una specifica.

    • EJB è l’architettura dei componenti lato server per Java EE

  • Sono EJB / Spring diverse implementazioni di Java EE?

    • Sia EJB che Spring sono quadri differenti che seguono Java EE.

Per dirla in modo semplice – JavaEE è una piattaforma.

È composto da molte specifiche che sono solo API. Le specifiche implementazioni concrete di queste API sono la cosiddetta ‘Implementazione di riferimento’

  1. EJB è solo una specifica all’interno della piattaforma JavaEE
  2. No, Spring è un framework applicativo che può consentire / supportare il tuo sviluppo di applicazioni JavaEE

EJB è Enterprise Java Beans