UNIVERSITY OF SZEGED Department of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programrendszerek fejlesztése Bevezető Dr. Bilicki Vilmos Szegedi Tudományegyetem Informatikai Tanszékcsoport Szoftverfejlesztés Tanszék
Dec 30, 2015
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Programrendszerek fejlesztése Bevezető
Dr. Bilicki Vilmos
Szegedi Tudományegyetem
Informatikai Tanszékcsoport
Szoftverfejlesztés Tanszék
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
TartalomKövetelményekBemutatkozásCélok
■ Nem funkcionális/rendszer követelmények■ Skálázhatóság
A félév áttekintése
23.04.19. 2Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Követelmények
Gyakorlat 50% (20 %)ZH előadáson 50% (20%) (Tavaszi
szünet utáni első előadás)Vizsga az osztályzat 60%-át adjaJegyzet:
■ http://tananyagfejlesztes.mik.uni-pannon.hu/index.php?option=com_content&view=article&id=58&Itemid=71#Programrendszerek%20fejleszt%C3%A9se
23.04.19. 3Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
SZTE – Szoftverfejlesztés Tanszék
Számok:■ ~ 130 munkatárs (80%
projekt állás)■ ~ 3500 hallgató
Fókusz területek:■ Szoftver Minőség■ Nyílt forráskódú
fejlesztés■ Nagy rendszerek
fejlesztése
23.04.19. 4
R&D Oktatás
Ipari Projektek
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
M2M Csoport
23.04.19. 5Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Célok
Startégiai szintű áttekintés:Nagy skálázható rendszerek fejlesztése
■ Problémák■ JEE alapú megoldások
– Milyen rétegeket használjunk?– Hogyan fejlesszünk produktívan skálázható
alkalmazást?
23.04.19. 6Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
A tantárgy tematikájaAz Információs rendszerek architektúrájaKözéprétegek, ezek szolgáltatásaiÜzenet alapú rendszerekAlkalmazásszerverek és szolgáltatásaikJ2EEObjektum perzisztencia.
■ Különböző perziszetencia rendszerek bemutatása. (Hibernate, EJB2.1, EJB3.0, …)
Web SzolgáltatásokTervezési minták
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Alkalmazás rétegelés Az alkalmazás kompnensek feladatának elválasztása
■ Megjelenítés réteg– A kérés/válasz objektuomkra koncentrál– Megoldja a modell alapján a GUI renderelést– Formázási és nem üzleti logika alapú validálási logikát tartalmaz– A más rétegek által dobott kivételeket kezeli
■ Perzisztencia réteg – A tárolókkal kommunikál– Lekérdezés nyelvet biztosít– ORM képesség– JDBC, Hibernate, iBATIS, JDO, Entity Beans, …
■ Domén réteg – Az üzleti objektumokat tárolja, ezek a többi rétegben is
felhasználhatóak– Kezeli az üzleti objektumok közötti komplex relációat– Gazdag üzleti logika– ORM– A domén objektumok csak egymástól függhetnek
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Szolgáltatás réteg?
• Hogyan pozicionáljuk a lazán csatolt üzleti logikát?
• Mi a szolgáltatás logika?
•Hogyan kell a konténer szintű szolgáltatásokat megvalósítani?
•Hogyan kezeljük a POJO alapú alkalmazásokban a tranzakciókat?
• Hogyan kommunikáljunk a megjelenítési rétegből a perzisztencia rétegbe?
•Hogyan kapunk üzleti logikát megvalósító szolgáltatásokat?
•Hogyan kommunikálnak az üzleti objektumok a perzisztencia téteggel?
• Hogyan adjuk át a prezisztencia rétegben található objektumokat a UI rétegnek?
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Alkalmazás rétegek
■ Szolgáltatás réteg– Egy átjáró amely segítségével az üzleti logikát
biztosítjuk a külvilág számára– Kezeli a tároló szintű szolgáltatásokat
(tranzakciók, biztonság, …)– Sok alkalmazásban nincs megfelelően
definiálva
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Alkalmazás architektúra
3 Rétegű Vs. MVC
23.04.19. 11Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Minta rendszer
23.04.19. M2M Statusreport 12
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
2. Elosztott rendszerekProblémákÁtteszőségekArchitektúrák
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Valós nagy rendszerrel kapcsolatos tapasztalatok (Inktomi)
23.04.19. 14
Összeomlások/Merevlemez hibák Óránként
Adatbázis frissítések Naponta
Szoftver frissítések Hetente/Havonta
OS frissítések Kétszer
Energetikai hibák néhány
Hálózat hibák 11
Az egész infrastruktúra fizikai átköltöztetése
2
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
SkálázhatóságAdat tárolás/Feldolgozás
■ Vertikális (Scale up)– Fizikai korlátai vannak (processzorok száma, JVM
szemétgyűjtő, …)– Közös memória mint kommunikációs médium
■ Horizontális (Scale out)– Elosztott rendszer (Leslie Lamport: „Elosztott rendszer
az ahol egy addig teljesen ismeretlen számítógép hibája teszi használhatatlanná a gépünket”)
– Elvileg korlátlan (elosztottságból fakadóan nem lehet ACID)
– Távoli hozzáférés problematikája (érték szerint vs. referencia szerint)
23.04.19. 15Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Határok – CAP tétel (Brewer tétele) Internet méretű elosztott rendszerek
■ C – Konzisztencia (Minden csomópont ugyanazt az adatot látja adott időben)
– A – Atomi – C - Konzisztens– I - Elkülönítés– D - Tartósság
■ A - Rendelkezésre állás (csomópontok kiesése nem akadályozza meg a maradókat a működéstől)
– X % időben elérhető■ P - Partíció tűrés (tetszőleges üzenetvesztést tolerál)
– Gilber és Lynch definíciója szerint „A teljes rendszer (hálózat) hibáján kívül semmilyen hiba kombináció sem okozhatja azt, hogy a rendszer hibásan válaszol”.
Ezek közül csak kettő teljesülhet
23.04.19. 16Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
3. Átszövődő vonatkozások
KontextusokTranzakciós kontextusBiztonsági kontextusPerzisztencia kontextus, …
23.04.19. 17Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Kontextus
23.04.19. 18 Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
4. Köztesréteg
SzolgáltatásaiKonkrét példák:
■ P2P középréteg (PECES)■ Adatközpontú köztesréteg : Apache Hadoop■ Feldolgozás központú köztesréteg: JEE
konténer
23.04.19. 19Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Motiváció – nem funkcionális követelmények Rendelkezésre állás: azon idő amely alatt a komponens képes kielégíteni a funkcionális
követelményekben meghatározott funkciókat azon időhöz viszonyítva amikor ezt nem tudja megtenni.
Kapacitás/Skálázhatóság: A komponens a terhelés növekedésével is képes ellátni a funkcionális követelményekben megfogalmazott feladatokat.
Párhuzamosság: A komponens a több egymással párhuzamos terhelés hatására is képes ellátni a funkcionális követelményekben megfogalmazott feladatokat.
Fejleszthetőség: A komponens új funkcionális követelményeket is el tud látni viszonylag szerény fejlesztési ráfordítással.
Együttműködési képesség: A komponens képes környezetével és a szükséges komponensekkel aránytalan plusz terhelés okozása nélkül is együttműködni.
Késleltetés: A komponens az adott funkcionális követelményben szereplő szolgáltatását adott terhelés mellett adott időtartamon belül kiszolgálja.
Karbantarthatóság: A komponensnek támogatnia kell az adott szervezetben definiált karbantartási feladatokat (pl.: backup)
Menedzselhetőség: A komponensnek támogatnia kell a megfelő konfigurálhatósági szintet.
Monitorozhatóság: A komponensnek monitorozhatónak kell lennie. Visszaállíthatóság: Hibás adat esetén a komponensnek támogatnia kell a megfelelő
állapot visszaállítását. Biztonság: A komponensnek a helyi biztonsági előírásoknak megfelelően kell működnie. Konzisztencia: A komponens az adatot konzisztens állapotban tartja.
23.04.19. Programrendszerek fejlesztése 20
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Infinispan
Memória alapú adat rács (data grid)■ Nagy heap (a redundanciától függően)■ Nem kell viszony tartás (bárhonnan elérhető)
Cache interfész ->Map-et terjeszti kiA Jboss gyorsítótáron alapul (Jboss
cache)Tranzakció támogatás (XA)
23.04.19. Programrendszerek fejlesztése 21
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Architektúra
23.04.19. Programrendszerek fejlkesztése 22
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Apache Hadoop Nem valós idejű feldolgozásra Nagyon nagy adatmennyiségek
kezelésére Elemei:
■ Elosztott fájlrendszer■ Elosztott feldolgozó keretrendszer
Számos kiegészítő keretrendszer■ Zookeper■ Hbase■ Hive■ Pig Latin■ …
23.04.19. Programrendszerek fejlkesztése 23
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
5. Nyelvi trendek, paradigmák: logika megvalósítása
OO és azon túl Tartomány specifikus nyelvek
■ Szabály és folyamat alapú tartomány specifikus nyelvek
23.04.19. 24Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Folyamat nyelvek WFMS – Munkafolyamat Kezelő Rendszerek (Workflow Management
System) 80-as évek adatközpontú világnézet
■ az adatok voltak a fejlesztők fókuszában és nem a folyamatok
Ma már kellő intelligencia található a különböző keretrendszerekben -> a folyamatok álljanak a fejlesztők, sőt az adott tartomány szakértői azaz a nem szoftver fejlesztők figyelmének központjában.
Munkafolyamat leíró nyelvek■ grafikus megjelenítéssel is rendelkeznek■ magát a folyamatot megfelelő fejlesztő eszközök segítségével nem programozó is meg
tudja tenni.
Alkalmazási területek■ üzleti folyamatok modellezése■ hagyományos üzleti folyamatok koordinálása■ Komponens keretrendszerek■ Munkafolyamatok közötti interakciók■ B2B interakciók■ felhasználói folyamatok
A logika dinamikusan változtatható akár futásidőben is.
23.04.19. 25Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Folyamat nyelvek
Felhasználói folyamatok -> pageflow (JSF/SEAM)
Üzleti folyamatok -> BPLE4WS
23.04.19. Programrendszerek fejlesztése 26
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Szabály nyelvekA tudás ábrázolásának egy módja a
szabályokkal történő ábrázolás. Az erre épülő rendszereket Produkciós
Szabály Alapú rendszereknek nevezik (Production Rule Engine).■ bemeneti adatok (tényeknek nevezik ebben
a körben – Facts)■ szabályok (Rule) ■ eredmények/események
23.04.19. Programrendszerek fejlesztése 27
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Következtető Motor – Inference Engine
A szabály motorok központi elemeA tényeket és a hozzájuk tartozó szabályokat
párosítja minta illesztés segítségévelElemei:
Munka memória (tények)
Produkciós memória (szabályok)
Minta illesztő Konfliktus feloldás
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
6. Nyelvi megoldások, paradigmák: ontológiaOO és azon túlXML és azon túlOntológia alapú
leírásokOWL, típusai, …KövetkeztetésOntológia illesztés
23.04.19. 29Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
1. A tartalom fogyasztók és a tartalom gyártók közötti megkülönböztetés elmosása
Wiki, Blog-ok, és a Twiter a szöveges publikálást tömeges jelenséggé tették a flickr és a youtube hasonló eredményt ért el a multimédia területén
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
A szociális web oldalak: del.icio.us, facebook, FOAF, linkedin, myspace és Xing lehetővé teszik a közösségeknek, hogy gördülékenyen információt cseréljenek és együttműködjenek
2. Az egyedek számára készített médiától elmozdult a közösségek számára készített média felé
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
3. A szolgáltatás gyártók és a szolgáltatás fogyasztók közötti különbség elmosása
Mashups-ok segítségével a felhasználók mások által készített szolgáltatásokat integrálhatnak weboldalaikba
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
RDF: közvetlenül csatol irányított gráf
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
6. Rest/Web Szolgáltatások
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
REST architektúra
35Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
A SOA fő elemeiXMLSOAPWSDLWSILUDDI
36Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
7. Felhasználói interakcióAz interakció típusaiA HTTP protkollAJAX alapú
megoldások■ GWT■ RAP
Servlet alapú megoldások
JSP alapú megoldásokJSF alapú megoldások
23.04.19. 37Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
AJAX Új felhasználói élmény
■ Részleges frissítés■ Aszinkron háttérben történő frissítés
Dinamikus GUI Nagy adatmennyiség kezelése
23.04.19. 38Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Hogyan működik
23.04.19. 39Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
8. Háttér logika Java Enterprise Edition
■ EJB specifikáció (3.0)■ EJB komponensek
Injection Scope Transaction EJB
■ Session Bean– Stateless– Statefull
■ Entity Bean (Miért nem)– BMP– CMP
■ Message Driven Bean– Durable– Non Durable
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
23.04.19. 41Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
SEAM
JSF
JSF vs. Seam
JSF Page
JSF Page
JSF Page
JSF Page
POJO Facade
POJO Facade
Session EJB
Entity EJB
Session EJB
Entity EJB
Managed Bean
Automatically wrapped in Managed Bean
23.04.19. 42Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
9. Adatkezelés PerzisztenciaObject serialization APIORM Hibernate
■ Bevezetés■ Architektúra■ Hello world
– Java File– Mapping file– Műveletek– Konfiguráció
■ Interfaces■ Mappelés
(Kollekciók,Asszociációk,Leszármazások)
■ Lekérdezések■ Optimalizálás(fetching and caching)■ Tesztelés
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Entitás állapotok Tranziens:
■ Az újonnan példányosított (a new operátorral) objektumok még nem perzisztensek.
■ Ezek az objektumok nem lehetnek tranzakcionálisak, azaz a rajtuk végrehajtott bármely módosítási művelet nem lehet része tranzakciónak.
■ Ha egy tranziens objektumot perzisztálni akarunk, vagy más szóval a tranziens állapotból perzisztensbe akarjuk helyezni, a perzisztencia menedzser save függvényét kell meg hívni az objektumra, vagy egy perzisztens objektumból hivatkozni kell a tranziens objektumra.
Perzisztens: ■ A perzisztens állapotban lévő objektumpéldány
rendelkezik egy elsődleges kulccsal azonosított érvényes adatbázis bejegyzéssel.
■ A tranzakció végeztével csak azok a perzisztens entitások kerülnek szinkronizálásra, amelyek módosultak. Ezt a folyamatot dirty chechking-nek nevezik..
Leválasztott (detached): ■ A perzisztens objektumok a tranzakció
végeztével is léteznek és tartalmaznak adatokat, azonban leválasztódnak a viszony bezáródásával.
23.04.19. 44Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
10. Szolgáltatás integráció
ProblémákMegközelítés módokSOA koncepcióESBSDO/SCA
23.04.19. 45Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Enterprise Service Bus• Szolgáltatások közötti
üzenetcsere monitorozása és vezérlése
• Szolgáltatások telepítése és verziózása
• Gyakori középréteg szolgáltatások biztosítása:
• Eseménykezelés
• Adattranszformáció
• Üzenetsorok kezelése
• Biztonság- és kivételkezelés
• Stb.
23.04.19. 46Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
11. Magas szintű üzleti folyamatok
BPEL■ Absztrakt modell■ Futtatható modell
ElemeiTervezési minták
Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
JBoss ESB
23.04.19. 48Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
12. Ami kimaradt
Biztonság:■ Kerberos■ OpenID■ Shibotech
Menedzselhetőség■ JMX■ OSGi
Skálázhatóság■ Klaszter
23.04.19. 49Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
13. Kitekintés, összefoglaló
A félév áttekintéseMerre tart a szoftver fejlesztés
■ Felhasználói programozás■ Felhő megoldások■ M2M rendszerek
23.04.19. 50Programrendszerek fejlesztése
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
C@R
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
ECOSPACE
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
PECES
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Egy példa rendszer
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Szoftver architektúra
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Egy példánya
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Egy másik példa
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Példák
UN
IVER
SIT
Y O
F SZ
EG
ED
Dep
artm
ent o
f Sof
twar
e E
ngin
eeri
ng
UN
IVE
RS
ITA
S S
CIE
NT
IAR
UM
SZ
EG
ED
IEN
SIS
Összefoglaló Motiváció – nem funkcionális/rendszer követelmények
■ Rendszer granularitás paradigmák■ Skálázhatóság
Internet alapú rendszerek ■ Korlátai■ Lehetőségeink
Elosztott rendszer architektúrák Átszövődő vonatkozások Köztesréteg
■ Típusai■ Megvalósítása■ Metrikái■ Példák
23.04.19. 59Programrendszerek fejlesztése