Oldalak

2015. május 8., péntek

Mi is a Java Enterprise Edition

A Java Enterprise Edition (JavaEE) nem más, mint az üzleti alkalmazások fejlesztéséhez definiált programozói keretrendszer, mely API-kat definiál és ezekhez referencia implementációkat ad. A JavaEE a Java SE-re (Standard Edition) épülő fejlesztői keretrendszer. Talán úgy is lehet mondani hogy ilyen szempontból nincs különbség a JavaEE és a Java Collection Framework között.
A java.utils.Collection csomag tartalmazza pl a List interfész definícióját, melynek az egyik implementációja az ArrayList, melyet mindenkinek ismernie kell, aki írt már programot standard Java-ban.
 A JavaEE koncepció lényege, hogy egy úgynevezett alkalmazásszerver segítségével olyan környezetet biztosít, mely egy N rétegű alkalmazásarchitektúra kialakítását támogatja. Az alkalmazásszerver konténereket tartalmaz, melybe betölthetők az általunk készített Java osztályok. Ezeket az osztályokat az alkalmazásszerver menedzseli. Példányosít, szerializál, kommunikációs csatornát biztosít más objektumokkal, melyek más konténerekben, vagy akár másik JVM-ben is futhatnak. A konténerek tehát szolgáltatásokat nyújtanak, melyeket felhasználva tudjuk elkészíteni az üzleti N rétegű alkalmazásunkat, jól elkülönítve benne az üzleti logikát, az adatbázis kezelési funkcióktól, vagy a felhasználói interfésztől.
A JavaEE referencia implementációja a Glassfish alkalmazásszerver. Ez mellett találhatók a piacon további alkalmazásszerverek is melyek a különféle nagy cégek sajátjai (Weblogic, JBoss) illetve nyílt forráskódú szererek is (WildFly).
Az alkalmazásszerverek biztosítják a környezetet az osztályaink, objektumainknak. Ez a környezet a korábban már említett konténerekből áll. Az úgynevezett webkonténerben futnak a servletek, illetve az alkalmazás weboldalai itt tárolódnak. Az EJB konténerben pedig a JavaEE alkalmazás legfontosabb objektumai az Enterprise Java Bean-ek találhatók. A konténerek szolgáltatásokat nyújtanak a bennük létező objektumoknak, melyeket felhasználva "drótozhatjuk" össze az alkalmazásunkat.
A felhasználói felületek is többfélék lehetnek. Vastagkliens, webes vagy mondjuk Android vagy iOS kliensek jellemzően. A vastagkliensek az EJB-kkel kommunikálnak, a webes kliensek weboldalakon keresztül érik el a servleteket, az egyéb más kliensek pedig pl a szabványos  REST interfészen keresztül webservice-ket hívogatnak.

A jellemző architektúra tehát az hogy valamilyen kliens direktbe, vagy webservice-on keresztül szólítgatja az EJB konténerben csücsülő bean-eket. Ezek a bean-ek általában kapcsolatban vannak egy adatbázissal (Oracle, MySQL, Postgress stb), ahol az adatok tárolása történik.


Nincsenek megjegyzések:

Megjegyzés küldése