1. Pengenalan
Pernah dengar Java EE? Bagaimana dengan Java 2EE, J2EE, atau sekarang EE Jakarta? Sebenarnya, ini semua nama yang berbeza untuk perkara yang sama: satu set spesifikasi perusahaan yang meluaskan Java SE.
Dalam artikel pendek ini, kita akan menerangkan evolusi Java EE.
2. Sejarah
Pada versi pertama Java, sambungan perusahaan Java hanyalah sebahagian daripada JDK teras.
Kemudian, sebagai sebahagian daripada Java 2 pada tahun 1999, peluasan ini dipecah dari binari standard, dan J2EE , atau Java 2 Platform Enterprise Edition, dilahirkan. Nama itu akan kekal sehingga 2006.
Untuk Java 5 pada tahun 2006, J2EE diganti namanya menjadi Java EE atau Java Platform Enterprise Edition. Nama itu akan kekal hingga September 2017, ketika sesuatu yang besar berlaku .
Lihat, pada bulan September 2017, Oracle memutuskan untuk menyerahkan hak Java EE kepada Yayasan Eclipse (bahasa itu masih dimiliki oleh Oracle) .
3. Dalam Peralihan
Sebenarnya, Eclipse Foundation secara sah harus menamakan semula Java EE. Ini kerana Oracle mempunyai hak atas jenama "Java".
Oleh itu, untuk memilih nama baru, masyarakat memilih dan memilih: Jakarta EE. Dengan cara tertentu, ia masih J EE.
* Nama baru diumumkan
Namun, ini masih merupakan kisah yang terus berkembang, dan debu belum selesai sepenuhnya.
Sebagai contoh, sementara Oracle membuka sumber kod sumber, mereka tidak membuka sumber semua dokumentasi. Masih banyak perbincangan mengenai perkara ini kerana masalah undang-undang yang menyukarkan dokumentasi sumber terbuka yang berkaitan, misalnya, JMS dan EJB.
Masih belum jelas apakah dokumentasi Eclipse Foundation yang baru dapat merujuk kepada yang asli.
Anehnya, Eclipse Foundation tidak dapat membuat pakej Java baru menggunakan ruang nama javax , tetapi dapat membuat kelas dan subkelas baru di bawah yang ada.
Peralihan ini juga bermaksud proses baru untuk menambahkan spesifikasi ke Jakarta EE. Untuk memahaminya dengan lebih baik, mari kita lihat bagaimana proses itu di bawah Oracle dan bagaimana ia berubah di bawah Eclipse Foundation.
4. Masa Depan
Secara historis, agar suatu fitur membuatnya menjadi "EE", kami memerlukan tiga hal: spesifikasi, pelaksanaan rujukan, dan ujian. Ketiga-tiga perkara ini dapat disediakan oleh siapa saja dalam komuniti, dan Jawatankuasa Eksekutif akan memutuskan kapan mereka bersedia menambahkan bahasa.
Untuk lebih memahami proses masa lalu, mari kita perhatikan lebih dekat apa JSR, Glassfish, dan TCK dan bagaimana mereka mewujudkan ciri EE baru .
Kami juga akan melihat sekilas apa yang diharapkan di masa hadapan.
4.1. JCP dan Sekarang, EFSP
Pada masa lalu, proses di mana ciri EE baru dilahirkan disebut Java Community Process (JCP).
Java SE masih menggunakan JCP hari ini. Tetapi, kerana EE telah menukar hak miliknya, dari Oracle menjadi Yayasan Eclipse, kami mempunyai proses baru dan terpisah untuk itu. Ini adalah Proses Spesifikasi Eclipse Foundation (EFSP) dan merupakan lanjutan dari Proses Pembangunan Eclipse.
Namun, ada beberapa perbedaan penting, terutama di sekitar "Transparency, Openness, Shared Beban dan Vendor Neutrality". Penganjur EFSP, misalnya, membayangkan kumpulan kerja kolaboratif yang tidak peka vendor, proses pensijilan yang bersifat layan diri, dan organisasi yang beroperasi dan ditadbir sebagai meritokrasi.
4.2. JSR
Dalam JCP, langkah pertama untuk menambahkan fitur ke EE adalah membuat JSR atau Java Spesifikasi Permintaan. JSR sedikit seperti antara muka untuk ciri EE. Jawatankuasa Eksekutif JCP mengkaji dan meluluskan JSR yang telah siap, dan kemudian penyumbang JSR akan membuat kod dan membuatnya tersedia untuk masyarakat.
Contoh yang baik ialah JSR-339 - atau JAX-RS - yang pada awalnya dicadangkan pada tahun 2011, diluluskan oleh JCP pada tahun 2012 dan akhirnya dikeluarkan pada tahun 2013.
Dan sementara komuniti selalu dapat mempertimbangkan ketika spesifikasi sedang dibincangkan, waktu menunjukkan bahawa pendekatan pelaksanaan pertama - seperti dalam kasus JSR 310, java.time, dan Joda Time - cenderung membuat fitur dan API yang lebih diterima umum .
Oleh itu, EFSP menggambarkan pandangan pertama-kod ini dalam tujuan yang dinyatakan: "EFSP akan didasarkan pada percubaan langsung dan pengekodan terlebih dahulu, sebagai cara untuk membuktikan sesuatu yang layak didokumentasikan dalam spesifikasi."
4.3. Ikan Gelas
Kemudian, sebagai sebahagian daripada JCP, JSR memerlukan pelaksanaan rujukan. Ini agak seperti kelas yang menerapkan antara muka . Pelaksanaan rujukan membantu pembangun perpustakaan yang serasi atau organisasi lain yang ingin membuat pelaksanaan spesifik mereka sendiri.
Untuk fitur Java EE, JCP menggunakan Glassfish untuk pelaksanaan rujukannya.
Dan sementara pemusatan ini pada Glassfish mempermudah proses penemuan untuk pelaksana, pemusatan itu juga memerlukan lebih banyak pemerintahan dan cenderung untuk memilih satu vendor daripada yang lain.
Oleh itu, EFSP tidak memerlukan pelaksanaan rujukan, tetapi hanya pelaksanaan yang serasi . Sederhananya, perubahan halus ini dilakukan sehingga implementasi dalam seni bina pusat, seperti Glassfish, tidak akan disukai oleh yayasan secara tidak sengaja.
4.4. TCK
Akhirnya, JCP menghendaki agar ciri EE diuji melalui Kit Keserasian Teknologi, atau TCK.
TCK adalah sekumpulan ujian untuk mengesahkan EE JSR tertentu. Ringkasnya, untuk mematuhi Java EE, pelayan aplikasi perlu menerapkan semua JSRnya dan lulus semua ujian pada TCK yang ditentukan.
Tidak banyak perubahan di sini. Oracle membuka TCK dan ES JSR. Sudah tentu, semua dokumen masa depan dan TCK akan menjadi sumber terbuka.
5. Kesimpulan
Java EE sudah tentu banyak berkembang selama bertahun-tahun. Senang melihatnya terus berubah dan bertambah baik.
Terdapat banyak cabaran yang akan datang, jadi mari kita berharap untuk peralihan yang lancar.