JavaRush /Blog Java /Random-MS /Coffee break #119. Pengenalan kepada Java Enterprise Edit...

Coffee break #119. Pengenalan kepada Java Enterprise Edition (Java EE)

Diterbitkan dalam kumpulan
Sumber: Dev.to Java Enterprise Edition (Java EE) ialah satu set spesifikasi dan dokumentasi untuk bahasa Java yang menerangkan seni bina platform pelayan untuk menyelesaikan masalah perusahaan sederhana dan besar. Coffee break #118.  Pengenalan kepada Java Enterprise Edition (Java EE) - 1Apabila mempelajari Java EE anda akan menemui istilah berikut:
  • Pelayan aplikasi ialah pelaksanaan konkrit spesifikasi Java EE abstrak. Contoh: Pelayan Payara (Glassfish), IBM OpenLiberty dan JBoss Wildfly.

  • Permintaan Spesifikasi Java (JSR) ialah permintaan rasmi kepada komuniti Java untuk menambah dan menambah baik teknologi. Ia adalah badan yang menyeragamkan API pada platform teknologi Java dan digunakan untuk mengumpulkan API ke dalam blok, seperti JAX-RS (API Java untuk Perkhidmatan Web RESTful). Untuk setiap JSR, sentiasa ada pelaksanaan rujukan lalai.

  • Pelaksanaan rujukan ialah pelaksanaan/pelaksanaan konkrit JSR abstrak. Sebagai contoh, pelaksanaan rujukan untuk JAX-RS dipanggil Jersey. Java EE sendiri adalah JSR. Oleh itu, pelayan aplikasi ialah koleksi pelaksanaan rujukan Java EE JSR yang berbeza. Java EE ialah JSR 366, dan salah satu pelaksanaan rujukannya ialah Glassfish 5.

  • Jakarta EE ialah nama baharu untuk Java EE bermula pada 2018. Pada masa ini, Oracle telah memindahkan platform Java di bawah pengurusan Eclipse Foundation .

Asas JavaEE

Terdapat tiga API utama dalam Java EE:
  1. Java Persistence API (JPA). Ia bertanggungjawab untuk menyimpan dan mendapatkan semula maklumat daripada pangkalan data hubungan, yang boleh diperluaskan untuk berfungsi dengan pangkalan data NoSQL. Ini ialah lapisan data dalam aplikasi.

  2. Konteks dan Suntikan Ketergantungan (CDI API). Ia adalah cara piawai untuk mengurangkan gandingan dalam aplikasi. Ia menguruskan pelbagai interaksi komponen untuk memastikan penyahgandingan percuma.

  3. API Java untuk Perkhidmatan Web RESTful (JAX-RS). Ia menyediakan sumber melalui HTTP sebagai perkhidmatan web.

API Suntikan Konteks dan Ketergantungan

Suntikan kebergantungan ialah satu bentuk khas kawalan penyongsangan (strategi perisian di mana komponen individu menerima kebergantungan mereka). Ini mengubah kebergantungan dalam aplikasi untuk mencipta komponen gandingan rendah.

Ciri-ciri CDI

  • Suntikan ketergantungan (Typesafe) membolehkan anda mengisytiharkan kebergantungan pada jenis supaya pengkompil menangkap ralat semasa masa jalan.

  • Konteks kitar hayat ialah keupayaan untuk mengikat kitaran hayat dan interaksi komponen stateful kepada komponen kitaran hayat yang jelas tetapi boleh diperluaskan.

  • Pemintas membenarkan anda memintas permintaan untuk mengakses kaedah tertentu.

  • Acara ialah cara untuk membangunkan aplikasi yang sangat dipisahkan. Peristiwa boleh dipecat semasa kaedah Pemerhati mendengar peristiwa yang dipecat.

  • Antara Muka Pembekal Perkhidmatan (SPI) ialah satu set teknik, API dan antara muka yang boleh digunakan sebagai sambungan, seperti dalam pustaka Apache.

Beberapa konsep API CDI:

  • CDI Bean Discovery ialah mekanisme di mana rangka kerja suntikan kebergantungan mengupas dan menemui kacang untuk mengawal cara kacang ditemui secara lalai, iaitu kacang dengan anotasi seperti @Annotated. Terdapat tiga jenis mod penemuan kacang: SEMUA (termasuk kacang tanpa notasi), ANNOTATED dan NONE.

  • Bekas CDI ialah kaedah kilang di mana kelas Java masuk dan keluar dengan fungsi dan keupayaannya. Ini adalah aplikasi yang menguruskan kacang.

  • Contoh kacang dan Kontekstual. Kacang ialah templat yang dibuat oleh pembangun. Contoh kontekstual ialah tika Bean yang dibuat dan diurus oleh bekas CDI.

API Kegigihan Java

