Java EE - apa iku?
Java EE minangka platform sing dibangun ing ndhuwur Java SE sing nyedhiyakake lingkungan API lan runtime kanggo ngembangake lan mbukak aplikasi jaringan skala gedhe, multi-tier, skalabel, dipercaya, lan aman. Aplikasi kasebut diarani aplikasi perusahaan amarga ngatasi masalah sing diadhepi bisnis gedhe. Nanging, perusahaan gedhe lan instansi pemerintah ora mung sing bisa entuk manfaat saka aplikasi kasebut lan keuntungan sing diwenehake Java EE. Solusi sing ditawakake platform Java EE migunani, lan kadhangkala mung perlu, kanggo pangembang individu lan organisasi cilik.Pangembangan EE Jawa
Java EE dikembangake liwat Java Community Process (JCP), dibentuk ing taun 1998. Iki ngidini pihak sing kasengsem kanggo melu mbentuk versi spesifikasi platform basa Jawa ing mangsa ngarep. Basis proses iki yaiku JSR (Java Specification Request), dokumen resmi sing njlèntrèhaké spesifikasi lan teknologi sing diusulaké kanggo ditambahaké ing platform Java. Panjaluk kasebut ditindakake dening anggota komunitas - pangembang lan perusahaan biasa. Sing terakhir kalebu Oracle, Red Hat, IBM, Apache lan liya-liyane. Sing. wong lanang ngusulake fitur-fitur anyar lan barang-barang kanggo pertimbangan sing pengin kalebu ing Jawa. Lan banjur padha terus voting, ing basis kang kaputusan digawe ing apa kalebu ing versi sabanjuré. Riwayat versi Java EE katon kaya iki:- J2EE 1.2 (Desember 1999)
- J2EE 1.3 (September 2001)
- J2EE 1.4 (November 2003)
- Java EE 5 (Mei 2006)
- Java EE 6 (Desember 2009)
- Jawa EE 7 (Mei)
- Java EE 8 (Agustus 2017)
- Jakarta EE 8 (September 2019)
Arsitektur Aplikasi Java EE
Pambuka singkat. Supaya luwih gampang dimangerteni, ayo dirembug babagan struktur aplikasi Java EE lan sawetara istilah sing bakal digunakake maneh. Aplikasi Java EE nduweni struktur sing nduweni rong kuwalitas utama:- Kaping pisanan, multi-level. aplikasi Java EE multi-tiered, lan kita bakal pirembagan bab iki ing liyane rinci;
- kapindho, nesting. Ana server Java EE (utawa server aplikasi), karo kontaner komponen dumunung nang. Iki kontaner house (bingo!) komponen.
Tingkat aplikasi
Aplikasi multi-tier yaiku aplikasi sing dipérang miturut prinsip fungsional dadi modul terisolasi (tingkat, lapisan). Biasane (kalebu ing konteks pangembangan Java EE), aplikasi perusahaan dipérang dadi telung tingkat:- klien;
- tingkat rata-rata;
- tingkat akses data.
-
Lapisan klien minangka aplikasi sing njaluk data saka server Java EE (lapisan tengah). Server, ing siji, proses panjalukan klien lan ngasilake respon kanggo. Aplikasi klien bisa dadi browser, aplikasi mandiri (seluler utawa desktop), utawa aplikasi server liyane tanpa antarmuka grafis.
-
Tingkat tengah dipérang dadi tingkat web lan tingkat logika bisnis.
-
Lapisan web kasusun saka sawetara komponen sing nyedhiyakake interaksi antarane klien lan lapisan logika bisnis.
Teknologi Java EE ing ngisor iki digunakake ing tingkat web:
- Teknologi JavaServer Faces (JSF);
- Java Server Pages (JSP);
- Basa Ekspresi (EL);
- Servlets;
- Konteks lan Dependency Injection kanggo Java EE (CDI).
-
Lapisan logika bisnis kasusun saka komponen sing ngetrapake kabeh logika bisnis aplikasi kasebut. Logika bisnis minangka kode sing nyedhiyakake fungsi sing nyakup kabutuhan area bisnis tartamtu (industri keuangan, perbankan, e-commerce). Tingkat iki bisa dianggep minangka inti saka kabeh sistem.
Teknologi sing melu ing tingkat iki:
- Enterprise JavaBeans (EJB);
- Layanan web JAX-RS RESTful;
- entitas Java Persistence API;
- Layanan Pesen Jawa.
-
-
Tingkat akses data. Tingkat iki kadhangkala disebut tingkat sistem informasi perusahaan (EIS). EIS kasusun saka macem-macem server database, ERP (Enterprise Resource Planning) sistem perencanaan sumber daya perusahaan lan sumber data liyane. Lapisan logika bisnis ngakses lapisan iki kanggo data.
Ing tingkat iki sampeyan bisa nemokake teknologi kayata:
- Java Database Connectivity API (JDBC);
- Java Persistence API;
- Arsitektur Konektor EE Jawa;
- Java Transaction API (JTA).
Server aplikasi, wadhah, komponen
Ayo deleng definisi Java EE saka Wikipedia. Java EE minangka set spesifikasi lan dokumentasi sing gegandhengan kanggo basa Jawa, nggambarake arsitektur platform server kanggo tugas perusahaan menengah lan gedhe. Kanggo luwih ngerti apa tegese "set spesifikasi" ing konteks iki, ayo digambar analogi karo antarmuka Jawa. Antarmuka Jawa dhewe ora duwe fungsi. Iku mung nemtokake sawetara kontrak miturut kang sawetara fungsi dipun ginakaken. Nanging kelas liyane ngleksanakake antarmuka. Kajaba iku, siji antarmuka bisa duwe sawetara implementasine, sing saben-saben bisa beda-beda ing sawetara rincian. Kanthi spesifikasi kabeh persis padha. Naked Java EE mung sakumpulan spesifikasi. Spesifikasi iki dileksanakake dening macem-macem server Java EE. Server Java EE minangka aplikasi server sing ngetrapake API platform Java EE lan nyedhiyakake layanan Java EE standar. Server Java EE kadhangkala disebut server aplikasi. Data server bisa ngemot komponen aplikasi, sing saben cocog karo level dhewe ing hirarki multi-level. Server Java EE nyedhiyakake macem-macem layanan kanggo komponen kasebut ing wangun wadhah. Kontainer minangka antarmuka antarane komponen sing dadi tuan rumah lan fungsionalitas independen platform tingkat rendah sing ndhukung komponen kasebut. Kontainer nyedhiyakake layanan khusus kanggo komponen sing dadi tuan rumah. Contone, manajemen siklus urip pembangunan, injeksi dependensi, konkurensi, lsp. Wadah ndhelikake kerumitan teknis lan nambah portabilitas. Ana papat jinis wadhah ing Java EE :-
Wadah Applet dileksanakake dening umume browser. Nalika ngembangake applet, sampeyan bisa konsentrasi ing sisih visual aplikasi, nalika wadhah nyedhiyakake lingkungan sing aman.
-
Application Client Container (ACC) ngemot sakumpulan kelas Java, perpustakaan, lan file liyane sing dibutuhake kanggo ngetrapake fitur kayata injeksi, manajemen keamanan, lan layanan jeneng ing aplikasi Java SE.
-
Wadah web nyedhiyakake layanan inti kanggo ngatur lan nglakokake komponen web (servlet, komponen EJB Lite, kaca JSP, saringan, pamireng, kaca JSF, lan layanan web). Iku tanggung jawab kanggo instantiating, initializing lan invoking servlets, lan ndhukung protokol HTTP lan HTTPS. Wadah iki digunakake kanggo nglayani kaca web menyang browser klien.
-
Wadah EJB (Enterprise Java Bean) tanggung jawab kanggo ngatur lan nglakokake komponen model EJB sing ngemot lapisan logika bisnis aplikasi. Nggawe entitas kacang EJB anyar, ngatur siklus urip, lan nyedhiyakake layanan kayata transaksi, keamanan, konkurensi, distribusi, jeneng, utawa kemampuan invocation asinkron.
-
Applets minangka aplikasi antarmuka panganggo grafis (GUI) sing mlaku ing browser. Dheweke nggunakake API Swing sing sugih kanggo ngasilake antarmuka pangguna sing kuat.
-
Aplikasi minangka program sing mbukak ing sisih klien. Biasane antarmuka pangguna grafis (GUI) lan digunakake kanggo pangolahan batch.
-
Aplikasi web (sing dumadi saka servlet lan saringane, pamireng acara web, kaca JSP lan JSF) - mbukak ing wadhah web lan nanggapi panjalukan HTTP saka klien web. Servlet uga ndhukung SOAP lan titik pungkasan layanan web RESTful.
-
Aplikasi perusahaan (dibangun karo Enterprise Java Beans, Java Message Service, Java Transaction API, Asynchronous Calls, Time Services) mbukak ing wadhah EJB. EJB sing dikelola kontainer nangani logika bisnis transaksional. Bisa diakses sacara lokal utawa adoh liwat RMI (utawa HTTP kanggo layanan web SOAP lan RESTful).
Teknologi
Dadi, kita wis ngatur arsitektur. Struktur sakabèhé kudu cetha. Ing proses njlentrehake komponen arsitektur, kita ndemek sawetara teknologi Java EE kayata EJB, JSP, lan liya-liyane. Ayo dideleng kanthi luwih rinci. Tabel ing ngisor iki nuduhake teknologi sing digunakake utamane ing tingkat klien:Teknologi | tujuane |
---|---|
Servlet | Kelas Java sing ngolah panjalukan klien kanthi dinamis lan ngasilake respon (biasane kaca HTML). |
Java Server Faces (JSF) | Kerangka kanggo mbangun aplikasi web kanthi antarmuka panganggo. Ngidini sampeyan nyakup komponen antarmuka panganggo (contone, kolom lan tombol) ing kaca, ngowahi lan validasi komponen kasebut, lan nyimpen data iki ing panyimpenan sisih server. |
Teknologi Facelet Java Server Faces | Iku subtipe saka aplikasi JSF sing nggunakake kaca XHTML tinimbang kaca JSP |
Java Server Pages (JSP) | Dokumen teks sing dikompilasi dadi servlet. Ngidini sampeyan nambah konten dinamis menyang kaca statis (kayata kaca HTML) |
Pustaka Tag Standar Java Server Pages (JSTL) | Pustaka tag sing ngemot fungsi inti ing konteks kaca JSP. |
Basa Ekspresi | Sakumpulan tag standar sing digunakake ing kaca JSP lan Facelets kanggo ngakses komponen Java EE. |
Konteks lan Injeksi Ketergantungan kanggo Java EE (CDI) | Nggantosi pesawat saka layanan sing diwenehake dening wadhah Java EE kanggo ngatur siklus urip komponen, uga nyuntikaken komponen menyang obyek klien ing cara aman. |
Komponen Kacang Jawa | Obyek sing tumindak minangka panyimpenan data sementara kanggo kaca aplikasi. |
Teknologi | tujuane |
---|---|
Komponen Enterprise Java Beans (enterprise bean). | EJB minangka kacang sing dikelola sing ngemot fungsi inti saka sawijining aplikasi. |
Layanan web JAX-RS RESTful | Iki minangka API kanggo ngembangake layanan web sing tundhuk karo gaya arsitektur REST. |
Titik pungkasan layanan web JAX-WS | API kanggo nggawe lan nggunakake layanan web SOAP. |
Entitas Java Persistence API (JPA). | API kanggo ngakses data ing nyimpen data lan ngowahi data kasebut dadi obyek basa pemrograman Jawa lan kosok balene. |
Java EE ngatur kacang | Kacang sing ngatur sing nyedhiyakake logika bisnis aplikasi nanging ora mbutuhake fitur transaksi utawa keamanan EJB. |
Layanan Pesen Jawa | Java Message Service (JMS) API minangka standar olahpesen sing ngidini komponen aplikasi Java EE nggawe, ngirim, nampa, lan maca pesen. Iki njamin komunikasi sing disebarake, dipercaya lan ora sinkron ing antarane komponen. |
Teknologi | tujuane |
---|---|
Java Database Connectivity API (JDBC) | API tingkat rendah kanggo ngakses lan njupuk data saka toko data. Panggunaan khas JDBC yaiku nulis pitakon SQL marang database tartamtu. |
Java Persistence API | API kanggo ngakses data ing nyimpen data lan ngowahi data kasebut dadi obyek basa pemrograman Jawa lan kosok balene. Tingkat API sing luwih dhuwur tinimbang JDBC. Singidaken kabeh kerumitan JDBC saka pangembang ing hood. |
Arsitektur Konektor EE Jawa | API kanggo nyambungake sumber daya perusahaan liyane, kayata:
|
Java Transaction API (JTA) | API kanggo nemtokake lan ngatur transaksi, kalebu transaksi lan transaksi sing disebarake ing pirang-pirang toko data. |
GO TO FULL VERSION