Webszerver vs. alkalmazásszerver

2007.11.19. 23:41 | JavasAsszony | Szólj hozzá!

Ha weben jelenik meg a rendszerünk, kell egy kiszolgáló, ami a böngészőkből érkező kéréseket megválaszolja. Ez szokott lenni a webszerver. Egy ilyen webkiszolgáló szolgáltathat előregyártott HTML lapokat, illetve dinamikus tartalmat is. Az előbbit bármilyen webszerver képes szolgáltatni, míg az utóbbi esetében valami komolyabb rendszer kell.

Java-t használva a "web container" elnevezéssel élünk alapesetben. Ez egy egyszerűbb kiszolgálót takar, amely futtatni tud megfelelően megírt Java programokat (servlet-eket, kis programokat a webes feldolgozáshoz rögzített egyszerű szerkezettel), amelyek akár adatbázissal beszélgetve legyártják a szükséges tartalmat. Ez aránylag egyszerű.

Az web container sokmindenre alkalmas, ám komplex feladatokhoz már kevés. Ilyenkor az alkalmazás már nem tartaható kézben egyszerű programocskák halmazaként, komplexebb felépítést igényelnek. Általában három fő részre szedjük az alkalmazást: az adatokat tartalmazó modell részre, az üzleti logikára és a megjelenítésre. Nyilvánvalóan ezen részek kezelése is komplexebb feladatot jelent, mint a servlet-ek esetében. Szerencsére Java-ban erre megfelelő eszközök vannak, elsősorban az alkalmazásszerverek. Ezek általában egy "EJB container" (Enterprise JavaBean futtatókörnyezet, amely a rábízott EJB komponenseket kezeli) és egy web container részből állnak össze, illetve rendszertől függően számtalan modul nyújthat körítést. Egy alkalmazásszerver funkciói többek között az adatbázisban található adatstruktúra leképezése Java osztályokra (Entity bean-ek), valamint ezek állapotának tárolása (perzisztencia); az üzleti logika megvalósítása Enterprise JavaBean-ek (önálló feladatot végző, menedzselt komponensek) formájában, illetve a megjelenítéshez meglepő módon a már ismert web containert alkalmazzák. Mindebben az a hasznos, hogy rengeteg rutinfeladatot ("favágást") átvesznek a fejlesztőtől, mint például az adatbázis-kapcsolatok kezelését, vagy az erőforrások elosztását több kiszolgáló számítógép között. Az alkalmazásszerveren futó rendszernek mindegy, hogy minden egy gépre lett telepítve vagy 10 gépen elosztva fut a rendszer.

Ezekre a rendszerekre persze a későbbiekben még bőven visszatérünk, mivel az Enterprise Java technológia alapját képezik.

Példák a rendszerekre:
Web container: Tomcat, Jetty
Alkalmazásszerver: JBoss, Liferay, IBM WebSphere, BEA WebLogic

Címkék: webszerver enterprise java java ee alkalmazasszerver ejb servlet

A bejegyzés trackback címe:

https://enterprisejava.blog.hu/api/trackback/id/tr62235039

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.

Enterprise Java

Amióta Java Enterprise környzetben dolgozom, látom, hogy mennyi energia megszerezni a szükséges tudást. Ezen próbálok segíteni e bloggal a magyar közösségnek.

Szavazás!

Friss topikok

  • jklm: az eddigi leirasokat nagyon koszonom, nagyon hasznoask voltak. csak igy tovabb! (2008.03.06. 19:33) Indulunk!

Linkblog

Licenc

Creative Commons Licenc

HTML

süti beállítások módosítása