JavaRush /Java Blog /Random-ID /Apa akibat dari seringnya rilis versi baru JDK?

Apa akibat dari seringnya rilis versi baru JDK?

Dipublikasikan di grup Random-ID
Ini adalah era perubahan bagi Jawa. Versi JDK sekarang akan dirilis sesuai jadwal, bukan saat fungsionalitas baru tersedia. Pendekatan ini memiliki pro dan kontra, tapi bagaimana perubahan tersebut akan mempengaruhi JDK 8? Simon Ritter, penginjil Java terkenal, Java Champion dan Associate CTO di Azul Systems, menjelaskan mengapa "Java baru sesuai jadwal" merupakan trade-off antara stabilitas, keamanan, dan biaya.
Apa yang akan menyebabkan seringnya rilis versi baru JDK - 1
Pada tahun 2018, perubahan signifikan menanti dunia di Pulau Jawa. Seperti yang diumumkan tahun lalu, kami akan merilis versi JDK secara terjadwal, daripada merilis versi saat fungsi baru tersedia. Ini adalah berita bagus karena sekarang fitur-fitur baru akan disertakan dalam rilis saat sudah siap, dan pengembang akan memiliki akses ke fitur-fitur tersebut lebih cepat. JDK 10 dijadwalkan untuk dirilis pada bulan Maret, dan kami telah memasuki perbaikan bug tahap kedua, jadi semuanya berjalan sesuai rencana. Permintaan Spesifikasi Java (JSR) sudah dalam pengembangan aktif dan tersedia untuk komentar publik. Bahkan ada proposal peningkatan JDK (JEPs) yang sudah menyasar JDK 11 . Sepertinya Java baik-baik saja.

Waktu berubah

Namun, ada banyak perubahan lain terkait dengan jadwal rilis ini yang akan terlihat tahun ini, dan mungkin tidak begitu menyenangkan. Selama 22 setengah tahun, kami telah terbiasa dengan kenyataan bahwa Java, sebagai sebuah platform, memiliki tiga sifat mendasar yang terkait langsung dengan cara dukungannya.
  1. Stabilitas . Sebelumnya, fitur-fitur yang ditambahkan dengan rilis baru JDK, meskipun telah diuji secara menyeluruh, memerlukan pengujian dalam produksi. Hal ini membantu mengidentifikasi kekurangan yang perlu diperbaiki. Untuk memastikan bahwa pengguna dapat terus bekerja dengan versi stabil saat menguji versi baru, pembaruan selalu dilakukan secara tumpang tindih pada waktunya.

    Jika kita melihat beberapa rilis terakhir yang dimulai dengan JDK 6, kita melihat bahwa pembaruan untuk JDK 5 terus dirilis selama hampir 3 tahun berikutnya (tepatnya 2 tahun 11 bulan). Dengan diperkenalkannya JDK 7, pembaruan publik untuk JDK 6 dirilis selama satu tahun 9 bulan. Dan pembaruan untuk JDK 7 dirilis dalam waktu 13 bulan setelah rilis JDK 8.


  2. Keamanan . Tim pengembangan dan dukungan OpenJDK, Oracle, dan sebelum mereka Sun Microsystems (perusahaan yang menciptakan Java, catatan editor) selalu mengutamakan keamanan platform. Seperti yang Anda ingat, Java pada awalnya ditujukan untuk perangkat seluler (khususnya PDA Star7).



    Salah satu tujuan pengembangan utama adalah untuk memastikan bahwa kode dapat ditransfer melalui jaringan dan dijalankan dengan aman. Pembaruan dipublikasikan secara rutin untuk JDK, yang mencakup patch untuk masalah keamanan yang ditemukan. Jika Anda menginstal pembaruan ini segera setelah dirilis, Anda akan sepenuhnya aman.


  3. Tanpa biaya . Salah satu hal hebat tentang Java adalah ia selalu menjadi platform gratis, bahkan sebelum dirilis sebagai perangkat lunak sumber terbuka pada tahun 2006. Ada batasan tertentu di mana Java dapat digunakan bebas royalti, tapi ini selalu berlaku untuk aplikasi seluler dan tertanam; untuk klien desktop dan server perusahaan, versi Java saat ini selalu gratis. Salah satu perubahan yang sedang berlangsung pada JDK adalah rilis executable OpenJDK di bawah lisensi GPLv2 dengan pengecualian "Classpath". Lisensi ini tidak memberikan batasan apa pun tentang bagaimana Anda dapat menerapkan Java Runtime Environment.

Namun, perubahan dalam cara JDK dikembangkan dan dirilis memerlukan pertimbangan yang cermat mengenai rencana migrasi aplikasi ke versi Java yang baru. Dengan jadwal rilis baru ini, upaya untuk memastikan pembaruan tersedia untuk beberapa rilis sebelumnya mungkin tidak dapat dilakukan. Untuk memenuhi kebutuhan dua kelompok pengguna yang berbeda (mereka yang menginginkan fitur baru dengan cepat dan mereka yang menghargai stabilitas jangka panjang), Oracle memutuskan untuk beralih ke model dukungan jangka panjang (LTS). Versi tertentu dari JDK akan dianggap sebagai rilis LTS, artinya versi tersebut akan menerima pembaruan selama tiga tahun. Semua rilis perantara lainnya disebut rilis Fitur dan menerima pembaruan hanya selama 6 bulan. Agar tetap sinkron dengan sistem baru ini, JDK 8 diklasifikasikan sebagai rilis LTS. Rilis berikutnya adalah JDK 11, yang dijadwalkan pada September 2018. Perubahan terbesar yang dibawa model baru ini adalah bahwa pembaruan antar rilis tidak lagi tumpang tindih dalam waktu . Saya secara khusus menuliskannya dalam huruf miring tebal karena ini sangat jelas. Berikut adalah grafik yang menunjukkan ketersediaan pembaruan untuk rilis JDK hingga JDK 19.
Apa yang akan menyebabkan seringnya rilis versi baru JDK - 2?
Pada gambar: Siklus Hidup Java SE – Jadwal 5+ Tahun Pembaruan publik tanpa tumpang tindih ("support Cliff") Dukungan Komersial Oracle Dukungan Komersial Oracle yang Diperluas
Siklus Hidup Java SE - Jadwal 5+ Tahun Pembaruan Publik Tanpa Tumpang Tindih Waktu Eksekusi Publik dari Oracle (Tanpa Dukungan) Dukungan Komersial Oracle Dukungan Komersial Oracle yang Diperluas
Sebagai konsekuensi langsung dari perubahan ini, platform Java masih stabil, aman, dan gratis, namun kini Anda harus memilih dua dari tiga fitur ini. Dalam penerapan Java di masa mendatang, ketiga properti tersebut tidak akan tersedia secara bersamaan.

Izinkan saya menjelaskan sedikit lagi

Katakanlah Anda mengkhawatirkan keamanan (sebagaimana mestinya), tetapi Anda tidak ingin mengeluarkan uang. Dalam hal ini, Anda perlu bermigrasi ke versi JDK baru segera setelah dirilis. Jika dukungan tidak tumpang tindih dalam waktu (rilis Fitur dan LTS), Anda harus melakukan ini untuk menerima perbaikan keamanan baru. Sayangnya, tanpa adanya tumpang tindih waktu, Anda harus segera berpindah ke rilis JDK yang belum diuji produksinya, sehingga Anda akan kehilangan stabilitas sebelumnya. Pilihan lainnya adalah memilih stabilitas tanpa biaya. Sekali lagi, ini mungkin: yang harus Anda lakukan adalah terus menggunakan versi LTS sebelumnya setelah versi baru dirilis. Anda mendapatkan stabilitas yang Anda kenal, Anda tidak perlu membayar apa pun, tetapi Anda tidak akan mendapatkan patch keamanan apa pun karena tidak lagi tersedia untuk rilis ini. Terakhir, jika Anda menginginkan stabilitas dan keamanan, Anda harus membayar. Anda dapat terus menggunakan rilis LTS sebelumnya, namun akses ke keamanan dan perbaikan bug hanya akan tersedia melalui kontrak dukungan komersial.

Dan blok iklan kecil dari penulis :)

