BILICKI VILMOS: PROGRAMRENDSZEREK FEJLESZTÉSE

Page 34

34

Programrendszerek fejlesztése

textusban tárolt adatokat konzisztens módon egy vagy több helyre replikálja lehetővé téve ezzel a robosztus rendszerek kialakítását. Mint már írtuk e szolgáltatás mögött a JGroups áll (a JBoss megvalósítás esetén, más megvalósítás pl.: IBM WebSphere más csoportkommunikációs megvalósítást használ)

5.5.3.

JEE EJB Tároló

Az EJB tároló értelmét gyakran megkérdőjelezik megemlítve azt, hogy elegendő a Web tároló is a szolgáltatás réteg (vagy üzleti logika) megvalósítására. Ez egyszerű alkalmazás esetén lehet, hogy így van de olyan komplexebb alkalmazásnál ahol a tranzakciók több adatbázis kapcsolaton is túlnyúlnak és nem adatbázis hanem Java kód szinten kellene ezeket végrehajtani az EJB konténer kikerülhetetlen. Hasonló a biztonság is: amikor részletes esetleg metódus szintű jogosultságkezelést szeretnénk akkor szintén az EJB tárolót célszerű használnunk. A különböző babok által biztosított absztrakciók, amelyekkel szinkron vagy aszinkron kommunikációt tudunk megvalósítani ismét az EJB-t igényelnek. Amennyiben komponens orientált fejlesztést szeretnénk ismét az EJB konténer adja meg hozzá a megfelelő kereteket (komponensek definiálása, monitorozása, menedzselése, …). A web konténerhez hasonlóan itt is tudunk klaszterezni, de ezen túl támogatva van az üzenet orientált, objektum és távoli eljárás köztesréteg paradigmák megvalósítása is.

5.5.4.

Google AppEngine

A share nothing (csak adatbázis szinten van szinkronizácó) elvét követve autonóm elemekből építkezik (amit már láttunk a tér alapú architektúrában a PU – Processing Unit absztrakciót), ahol a konzisztencia, állapotok szinkronizációja a Bigtable feladata amely a CAP kritériumok BASE permutációját valósítja meg, azaz partíciótűrő és magas rendelkezésre állású a konziszetnica rövid távú kárára. Maga a már említett feldolgozó egység (processing unit) a web konténer által definiált futtató környezetre építhet, ez alatt pedig a Java virtuális gépre. Egy-egy ilyen web alkalmazás képezi a terheléselosztás alapját. A Google köztesréteg ezen web alkalmazásokat helyezi el annyi virtuális gépre amennyi szükséges. Ezen web alkalmazások között a konzisztenciát a felhő adattár Google implementációja a BigTable valósítja meg.

5.5.5.

ESB

Az előzőekben látott köztesrétegek alapvetően az alkalmazások kiszolgálásra lettek megtervezve. Az ESB és az SCA alkalmazás rendszerek kiszolgálását valósítják meg. Az ESB – Vállalati Szolgáltatás Busz (Enterprise Service Bus -ESB) mint ahogy a nevében is benne van egy busz absztrakciós segítségével valósítja meg a különböző rendszerek közötti kommunikációt. Az ESB tekinthető a SOA egyfajta megvalósításának is. A busz üzenet alapú kommunikációt támogat és képes a különböző helyszíneket virtualizálni (klaszterezés segítségével). Számos absztrakciót támogat melyek az üzenetek irányításával, manipulációjával foglalkoznak. Bővebben a 11-12 fejezetekben beszélünk az ESB-ről.

5.5.6.

SCA

Ellentétben az ESB-vel mely az üzenetekre azok manipulálásra koncentrál, az SCA (Szolgáltatás Komponens Architektúra – Service Component Architecture - SCA) egy nagyobb szkópot céloz meg. Alkalmazásokat lehet benne definiálni a SOA koncepció menwww.tankonyvtar.hu

© Bilicki Vilmos, SzTE


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.