Saya belum menggunakan JavaEE6.
Namun, saya telah dipukuli cukup parah oleh semua versi JavaEE dan EJB sebelumnya sehingga saya tidak akan mempercayainya sampai ia menetapkan dirinya sebagai standar de facto, bukan hanya standar de jure. Saat ini, Musim Semi masih menjadi standar de facto.
Menipuku sekali, malu padamu. Menipu saya dua kali, saya malu. Menipu saya tiga kali, EJB.
Beberapa orang akan mengklaim bahwa Spring adalah hak milik. Saya berpendapat bahwa implementasi vendor dari spesifikasi JavaEE telah menjadi hak milik, jika tidak lebih.
Saya mengalami konversi besar baru-baru ini untuk memindahkan sekelompok Aplikasi Java dari JBoss ke Weblogic. Semua aplikasi Spring / Hibernate di-porting tanpa modifikasi, karena mereka memiliki semua library yang mereka butuhkan di dalamnya. Semua aplikasi yang menggunakan JPA dan EJB dan JSF adalah malapetaka untuk port. Perbedaan halus dalam interpretasi JPA, EJB, dan JSF antar server aplikasi menyebabkan semua jenis bug buruk yang membutuhkan waktu lama untuk diperbaiki. Bahkan sesuatu yang sederhana seperti penamaan JNDI benar-benar berbeda antara AppServers.
Spring adalah sebuah implementasi. JavaEE adalah sebuah spesifikasi. Itu adalah perbedaan BESAR. Saya lebih suka menggunakan spesifikasi JIKA spesifikasi itu 100% kedap udara dan sama sekali tidak memberikan ruang gerak dalam cara vendor menerapkan spesifikasi itu. Tetapi spesifikasi JavaEE tidak pernah seperti itu. Mungkin JavaEE6 lebih kedap udara? Saya tidak tahu. Semakin banyak Anda dapat mengemas dalam WAR Anda, dan semakin sedikit Anda bergantung pada pustaka AppServer, aplikasi Anda akan semakin portabel, dan bagaimanapun juga, itulah alasan saya menggunakan Java dan bukan Dot-NET.
Bahkan JIKA speknya kedap udara, alangkah baiknya dapat meningkatkan server aplikasi tanpa harus memutakhirkan semua tumpukan teknologi saya di semua aplikasi saya bersama dengannya. Jika saya ingin meningkatkan dari JBoss 4.2 ke JBoss 7.0, saya harus mempertimbangkan dampak dari versi JSF yang lebih baru pada semua aplikasi saya. Saya tidak perlu mempertimbangkan dampaknya pada aplikasi Spring-MVC (atau Struts) saya.