JPA digunakan untuk memetakan objek ke jadual pangkalan data hubungan. Java Persistence API mengikut prinsip manifesto ORM. Manifes ORM (Manifes Pemetaan Hubungan Objek):
  • Objek, bukan jadual: Pembangun menulis objek, bukan jadual.

  • Kemudahan, bukan kejahilan: ORM sepatutnya mudah. Pembangun harus mempunyai pengetahuan minimum tentang pangkalan data hubungan. ORM bukanlah cara untuk menyembunyikan kejahilan, tetapi kemudahan.

  • Tidak mengganggu dan telus: ORM harus membuatnya supaya pembangun boleh mengawal apa yang ada dalam pangkalan data dan mempunyai kawalan penuh ke atas apa yang disimpan. Data warisan, objek baharu: ORM akan membolehkan anda mencipta objek baharu daripada data warisan, iaitu, membina semula pangkalan data warisan ke dalam objek Java.

  • Cukup, tetapi tidak terlalu banyak: ORM akan menyediakan semua alat untuk menyelesaikan masalah biasa disebabkan ketidakpadanan impedans (istilah yang digunakan untuk merujuk kepada masalah yang timbul akibat perbezaan antara model pangkalan data dan bahasa pengaturcaraan). ORM tidak boleh terlalu berat.

  • Lokaliti dan mobiliti: Data adalah setempat, tetapi keadaan berterusan aplikasi mesti boleh berpindah ke bahagian aplikasi yang berlainan.

  • API standard, pelaksanaan boleh pasang: Bergantung pada API standard, tetapi boleh menukar pelaksanaan mengikut keperluan.

Beberapa konsep penting JPA: Entiti JPA
  • Komponen paling modular objek JPA ialah objek Java lama biasa (POJO). Setiap objek mesti mempunyai pengecam unik.

  • Entiti JPA biasanya menggunakan anotasi seperti @MappedSuperClass, yang membenarkan penggunaan superclass yang mengandungi medan entiti biasa. Anotasi @AttributeOverride digunakan untuk mengatasi entiti superclass. @Column digunakan untuk mengkonfigurasi pemetaan pangkalan data. Anotasi @Transient boleh digunakan untuk medan dalam kelas entiti yang tidak seharusnya dipetakan ke pangkalan data.

  • Jenis capaian ialah proses di mana penyedia kegigihan mengakses keadaan dalam entiti. Akses medan berlaku apabila pembekal mengakses medan kelas secara langsung melalui refleksi. Akses harta berlaku apabila kaedah sifat Java Bean digunakan untuk mengakses keadaan, iaitu, getter dan setter digunakan. Untuk menggunakan akses harta benda, pengambil mesti dianotasi dengan @Id. Jenis akses bercampur menggunakan akses kepada kedua-dua medan dan sifat dalam kelas entiti yang sama menggunakan anotasi @Access.

Java API untuk perkhidmatan web RESTful

Had seni bina REST:
  1. Pelanggan dan pelayan adalah bebas antara satu sama lain.

  2. Stateless: Setiap permintaan individu yang tiba di pelayan adalah autonomi dan unik. Pelayan tidak membuat sebarang andaian daripada permintaan sebelumnya.

  3. Kebolehcache: Sistem mesti menyokong caching pada tahap yang berbeza untuk meningkatkan prestasi dan kebolehskalaan.

  4. Antara muka bersatu bermakna pelanggan mesti mempunyai antara muka bersatu biasa untuk mengakses sumber pada pelayan, serta berinteraksi dengan sumber pada pelayan. Sistem berbilang peringkat: Pelayan boleh dilaksanakan dalam lapisan yang berbeza dengan cara yang pelanggan tidak perlu bimbang tentang sistem berbilang peringkat, seperti pelayan yang menyokong pengimbangan beban.

Beberapa konsep umum yang berkaitan dengan JAX-RS:
  • Kaedah HTTP GET: meminta sumber atau sumber. Kaedah permintaan GET adalah idempoten, yang bermaksud membuat permintaan yang sama kepada kaedah berulang kali tidak seharusnya mengubah keadaan sumber atau data pada pelayan.

  • Kaedah HTTP POST: Permintaan POST digunakan untuk mencipta sumber baharu pada pelayan. Ini menyebabkan set data pada pelayan berubah. POST biasanya mempunyai badan di mana muatan atau apa sahaja yang kita ingin buat pada pelayan diterbitkan atau dilampirkan.

  • Kaedah HTTP PUT: Digunakan secara semantik untuk mengemas kini sumber pada pelayan.

  • HTTP DELETE Kaedah: Digunakan untuk memadam sumber pada pelayan.

  • Jenis kandungan. Terdapat beberapa jenis kandungan yang boleh digunakan dan dibuat melalui kaedah pertanyaan: XML, CSV, EXCEL, TEXT dan JSON.

  • JAX-RS mempunyai konsep menulis badan mesej. Ini adalah binaan API yang digunakan untuk menukar jenis Java kepada jenis yang diharapkan oleh pelanggan. Anotasi @Produces boleh digunakan untuk menentukan jenis tindak balas objek Java ditukar.

  • Anotasi @Consumes memberitahu masa jalan JAX-RS jenis kandungan yang digunakan oleh kaedah sumber tertentu. Masa jalan JAX-RS kemudian menukar kandungan JSON yang diluluskan sebagai muatan kepada objek Java yang jenisnya sama dengan parameter kaedah.

  • JAX-RS Exception Mapper: Konstruk API yang digunakan untuk memetakan pengecualian kepada respons HTTP. Anotasi @Provider digunakan untuk mendaftarkan penyelesai pengecualian secara pemrograman dengan masa jalan JAX-RS.

Ini adalah pengenalan yang sangat mudah kepada Java EE. Untuk membina aplikasi web menggunakan Java EE, anda perlu menyelam lebih mendalam ke dalam setiap API utama.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION