Enterprise JavaBeans 1.4 platform (EJB 2.0)

Hasonló dokumentumok
Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

A Java EE 5 plattform

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Adatkezelés. 11. előadás (Entity Beans)

5. rész: A Java EE és az Enterprise Bean réteg. Bakay Árpád dr. NETvisor kft (30)

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

A Java Persistence API PersistenceAPI / 3

Komponens alapú programozás Bevezetés

JEE tutorial. Zsíros Levente, 2012

Enterprise Java Beans. EJB - Általános bevezető

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

Bevezető. Servlet alapgondolatok

és az instanceof operátor

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István Viczián István

Perzisztencia. ANTAL Margit. Sapientia - EMTE. ANTAL Margit Java technológiák 11. előadás Perzisztencia

Segédanyag: Java alkalmazások gyakorlat

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Segédanyag: Java alkalmazások gyakorlat

Se S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció

Már megismert fogalmak áttekintése

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Interfészek. PPT 2007/2008 tavasz.

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

OOP: Java 8.Gy: Abstract osztályok, interfészek

Enterprise JavaBeans fejlesztési példa

Enterprise JavaBeans fejlesztési példa

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

CORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Osztott alkalmazások fejlesztési technológiái Áttekintés

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

JAVA webes alkalmazások

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

S04-2 Elosztott alkalmazások készítése

Programozási nyelvek Java

7. rész: A specifikációtól az implementációig az EJB rétegben

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

Kompozit alkalmazások fejlesztése. IBM WebSphere Portal Server

Tartalom. Az EJB 2.1 problémái Az EJB 3 megoldásai

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

Áttekintés. Tartalom. Mi is az a Bean?

Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék

Java Remote Method Invocation API

Abstract osztályok és interface-ek. 7-dik gyakorlat

Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté

MVC desktop alkalmazás esetén. MVC Model-View-Controller. eredete: Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet

A JavaServer Pages (JSP)

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

OOP és UML Áttekintés

Osztott rendszerek, Java EE. Általános bevezető

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Programozási nyelvek Java

Java Web technológiák

Szervlet-JSP együttműködés

6. rész: EJB-k tervezése és implementálása

S01-7 Komponens alapú szoftverfejlesztés 1

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

A JavaServer Pages (JSP)

Stateless Session Bean

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Adatbázis rendszerek I

JNDI - alapok. Java Naming and Directory Interface

Java RMI Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. javarmi / 1

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.

R I Szer e i r alizáció.

XML adatkezelés I. Az SAX szabvány. Dr. Kovács László Miskolci Egyetem Általános Informatikai Tanszék. XML adatok kezelési lehetőségei

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

Java RMI Áttekintés. A Java RMI. A Java RMI architektúrája. Ficsor Lajos. Általános Infromatikai Tanszék Miskolci Egyetem 1.

Szerver oldali Java programozás /II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése.

Osztályok. 4. gyakorlat

Java felhasználói felület

Biztonság java web alkalmazásokban

Java I. A Java programozási nyelv

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Objektum orientált programozás Bevezetés

Komponens modellek. 3. Előadás (első fele)

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

JAVA SE/ME tanfolyam tematika

Metamodellezés. Simon Balázs BME IIT, 2011.

Objektumelvű programozás

Programozási nyelvek Java

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

A JavaServer Pages (JSP)

Web-fejlesztés NGM_IN002_1

OOP: Java 8.Gy: Gyakorlás

Párhuzamos és Elosztott Rendszerek II

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok

Univerzális munkafolyamat szimulátor

C++ programozási nyelv

JAVA PROGRAMOZÁS 2.ELŐADÁS

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Komponensek együttműködése web-alkalmazás környezetben. Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT

Átírás:

Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) szerver oldali komponens, amely Az üzleti logika valamely elemének reprezentációja Egy konténerben fut A konténer szolgáltatásokat biztosít a bean számára tranzakciókezelés perzisztencia biztonsági funkciók A kliens soha nem közvetlenül az EJB-vel van kapcsolatban, hanem a konténerrel Az Enterprise JavaBeans EJB / 2 A kliens és s az EJB kapcsolata Az Enterprise JavaBeans EJB / 3

