Apakah Java EE hanya spesifikasi? Apa yang saya maksud adalah: Apakah EJB Java EE?
Java EE memang spesifikasi abstrak . Siapa pun terbuka untuk mengembangkan dan menyediakan implementasi spesifikasi kerja. The beton implementasi yang disebut server aplikasi, seperti WildFly , TomEE , GlassFish , Liberty , WebLogic , dll Ada juga wadah servlet yang mengimplementasikan hanya JSP / Servlet bagian dari API Java EE besar, seperti Tomcat , Jetty , dll.
Kami, Java EE pengembang, harus menulis kode menggunakan spesifikasi (yaitu mengimpor hanya javax.*
kelas dalam kode kita bukan kelas khusus implementasi seperti org.jboss.wildfly.*
, com.sun.glassfish.*
, dll) dan kemudian kita akan dapat menjalankan kode kami pada pelaksanaan apapun (dengan demikian, pada setiap server aplikasi). Jika Anda terbiasa dengan JDBC, pada dasarnya konsepnya sama dengan cara kerja driver JDBC. Lihat juga ao. Secara sederhana, apa itu pabrik?
The Java EE SDK Download dari Oracle.com pada dasarnya berisi server GlassFish bersama sekelompok dokumentasi dan contoh dan opsional juga NetBeans IDE. Anda tidak memerlukannya jika Anda menginginkan server dan / atau IDE yang berbeda.
EJB adalah bagian dari spesifikasi Java EE. Lihat, itu ada di Java EE API . Server aplikasi Java EE yang lengkap mendukungnya, tetapi kontainer JSP / Servlet sederhana tidak.
Lihat juga:
Apakah EJB / Spring implementasi yang berbeda dari Java EE?
Tidak, seperti yang dikatakan, EJB adalah bagian dari Java EE. Spring adalah kerangka kerja mandiri yang menggantikan dan meningkatkan banyak bagian Java EE. Spring tidak selalu membutuhkan Java EE untuk dijalankan. Wadah servlet tanpa tulang seperti Tomcat sudah cukup. Sederhananya, Spring adalah pesaing Java EE. Misalnya "Spring" (mandiri) bersaing EJB / JTA, Spring MVC bersaing JSF / JAX-RS, Spring DI / IoC / AOP bersaing CDI, Spring Security bersaing JAAS / JASPIC, dll.
Kembali selama masa J2EE / EJB2 lama, API EJB2 mengerikan untuk diimplementasikan dan dipelihara. Musim semi adalah alternatif yang jauh lebih baik untuk EJB2. Tetapi sejak EJB3 (Java EE 5), API EJB jauh lebih baik berdasarkan pelajaran yang dipetik dari Spring. Sejak CDI (Java EE 6), sebenarnya tidak ada alasan untuk melihat lagi kerangka kerja lain seperti Spring untuk membuat pengembang lebih mudah untuk mengembangkan antara lain lapisan layanan.
Hanya ketika Anda menggunakan wadah servlet tanpa tulang seperti Tomcat dan tidak dapat beralih ke server Java EE, maka Spring lebih menarik karena lebih mudah untuk menginstal Spring pada Tomcat. Tidak mungkin menginstal misalnya wadah EJB di Tomcat tanpa memodifikasi server itu sendiri, Anda pada dasarnya akan menciptakan kembali TomEE.
Lihat juga: