Java EE - bu näme?
Java EE , Java SE-iň üstünde gurlan platforma bolup, uly göwrümli, köp derejeli, ulalýan, ygtybarly we ygtybarly tor programmalaryny ösdürmek we işletmek üçin API we iş wagtyny üpjün edýär. Şeýle programmalara uly kärhanalaryň ýüzbe-ýüz bolýan meselelerini çözýändigi üçin kärhana programmalary diýilýär. Şeýle-de bolsa, bu görnüşli programmalardan we Java EE-iň berýän peýdalaryndan diňe uly korporasiýalar we döwlet edaralary peýdalanyp bilmez. Java EE platformasynyň hödürleýän çözgütleri, aýratyn döredijiler we kiçi guramalar üçin peýdaly we käwagt ýönekeý.Java EE ösüşi
Java EE, 1998-nji ýylda döredilen Java Community Process (JCP) arkaly işlenip düzüldi. Gyzyklanýan taraplara Java dil platforma aýratynlyklarynyň geljekki wersiýalaryny düzmäge gatnaşmaga mümkinçilik berýär. Bu amalyň esasy, JS platformasy (Java spesifikasiýa haýyşy), Java platformasyna goşulmagy teklip edilýän aýratynlyklary we tehnologiýalary beýan edýän resmi resminamalar. Şeýle haýyşlar jemgyýetiň agzalary - ýönekeý işläp düzüjiler we kompaniýalar tarapyndan edilýär. Ikinjisine Oracle, Red Hat, IBM, Apache we başgalar girýär. Bular. ýigitler Java-a goşmak isleýän täze aýratynlyklaryny we gowulyklaryny teklip edýärler. Soň bolsa indiki wersiýa nämäni goşmalydygy barada karar kabul edilip, ses berýärler. Java EE wersiýasynyň taryhy şeýle:- J2EE 1.2 (1999-njy ýylyň dekabry)
- J2EE 1.3 (2001-nji ýylyň sentýabr)
- J2EE 1.4 (2003-nji ýylyň Sanjar aýy)
- Java EE 5 (Maý 2006)
- Java EE 6 (2009-njy ýylyň dekabry)
- Java EE 7 (Maý)
- Java EE 8 (2017-nji ýylyň awgust aýy)
- Jakarta EE 8 (2019-njy ýylyň sentýabr)
Java EE amaly arhitekturasy
Gysga giriş Düşünmegi aňsatlaşdyrmak üçin, Java EE programmalarynyň gurluşy we mundan beýläk ulanjak käbir sözlerimiz barada gürleşeliň. Java EE amaly programmalarynda iki esasy häsiýet bar:- Birinjiden, köp derejeli. Java EE amaly programmalary köp derejeli we bu barada has jikme-jik gürleşeris;
- ikinjiden, höwürtge. Içinde komponent konteýnerleri bolan Java EE serweri (ýa-da programma serweri) bar. Bu gaplar öýi (bingo!) Komponentleri.
Programma derejeleri
Köp derejeli programmalar, funksional ýörelgelere laýyklykda izolirlenen modullara (derejeler, gatlaklar) bölünýän programmalardyr. Adatça (Java EE ösüş kontekstinde hem) kärhana programmalary üç derejä bölünýär:- müşderi;
- ortaça dereje;
- maglumatlara giriş derejesi.
-
Müşderi gatlagy, Java EE serwerinden (orta gatlak) maglumat soraýan programma. Serwer, öz gezeginde, müşderiniň haýyşyny işleýär we oňa jogap berýär. Müşderi programmasy brauzer, özbaşdak programma (ykjam ýa-da iş stoly) ýa-da grafiki interfeýssiz beýleki serwer programmalary bolup biler.
-
Orta dereje, öz gezeginde, web derejesine we iş logika derejesine bölünýär.
-
Web gatlagy, müşderiler bilen işewür logika gatlagynyň arasynda özara täsirleşmegi üpjün edýän käbir böleklerden durýar.
Web derejesinde aşakdaky Java EE tehnologiýalary ulanylýar:
- JavaServer Faces tehnologiýasy (JSF);
- Java serwer sahypalary (JSP);
- Düşündiriş dili (EL);
- Hyzmatkärler;
- Java EE (CDI) üçin kontekstler we baglylyk sanjymy.
-
Iş logika gatlagy, programmanyň ähli iş logikasyny durmuşa geçirýän böleklerden durýar. Iş logikasy, belli bir iş meýdanynyň (maliýe pudagy, bank işi, elektron söwda) zerurlyklaryny öz içine alýan funksiýany üpjün edýän kod. Bu derejäni tutuş ulgamyň özeni hasaplap bolar.
Bu derejä gatnaşýan tehnologiýalar:
- Kärhana JavaBeans (EJB);
- JAX-RS IEST GOWY web hyzmatlary;
- Java Persistence API guramalary;
- Java habar hyzmaty.
-
-
Maglumatlara giriş derejesi. Bu dereje käwagt kärhana maglumat ulgamlarynyň derejesi (EIS) diýilýär. EIS dürli maglumatlar bazasy serwerlerinden, ERP (Kärhananyň Resurs meýilnamalaşdyryşy) kärhana çeşmelerini meýilleşdiriş ulgamlaryndan we beýleki maglumatlar çeşmelerinden durýar. Iş logika gatlagy maglumatlar üçin bu gatlaga girýär.
Bu derejede aşakdaky ýaly tehnologiýalary tapyp bilersiňiz:
- Java maglumatlar bazasyna birikmek API (JDBC);
- Java tutanýerlilik API;
- Java EE birikdiriji arhitekturasy;
- Java Transaction API (JTA).
Programma serwerleri, gaplar, komponentler
Wikipediýadan Java EE kesgitlemesine göz aýlalyň. Java EE, orta we iri kärhanalaryň wezipeleri üçin serwer platformasynyň arhitekturasyny beýan edýän Java dili üçin spesifikasiýalaryň we degişli resminamalaryň toplumydyr. Bu kontekstde “spesifikasiýa toplumynyň” nämäni aňladýandygyna has gowy düşünmek üçin geliň, Java interfeýsi bilen meňzeşlik çekeliň. Java interfeýsiniň özi işlemeýär. Diňe käbir funksiýalaryň ýerine ýetirilýän şertnamasyny kesgitleýär. Emma beýleki synplar interfeýsi durmuşa geçirýärler. Mundan başga-da, bir interfeýsde birnäçe jikme-jiklikler biri-birinden tapawutlanyp bilýän birnäçe ýerine ýetiriş bolup biler. Spesifikasiýa bilen hemme zat birmeňzeş. Edalaňaç Java EE diňe spesifikasiýa toplumy. Bu aýratynlyklar dürli Java EE serwerleri tarapyndan amala aşyrylýar. Java EE serweri, Java EE platforma API-lerini ýerine ýetirýän we adaty Java EE hyzmatlaryny hödürleýän serwer programmasydyr. Java EE serwerlerine käwagt programma serwerleri diýilýär. Serwer maglumatlary, köp derejeli iýerarhiýada hersi öz derejesine laýyk gelýän programma böleklerini öz içine alyp biler. Java EE serweri bu böleklere konteýner görnüşinde dürli hyzmatlary hödürleýär. Konteýnerler, ýerleşdirýän komponentleri bilen komponenti goldaýan pes derejeli platforma garaşsyz işleýşiniň arasyndaky interfeýsdir. Konteýnerler ýerleşdirýän komponentlerine aýratyn hyzmatlary edýärler. Mysal üçin, ösüş ömrüni dolandyrmak, garaşlylyk sanjymy, ylalaşyk we ş.m. Konteýnerler tehniki çylşyrymlylygy gizleýär we göterijiligini ýokarlandyrýar. Java EE-de dört dürli gap bar:-
Programma gaplary brauzerleriň köpüsi tarapyndan amala aşyrylýar. Programmalar işlenip düzülende, programmanyň wizual tarapyna jemläp bilersiňiz, konteýner bolsa howpsuz gurşaw berýär.
-
Programma müşderi konteýni (ACC), Java SE programmalarynda sanjym, howpsuzlyk dolandyryşy we atlandyryş hyzmatlary ýaly aýratynlyklary ýerine ýetirmek üçin zerur bolan Java synplarynyň, kitaphanalaryň we beýleki faýllaryň toplumyny öz içine alýar.
-
Web konteýner, web komponentlerini (servletler, EJB Lite komponentleri, JSP sahypalary, süzgüçler, diňleýjiler, JSF sahypalary we web hyzmatlary) dolandyrmak we ýerine ýetirmek üçin esasy hyzmatlary hödürleýär. Hyzmatlary çaltlaşdyrmak, işe girizmek we çagyrmak, HTTP we HTTPS protokollaryny goldamak üçin jogapkärdir. Bu gap, web sahypalaryny müşderi brauzerlerine hyzmat etmek üçin ulanylýar.
-
EJB (Enterprise Java Bean) konteýner, programmanyň iş logika gatlagyny öz içine alýan EJB model komponentlerini dolandyrmak we ýerine ýetirmek üçin jogapkärdir. Täze EJB noýba guramalaryny döredýär, ömrüni dolandyrýar we amal, howpsuzlyk, ylalaşyk, paýlamak, at dakmak ýa-da asynkron çagyryş mümkinçilikleri ýaly hyzmatlary hödürleýär.
-
Programmalar, brauzerde işleýän grafiki ulanyjy interfeýsi (GUI) programmalarydyr. Güýçli ulanyjy interfeýslerini öndürmek üçin baý Swing API-den peýdalanýarlar.
-
Goýmalar, müşderi tarapynda işleýän programmalar. Adatça olar grafiki ulanyjy interfeýsi (GUI) bolup, partiýany gaýtadan işlemek üçin ulanylýar.
-
Web programmalary (serwletlerden we olaryň süzgüçlerinden, web wakalaryny diňleýjilerden, JSP we JSF sahypalaryndan ybarat) - web konteýnerinde işleýär we web müşderileriniň HTTP isleglerine jogap berýär. Hyzmatkärler SOAP we RESTful web hyzmatynyň ahyrky nokatlaryny hem goldaýarlar.
-
Kärhana programmalary (Enterprise Java Beans, Java Message Service, Java Transaction API, Asynchronous Call, Time Services) bilen EJB konteýnerinde işleýär. Konteýner tarapyndan dolandyrylýan EJB-ler tranzaksiýa iş logikasyny dolandyrýarlar. Olara ýerli ýa-da uzakdan RMI (ýa-da SOAP we RESTful web hyzmatlary üçin HTTP) arkaly girip bolýar.
Tehnologiýalar
Şeýlelikde, arhitekturany tertipledik. Umumy gurluşy aýdyň bolmaly. Arhitektura komponentlerini suratlandyrmak işinde, EJB, JSP we ş.m. ýaly käbir Java EE tehnologiýalaryna degip geçdik. Geliň, olara has içgin seredeliň. Aşakdaky tablisada esasan müşderi derejesinde ulanylýan tehnologiýalar görkezilýär:Tehnologiýa | Maksat |
---|---|
Hyzmatkärler | Müşderiniň isleglerini dinamiki taýdan işleýän we jogaplary döredýän Java synplary (köplenç HTML sahypalary). |
Java serwer ýüzleri (JSF) | Ulanyjy interfeýsi bilen web programmalaryny gurmagyň çarçuwasy. Ulanyjy interfeýs komponentlerini (mysal üçin, meýdanlar we düwmeler) sahypada goşmaga, bu komponentleri üýtgetmäge we tassyklamaga we bu maglumatlary serweriň gapdalynda saklamaga mümkinçilik berýär. |
Java Server Facelets tehnologiýasy | JSP sahypalarynyň ýerine XHTML sahypalaryny ulanýan JSF programmasynyň bir görnüşi |
Java serwer sahypalary (JSP) | Serwletlere düzülen tekst resminamalary. Statiki sahypalara dinamiki mazmun goşmaga mümkinçilik berýär (HTML sahypalary ýaly) |
Java serwer sahypalary standart bellik kitaphanasy (JSTL) | JSP sahypalarynyň kontekstinde esasy işlemegi öz içine alýan bellik kitaphanasy. |
Düşündiriş dili | Java EE komponentlerine girmek üçin JSP we Facelets sahypalarynda ulanylýan standart bellikler toplumy. |
Java EE (CDI) üçin kontekstler we baglylyk sanjymy | Komponentleriň ömrüni dolandyrmak, şeýle hem müşderileriň obýektlerine ygtybarly usulda sanjym etmek üçin Java EE konteýnerleri tarapyndan hödürlenýän hyzmatlar toplumyny aňladýar. |
Java noýba komponentleri | Programma sahypalary üçin wagtlaýyn maglumat saklaýjy hökmünde çykyş edýän obýektler. |
Tehnologiýa | Maksat |
---|---|
Kärhana Java noýbasy (kärhana noýbasy) komponentleri | EJB-ler programmanyň esasy işleýşini öz içine alýan noýba dolandyrylýar. |
JAX-RS IEST GOWY web hyzmatlary | REST arhitektura stiline laýyk gelýän web hyzmatlaryny ösdürmek üçin API. |
JAX-WS web hyzmatynyň ahyrky nokatlary | SOAP web hyzmatlaryny döretmek we sarp etmek üçin API. |
Java Persistence API (JPA) guramalary | Maglumat dükanlarynda maglumatlara girmek we şol maglumatlary Java programmirleme dil obýektlerine öwürmek üçin API. |
Java EE noýba dolandyrdy | Programmanyň iş logikasyny üpjün edýän, ýöne EJB-iň amal ýa-da howpsuzlyk aýratynlyklaryny talap etmeýän dolandyrylýan noýba. |
Java habar hyzmaty | Java habar hyzmaty (JMS) API habarlaşma standarty bolup, Java EE programma böleklerine habar döretmäge, ibermäge, almaga we okamaga mümkinçilik berýär. Bu komponentleriň arasynda paýlanan, ygtybarly we asynkron aragatnaşygy üpjün edýär. |
Tehnologiýa | Maksat |
---|---|
Java maglumat bazasyna birikmek API (JDBC) | Maglumat dükanlaryndan maglumatlary almak we almak üçin pes derejeli API. JDBC-ni adaty ulanmak, belli bir maglumat bazasyna garşy SQL talaplaryny ýazmakdyr. |
Java tutanýerlilik API | Maglumat dükanlarynda maglumatlara girmek we şol maglumatlary Java programmirleme dil obýektlerine öwürmek üçin API. JDBC bilen deňeşdirilende has ýokary derejeli API. JDBC-iň ähli çylşyrymlylygyny kapotyň aşagyndaky işläp düzüjiden gizleýär. |
Java EE birikdiriji arhitekturasy | Beýleki korporatiw çeşmeleri birikdirmek üçin API:
|
Java Transaction API (JTA) | Birnäçe maglumat dükanlarynda paýlanan amallary we amallary goşmak bilen amallary kesgitlemek we dolandyrmak üçin API. |
GO TO FULL VERSION