Az EJB részeir Több file, amelyek JAR file-ba vannak foglalva Deployment descriptor (telepítés leíró) XML file, információkat tartalmaz a bean-ről. Például Perzisztencia fajtája Tranzakció fajtája Egy segédprogrammal állítható elő Az Enterprise JavaBeans EJB / 4 Az EJB részei r (folyt.) Interface-ek Remote interface, amely a bean "hasznos" funkcióinak elérési pontja Home interface, amely a bean életciklusát kezeli A fentiek lokálisan elérhető változatai Az interface-eket implementáló bean osztály Segítő osztályok, amelyek a bean osztály implementálásához szükségesek (adatok, kivételek stb.) Az Enterprise JavaBeans EJB / 5 Elnevezési konvenció Szokásos az alábbi elnevezési konvenció használata: Item Enterprise bean name EJB JAR display name Enterprise bean class Home interface Remote interface Local home interface Local interface Syntax <name>ejb <name>jar <name>bean <name>home <name> Local<name>Home Local<name> Example AccountEJB AccountJAR AccountBean AccountHome Account LocalAccountHome LocalAccount Az Enterprise JavaBeans EJB / 6

A session Bean Egy egyszerű kliens kérést reprezentál a szerveren Elválasztja a klienst a szerver által végzett bonyolultabb tevékenységektől Általában egy klienst tud kiszolgálni egyszerre Ha a kliens terminálódik, a bean is megszűnik Ha a szerver leáll, a bean elvész Két fajtája van: Stateful (állapottal rendelkező) session bean Stateless (állapot nélküli) session bean Az Enterprise JavaBeans EJB / 7 Stateful session bean Megőrzi a kliens egyes hívásai között az adatokat Ha a szervernek memóriát kell felszabadítania, a bean-t el kell mentenie, majd szükség esetén visszaállítania Az Enterprise JavaBeans EJB / 8 Stateful session bean életciklusa Kliens hívja Konténer hívja ("callback") Memóriában van Háttértáron van Az Enterprise JavaBeans EJB / 9

Stateless session bean Semmilyen klienssel kapcsolatos információt nem őriz meg a kliens hívásai között Csak egy metódus végrehajtásának idejére tud adatokat megőrizni Bármely példány egyenértékű a kliensek számára Metódushívás idején kívül a szerver kisöpörheti a memóriából lementés nélkül Hatékonyabban tud működni Az Enterprise JavaBeans EJB / 10 Stateless session bean életciklusa Kliens hívja Konténer hívja Az Enterprise JavaBeans EJB / 11 Session bean-ek ek használata Egy időben csak egy kliens használja Az állapotát nem, vagy csak rövid időre kell megőriznie Az Enterprise JavaBeans EJB / 12

Stateful session bean használata Vannak a kliens és a bean párbeszédére jellemző adatok Vannak két hívás között megőrzendő adatok A bean valójában összekötő elem a kliens és az alkalmazás más komponense(i) között A bean más EJB-k közötti munkamegosztást vezérel Az Enterprise JavaBeans EJB / 13 Stateless session bean használata Nincs kliens specifikus adat Általános feladatot lát el a kliensek részére Az Enterprise JavaBeans EJB / 14 Az entity bean Egy állandó tárolásra szánt objektum (adatbázis tartalom) reprezentálása a feladata Legfontosabb jellemzői: Perzisztencia: státusa az alkalmazás vagy a szerver élettartamán kívül is megőrződik. Megosztott (shared) elérés: egyszerre több kliens is használhatja. Az adatmódosítás konzisztenciáját a tranzakció kezelés biztosítja. Van egyedi azonosítója (primary key). Kapcsolatok: kapcsolatban állhat más entity beanekkel. Az Enterprise JavaBeans EJB / 15

A perzisztencia biztosítása sa Egyszerű Java objektumoknál Java Object Serialization Object Relational Mapping Entity Bean-ek esetén: leképezés relációs adatbázisra Egy bean-hez egy tábla tartozik A tábla sorai a bean egy-egy állapotát jelentik A bean adattagjai a tábla mezőinek felelnek meg Egy példányosított entity bean az adatbázis egy view-ja A konténer vagy a bean kódja valósítja meg Az Enterprise JavaBeans EJB / 16 A perzisztencia biztosítása sa (folyt.) Container-Managed Persistence (CMP) A bean adatbázisra való leképezése a konténer feladata. A leképezendő adatok a perzisztens mezők (persistent fields). A perzisztens mezők nem adattagok a bean osztályban, hanem a telepítés leíróban tárolt "absztrakt sémák". A bean osztály kódjában a perzisztens mezők csak a "getter - setter" metódusaikkal vannak jelen. A konténer a bean-t egy táblára, a perzistens mezőket a tábla mezőire (oszlopaira) képezi le. Az Enterprise JavaBeans EJB / 17 A perzisztencia biztosítása sa (folyt.) Container-Managed Persistence (CMP) (folyt.) A bean állapotának (perzisztens mezői értékeinek) és az adatbázis táblának a szinkronizálása automatikus. A bean osztály nem tartalmaz adatbázis kezelő kódot. A bean implementációja teljesen független az alkalmazott adatbáziskezelőtől. Az Enterprise JavaBeans EJB / 18

A perzisztencia biztosítása sa (folyt.) Bean-Managed Persistence (BMP) A bean állapotát a bean osztály adattagjai határozzák meg A bean állapotának adatbázisba mentése a bean feladata, tehát tartalmaz adatbázis kezelő kódot. Az Enterprise JavaBeans EJB / 19 Az entity bean-ek ek használata A bean az üzleti logika egy elemét reprezentálja, nem eljárást vagy folyamatot. A bean állapota perzisztens kell legyen. A bean állapota az alkalmazás befejeződése vagy a J2EE szerver leállása után is meg kell hogy maradjon. Az Enterprise JavaBeans EJB / 20 Egy entity bean életciklusa Kliens hívja Konténer hívja Az Enterprise JavaBeans EJB / 21

EJB interface-ek ek Az Enterprise JavaBeans EJB / 22 A remote interface és s implementáci ciója A remote interface-t implementáló EJBObject osztályt a fejlesztő eszköz generálja Feladata, hogy a konténer kezelés különbözőségeit elrejtse A fejlesztő feladata csak az üzleti metódusokat definiáló interface és az azt implementáló EJB osztály megírása. Az Enterprise JavaBeans EJB / 23 EJB objektum hívásah Kliens EJB konténer EJB Fejlesztő írja Remote interfész Konténer szolgáltatások EJB Object Generálódik Az Enterprise JavaBeans EJB / 24

A home interface Az EJB életciklus metódusait definiálja Segítségével szerezhető meg a remote interface referenciája Szerepe EJB "factory" Már létező EJB megkeresése Ennek az implementációja is generálódik. Az Enterprise JavaBeans EJB / 25 A home interface: : példap public interfacetestejbhome extends EJBHome { public TestEJB create(string parameter1, String parameter2) throws RemoteException, CreateException; public TestEJB findbyprimarykey(testejbkey parameter1) throws RemoteException, FinderException; } Az Enterprise JavaBeans EJB / 26 Az EJB osztály Implementálnia kell a megfelelő bean interface-t és az üzleti metódusokat, amelyeket a remote interface definiál. Session Bean: public class TestBean implements SessionBean {... } Entity Bean: public class TestBean implements EntityBean {... } Az Enterprise JavaBeans EJB / 27

Az EJB osztály (folyt.) Implementálni kell a callback metódusokat is (még azt is, aminek a törzse üres). Az Enterprise JavaBeans EJB / 28 Irodalom The J2EE Tutorial Enterprise JavaBeans Technology Fundamentals Short Course Braun Tamás: Internet banki alkalmazás fejlesztése J2EE technológiával és az IBM Websphere alkalmazás szerverrel Diplomaterv, Általános Informatikai Tanszék, Miskolc, 2002. Az Enterprise JavaBeans EJB / 29