Java EE - apakah itu?
Java EE ialah platform yang dibina di atas Java SE yang menyediakan persekitaran API dan masa jalan untuk membangun dan menjalankan aplikasi rangkaian berskala besar, berbilang peringkat, berskala, boleh dipercayai dan selamat. Aplikasi sedemikian dipanggil aplikasi perusahaan kerana ia menyelesaikan masalah yang dihadapi oleh perniagaan besar. Walau bagaimanapun, syarikat besar dan agensi kerajaan bukanlah satu-satunya yang boleh mendapat manfaat daripada aplikasi tersebut dan faedah yang disediakan oleh Java EE. Penyelesaian yang ditawarkan oleh platform Java EE berguna, dan kadangkala hanya perlu, untuk pembangun individu dan organisasi kecil.Pembangunan Java EE
Java EE dibangunkan melalui Java Community Process (JCP), yang dibentuk pada tahun 1998. Ia membenarkan pihak yang berminat untuk mengambil bahagian dalam membentuk versi masa depan spesifikasi platform bahasa Java. Asas proses ini ialah JSR (Java Specification Request), dokumen rasmi yang menerangkan spesifikasi dan teknologi yang dicadangkan untuk ditambahkan pada platform Java. Permintaan sedemikian dibuat oleh ahli komuniti - pemaju dan syarikat biasa. Yang terakhir termasuk Oracle, Red Hat, IBM, Apache dan banyak lagi. Itu. mereka mencadangkan ciri dan barang baharu untuk dipertimbangkan yang mereka ingin sertakan dalam Java. Dan kemudian mereka mengadakan undian, berdasarkan keputusan dibuat tentang apa yang perlu dimasukkan dalam versi seterusnya. Sejarah versi Java EE kelihatan seperti ini:- J2EE 1.2 (Disember 1999)
- J2EE 1.3 (September 2001)
- J2EE 1.4 (November 2003)
- Java EE 5 (Mei 2006)
- Java EE 6 (Disember 2009)
- Java EE 7 (Mei)
- Java EE 8 (Ogos 2017)
- Jakarta EE 8 (September 2019)
Senibina Aplikasi Java EE
Pengenalan ringkas. Untuk memudahkan pemahaman, mari kita bincangkan tentang struktur aplikasi Java EE dan beberapa istilah yang akan kita gunakan selanjutnya. Aplikasi Java EE mempunyai struktur yang mempunyai dua kualiti utama:- Pertama, pelbagai peringkat. Aplikasi Java EE adalah berbilang peringkat, dan kami akan membincangkannya dengan lebih terperinci kemudian;
- kedua, bersarang. Terdapat pelayan Java EE (atau pelayan aplikasi), dengan bekas komponen terletak di dalamnya. Bekas ini menempatkan komponen (bingo!).
Tahap aplikasi
Aplikasi berbilang peringkat ialah aplikasi yang dibahagikan mengikut prinsip fungsi ke dalam modul terpencil (tahap, lapisan). Biasanya (termasuk dalam konteks pembangunan Java EE), aplikasi perusahaan dibahagikan kepada tiga peringkat:- pelanggan;
- tahap purata;
- tahap capaian data.
-
Lapisan klien ialah aplikasi yang meminta data daripada pelayan Java EE (lapisan tengah). Pelayan pula memproses permintaan pelanggan dan mengembalikan respons kepadanya. Aplikasi klien boleh menjadi penyemak imbas, aplikasi kendiri (mudah alih atau desktop), atau aplikasi pelayan lain tanpa antara muka grafik.
-
Peringkat pertengahan pula dibahagikan kepada peringkat web dan peringkat logik perniagaan.
-
Lapisan web terdiri daripada beberapa komponen yang menyediakan interaksi antara pelanggan dan lapisan logik perniagaan.
Teknologi Java EE berikut digunakan pada peringkat web:
- Teknologi JavaServer Faces (JSF);
- Halaman Pelayan Java (JSP);
- Bahasa Ungkapan (EL);
- Servlets;
- Konteks dan Suntikan Ketergantungan untuk Java EE (CDI).
-
Lapisan logik perniagaan terdiri daripada komponen yang melaksanakan semua logik perniagaan aplikasi. Logik perniagaan ialah kod yang menyediakan fungsi yang merangkumi keperluan beberapa kawasan perniagaan tertentu (industri kewangan, perbankan, e-dagang). Tahap ini boleh dianggap sebagai teras keseluruhan sistem.
Teknologi yang terlibat pada tahap ini:
- Enterprise JavaBeans (EJB);
- Perkhidmatan web JAX-RS RESTful;
- Entiti API Kegigihan Java;
- Perkhidmatan Mesej Java.
-
-
Tahap capaian data. Tahap ini kadangkala dipanggil tahap sistem maklumat perusahaan (EIS). EIS terdiri daripada pelbagai pelayan pangkalan data, sistem perancangan sumber perusahaan ERP (Enterprise Resource Planning) dan sumber data lain. Lapisan logik perniagaan mengakses lapisan ini untuk data.
Pada tahap ini anda boleh menemui teknologi seperti:
- API Ketersambungan Pangkalan Data Java (JDBC);
- API Kegigihan Java;
- Senibina Penyambung EE Java;
- Java Transaction API (JTA).
Pelayan aplikasi, bekas, komponen
Mari kita lihat definisi Java EE daripada Wikipedia. Java EE ialah satu set spesifikasi dan dokumentasi berkaitan untuk bahasa Java, menerangkan seni bina platform pelayan untuk tugas perusahaan sederhana dan besar. Untuk lebih memahami maksud "set spesifikasi" dalam konteks ini, mari kita lukiskan analogi dengan antara muka Java. Antara muka Java itu sendiri tidak mempunyai fungsi. Ia hanya mentakrifkan beberapa kontrak mengikut mana beberapa fungsi dilaksanakan. Tetapi kelas lain melaksanakan antara muka. Selain itu, satu antara muka boleh mempunyai beberapa pelaksanaan, setiap satu daripadanya mungkin berbeza antara satu sama lain dalam beberapa butiran. Dengan spesifikasi semuanya betul-betul sama. Naked Java EE hanyalah satu set spesifikasi. Spesifikasi ini dilaksanakan oleh pelbagai pelayan Java EE. Pelayan Java EE ialah aplikasi pelayan yang melaksanakan API platform Java EE dan menyediakan perkhidmatan Java EE standard. Pelayan Java EE kadangkala dipanggil pelayan aplikasi. Data pelayan boleh mengandungi komponen aplikasi, setiap satunya sepadan dengan tahapnya sendiri dalam hierarki berbilang peringkat. Pelayan Java EE menyediakan pelbagai perkhidmatan kepada komponen ini dalam bentuk bekas. Bekas ialah antara muka antara komponen yang dihoskan dan kefungsian bebas platform peringkat rendah yang menyokong komponen tersebut. Bekas menyediakan perkhidmatan khusus kepada komponen yang dihoskan. Contohnya, pengurusan kitaran hayat pembangunan, suntikan pergantungan, konkurensi, dll. Bekas menyembunyikan kerumitan teknikal dan meningkatkan kemudahalihan. Terdapat empat jenis bekas yang berbeza dalam Java EE :-
Bekas Applet dilaksanakan oleh kebanyakan penyemak imbas. Apabila membangunkan applet, anda boleh menumpukan perhatian pada bahagian visual aplikasi, manakala bekas menyediakan persekitaran yang selamat.
-
Application Client Container (ACC) mengandungi set kelas Java, pustaka dan fail lain yang diperlukan untuk melaksanakan ciri seperti suntikan, pengurusan keselamatan dan perkhidmatan penamaan dalam aplikasi Java SE.
-
Bekas web menyediakan perkhidmatan teras untuk mengurus dan melaksanakan komponen web (servlet, komponen EJB Lite, halaman JSP, penapis, pendengar, halaman JSF dan perkhidmatan web). Ia bertanggungjawab untuk membuat seketika, memulakan dan menggunakan servlet, dan menyokong protokol HTTP dan HTTPS. Bekas ini digunakan untuk menyampaikan halaman web kepada pelayar pelanggan.
-
Bekas EJB (Enterprise Java Bean) bertanggungjawab untuk mengurus dan melaksanakan komponen model EJB yang mengandungi lapisan logik perniagaan aplikasi. Ia mencipta entiti kacang EJB baharu, mengurus kitaran hayat mereka dan menyediakan perkhidmatan seperti urus niaga, keselamatan, penyelarasan, pengedaran, penamaan, atau keupayaan invokasi tak segerak.
-
Applet ialah aplikasi antara muka pengguna grafik (GUI) yang dijalankan dalam penyemak imbas. Mereka memanfaatkan API Swing yang kaya untuk menghasilkan antara muka pengguna yang berkuasa.
-
Aplikasi ialah program yang dijalankan pada bahagian klien. Biasanya ia adalah antara muka pengguna grafik (GUI) dan digunakan untuk pemprosesan kelompok.
-
Aplikasi web (terdiri daripada servlet dan penapisnya, pendengar acara web, halaman JSP dan JSF) - dijalankan dalam bekas web dan bertindak balas kepada permintaan HTTP daripada klien web. Servlets juga menyokong SOAP dan titik akhir perkhidmatan web RESTful.
-
Aplikasi perusahaan (dibina dengan Enterprise Java Beans, Java Message Service, Java Transaction API, Asynchronous Calls, Time Services) dijalankan dalam bekas EJB. EJB yang diuruskan kontena mengendalikan logik perniagaan transaksi. Mereka boleh diakses sama ada secara tempatan atau jauh melalui RMI (atau HTTP untuk SOAP dan perkhidmatan web RESTful).
Teknologi
Jadi, kami telah menyusun seni bina. Struktur keseluruhan harus jelas. Dalam proses menghuraikan komponen seni bina, kami menyentuh beberapa teknologi Java EE seperti EJB, JSP, dll. Mari kita lihat dengan lebih dekat mereka. Jadual di bawah menunjukkan teknologi yang digunakan terutamanya pada peringkat pelanggan:Teknologi | Tujuan |
---|---|
Servlets | Kelas Java yang memproses permintaan pelanggan secara dinamik dan menjana respons (biasanya halaman HTML). |
Muka Pelayan Java (JSF) | Rangka kerja untuk membina aplikasi web dengan antara muka pengguna. Membolehkan anda memasukkan komponen antara muka pengguna (contohnya, medan dan butang) pada halaman, mengubah dan mengesahkan komponen ini dan menyimpan data ini dalam storan sebelah pelayan. |
Teknologi Facelets Facelets Java Server | Ia adalah subjenis aplikasi JSF yang menggunakan halaman XHTML dan bukannya halaman JSP |
Halaman Pelayan Java (JSP) | Dokumen teks yang disusun ke dalam servlet. Membolehkan anda menambah kandungan dinamik pada halaman statik (seperti halaman HTML) |
Pustaka Teg Standard Halaman Pelayan Java (JSTL) | Pustaka teg yang merangkum fungsi teras dalam konteks halaman JSP. |
Bahasa Ungkapan | Satu set teg standard yang digunakan dalam halaman JSP dan Facelets untuk mengakses komponen Java EE. |
Konteks dan Suntikan Ketergantungan untuk Java EE (CDI) | Mewakili satu set perkhidmatan yang disediakan oleh bekas Java EE untuk mengurus kitaran hayat komponen, serta menyuntik komponen ke dalam objek klien dengan cara yang selamat. |
Komponen Kacang Jawa | Objek yang bertindak sebagai storan data sementara untuk halaman aplikasi. |
Teknologi | Tujuan |
---|---|
Komponen Kacang Jawa Perusahaan (kacang perusahaan). | EJB ialah kacang terurus yang mengandungi fungsi teras aplikasi. |
Perkhidmatan web JAX-RS RESTful | Ia adalah API untuk membangunkan perkhidmatan web yang mematuhi gaya seni bina REST. |
Titik akhir perkhidmatan web JAX-WS | API untuk mencipta dan menggunakan perkhidmatan web SOAP. |
Entiti Java Persistence API (JPA). | API untuk mengakses data dalam stor data dan menukar data tersebut kepada objek bahasa pengaturcaraan Java dan sebaliknya. |
Kacang terurus Java EE | Kacang terurus yang menyediakan logik perniagaan aplikasi tetapi tidak memerlukan ciri transaksi atau keselamatan EJB. |
Perkhidmatan Mesej Java | API Perkhidmatan Mesej Java (JMS) ialah piawaian pemesejan yang membenarkan komponen aplikasi Java EE membuat, menghantar, menerima dan membaca mesej. Ini memastikan komunikasi teragih, boleh dipercayai dan tidak segerak antara komponen. |
Teknologi | Tujuan |
---|---|
API Ketersambungan Pangkalan Data Java (JDBC) | API peringkat rendah untuk mengakses dan mendapatkan semula data daripada stor data. Penggunaan biasa JDBC ialah menulis pertanyaan SQL terhadap pangkalan data tertentu. |
API Kegigihan Java | API untuk mengakses data dalam stor data dan menukar data tersebut kepada objek bahasa pengaturcaraan Java dan sebaliknya. API tahap yang jauh lebih tinggi berbanding JDBC. Menyembunyikan semua kerumitan JDBC daripada pembangun di bawah hud. |
Senibina Penyambung EE Java | API untuk menghubungkan sumber korporat lain, seperti:
|
Java Transaction API (JTA) | API untuk mentakrif dan mengurus urus niaga, termasuk urus niaga dan transaksi yang diedarkan merentas berbilang stor data. |
GO TO FULL VERSION