Azul (perusahaan saya) telah membuat satu set executable OpenJDK di bawah merek Zulu Enterprise, dibangun dari sumber, diuji dengan tes TCK/JCK, dan bahkan dianalisis dengan utilitas yang kami kembangkan untuk memastikan bahwa tidak ada kerusakan kode sumber terbuka karena header yang buruk file. Kami memberikan kesempatan untuk mengunduh versi saat ini secara gratis, serta dukungan komersial bagi mereka yang berminat. Kami baru-baru ini mulai menawarkan serangkaian opsi dukungan baru untuk Zulu, yang bertujuan untuk memberikan fleksibilitas maksimum kepada pelanggan. Kami ingin memberi pengguna kemampuan untuk bermigrasi ke JDK versi baru yang sesuai dengan kebutuhan bisnis dan pelanggan mereka. Untuk ini, kami menyediakan tiga opsi dukungan:
  1. Dukungan jangka pendek (STS). STS memberi pengguna akses tercepat ke fitur-fitur Java baru, dengan dukungan yang cukup untuk kelancaran transisi ke rilis JDK yang lebih baru. Zulu Enterprise memberi rilis STS akses ke perbaikan bug, pembaruan keamanan, dan perbaikan lainnya sesuai kebutuhan (“dukungan produksi”) selama 12 bulan, ditambah 6 bulan dukungan tambahan yang berfokus pada dukungan konsultasi dan membantu pengguna bermigrasi ke versi JDK yang lebih baru ("dukungan tambahan"). Ini berarti siklus hidup 18 bulan.

  2. Dukungan jangka menengah (MTS). Rilis MTS memungkinkan Anda menggunakan fitur baru yang tersedia dalam rilis fitur dalam produksi tanpa harus menunggu rilis LTS baru. Azul merencanakan satu rilis MTS per tahun di antara rilis LTS dan memberikan dukungan produksi selama 18 bulan setelah tanggal rilis LTS ketersediaan umum berikutnya. Hal ini memastikan tumpang tindih waktu dan transisi yang "lancar" selama penerapan produksi. Setelah dukungan produksi berakhir, perpanjangan dukungan tambahan selama 12 bulan diberikan.

  3. Dukungan jangka panjang (LTS). Ini disediakan untuk rilis yang dianggap LTS oleh komunitas OpenJDK dan memberikan dukungan produksi selama 8 tahun dengan tambahan dukungan tambahan selama dua tahun.
Berikut gambar lainnya agar lebih jelas.
Apa yang akan menyebabkan seringnya rilis versi baru JDK - 3?
Pada gambar: Siklus Hidup Java SE – Jadwal 5+ Tahun Oracle Biner yang tersedia untuk umum (tidak didukung) Dukungan Komersial Oracle Dukungan Komersial Oracle yang Diperluas Dukungan Komersial Produksi Azul Zulu Dukungan Komersial Azul Zulu yang Diperluas (Pasif)
Siklus Hidup Java SE - Jadwal 5+ Tahun Eksekusi Publik dari Oracle (tanpa dukungan) Dukungan Komersial Oracle Dukungan Komersial Oracle yang Diperluas Dukungan Produksi Komersial dari Azul Zulu Dukungan Komersial yang Diperpanjang (Pasif) dari Azul Zulu
Jika saat ini Anda menggunakan JDK 8 tanpa kontrak dukungan komersial dan menjaga sistem Anda tetap stabil dan aman melalui pembaruan publik, Anda mungkin ingin memikirkan apa yang akan Anda lakukan mulai bulan September. Azul berkomitmen membantu Anda dalam hal ini, jadi jangan ragu untuk menghubungi kami jika Anda membutuhkan dukungan.

kesimpulan

Beberapa aspek platform Java berubah tahun ini, sebagian besar menjadi lebih baik. Akses lebih cepat ke fitur-fitur baru, rilis terbuka utilitas seperti Flight Recorder dan Mission Control, rilis executable OpenJDK di bawah lisensi GPLv2 dengan pengecualian "Classpath". Namun kenyataan yang menyedihkan adalah bahwa dukungan gratis yang biasa diberikan untuk platform Java sudah tidak ada lagi. Java masih stabil, aman, dan gratis. Manakah dua dari tiga kualitas berikut yang paling penting bagi Anda dan pengguna Anda?
Apa yang akan menyebabkan seringnya rilis versi baru JDK - 4?

tentang Penulis

Simon Ritter adalah Wakil Direktur Teknis di Azul Systems. Simon telah berkecimpung dalam bisnis IT sejak tahun 1984 dan meraih gelar BSc di bidang Fisika dari Brunel University di Inggris.

Simon bergabung dengan Sun Microsystems pada tahun 1996 dan menghabiskan waktu di bidang pengembangan dan konsultasi Java. Sejak tahun 1999, ia telah mendemonstrasikan teknologi Java kepada para pengembang, dengan fokus pada platform inti Java serta aplikasi klien dan tertanam. Kini di Azul Systems, dia terus membantu orang lebih memahami produk Java dan JVM Azul. Anda dapat mengikutinya di Twitter: @speakjava .

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION