Teknologi Java

Selesai

Dalam unit ini, kami membedakan antara berbagai jenis kerangka kerja, server, dan platform Java.

Spring Framework

Spring Framework adalah kerangka kerja aplikasi dan kontainer inversi kontrol (IoC). Spring secara historis telah digunakan untuk melengkapi model Enterprise JavaBeans (EJB). Fungsionalitas intinya adalah:

  • Injeksi ketergantungan
  • Pemrograman berorientasi aspek
  • Abstraksi bisnis

Spring Boot

Spring Boot dibangun berdasarkan Spring Framework dan memiliki autokonfigurasi yang terarah. Aplikasi Spring Boot berjalan mandiri dan sangat cocok untuk layanan mikro.

Spring Data

Spring Data menyederhanakan akses data untuk database relasional dan nonrelasional, kerangka kerja MapReduce, dan layanan data berbasis cloud.

Keamanan Spring

Spring Security adalah standar de facto untuk mengamankan aplikasi berbasis Spring. Ini menawarkan tingkat autentikasi dan kontrol akses yang tinggi. Misalnya, Spring Security terintegrasi dengan baik dengan Direktori Aktif.

Spring Cloud

Spring Cloud digunakan untuk sistem terdistribusi. Spring Cloud dilengkapi dengan penemuan layanan, manajemen konfigurasi, pemantauan, dan pengalaman pengembang yang baik.

Spring Batch

Spring Batch adalah kerangka kerja ringan untuk aplikasi batch kuat yang sangat penting untuk operasi harian.

MicroProfile dan Jakarta EE

Anda dapat melihat MicroProfile dan Jakarta Enterprise Edition (EE) sebagai tindak lanjut sumber terbuka dari spesifikasi Java EE.

MicroProfile adalah serangkaian spesifikasi untuk arsitektur layanan mikro. Ini menyebut dirinya forum terbuka untuk mengoptimalkan Enterprise Java untuk arsitektur layanan mikro. MicroProfile bertujuan untuk berinovasi di beberapa implementasi dan berkolaborasi pada bidang umum yang menarik.

Jakarta EE adalah seperangkat spesifikasi untuk membangun aplikasi perusahaan. Struktur modularisasinya memungkinkan pengembang untuk menciptakan solusi perangkat lunak yang efisien. Anda dapat mengemas aplikasi EE Jakarta sebagai file EAR atau file WAR.

Profil Web adalah subset Jakarta EE untuk layanan back-end yang berfokus pada web, jadi jangan khawatir! Anda dapat menambahkan API tertentu dari platform perusahaan di atasnya.

Server aplikasi

Aplikasi Java EE harus disebarkan ke server aplikasi yang mematuhi Java EE (Weblogic, WebSphere, WildFly, GlassFish, Payara, dan lainnya).

  • Apache Tomcat adalah server HTTP dan kontainer Java Servlet. Ini mengimplementasikan spesifikasi Servlet, Java Server Pages (JSP), Java Expression Language, dan Java WebSocket.

  • Oracle Weblogic Server adalah platform terpadu dan dapat diperluas untuk mengembangkan, menyebarkan, dan menjalankan aplikasi perusahaan. Weblogic Server menawarkan implementasi Java EE dan Jakarta EE yang kuat dan matang.

  • Red Hat JBoss Enterprise Application Platform (JBoss EAP) memberikan keamanan dan performa tingkat perusahaan untuk implementasi lokal dan virtual, atau di cloud privat, publik, atau hibrid.

  • WildFly adalah proyek sumber terbuka yang dikembangkan lebih dulu untuk JBoss EAP. Varietas berbasis komunitas ini sangat bagus untuk pengembangan dan pengujian.

  • IBM WebSphere Application Server (WAS) adalah lingkungan runtime server Java yang fleksibel dan kaya keamanan untuk aplikasi perusahaan. Ini berfokus pada keandalan tinggi. Ini mendukung layanan mikro dan model pemrograman berbasis standar. Anda dapat memodernisasi dengan kecepatan Anda sendiri, mendapatkan visibilitas yang lebih besar di seluruh beban kerja, menganalisis aplikasi perusahaan, dan memajukan perjalanan Anda ke Kubernetes.

  • Open Liberty adalah versi WAS sumber terbuka berbasis komunitas.

  • Oracle GlassFish adalah implementasi referensi dari banyak standar web Java EE (termasuk Servlet dan JSP).

Kerangka kerja lain untuk arsitektur berorientasi layanan mikro

  • Netty adalah kerangka kerja klien/server I/O (NIO) yang tidak diblokir. Ini memungkinkan pengembangan aplikasi jaringan yang cepat dan mudah seperti server protokol dan klien. Ini sangat menyederhanakan dan merampingkan pemrograman jaringan, seperti server soket TCP dan UDP. Netty adalah kerangka kerja aplikasi jaringan berbasis peristiwa asinkron untuk pengembangan server dan klien protokol berkinerja tinggi yang dapat dipertahankan dengan cepat.

  • Quarkus adalah stack Java yang terintegrasi dengan Kubernetes, disesuaikan untuk OpenJDK HotSpot dan GraalVM. Quarkus semakin mendapatkan momentum. Ngomong-ngomong, ada lebih banyak kerangka kerja yang berfokus pada performa seperti ini, seperti Vert.x, Helidon, Payara Micro, dan KumuluzEE.

  • Micronaut adalah kerangka kerja tumpukan penuh modern berbasis JVM untuk membangun modular, layanan mikro yang mudah diuji, dan aplikasi tanpa server. Micronaut memiliki injeksi dependensi dan runtime pemrograman berorientasi aspek yang tidak menggunakan refleksi, sehingga memudahkan aplikasi Micronaut untuk berjalan di GraalVM.