Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Bevezetés a J2EE világába

Hasonló előadás


Az előadások a következő témára: "Bevezetés a J2EE világába"— Előadás másolata:

1 Bevezetés a J2EE világába
Kerekes András

2 Tartalom Bemutatkozás Elosztott rendszerek motívációja
J2EE standard és architekrúra BEA WebLogic Server, mint alkalmazás szerver

3 A BEA cég BEA a világ vezető alkalmazás infrastruktúra szállítója
Több mint 1 milliárd $ bevétel 15,000 ügyfél Irodák 77 városban a világon 3,200 dolgozó 28 negyedéve pozitív cash-flow

4 A BEA Magyarországon Multikon és hazai partnereken keresztül
HP, Accenture, Bull, Epam (Phatom), IQSYS, Synergon Disztribútoron – Aleranton – keresztül BEA elkötelezett partner Cégünk hivatalos BEA disztribútor és hivatalos oktató központ BEA – HP – Alerant együttműködés

5 Nemzetközi BEA referenciák
Pénzügy Telekom Ipar Logisztika Kormányzat Egyéb

6 Hazai BEA referenciák Pénzügy Telekom Ipar Logisztika Kormányzat Egyéb

7 Az Alerant Rt. Informatikai projektek vezetése és kivitelezése
Egyedi alkalmazásfejlesztés (Java, J2EE) Alkalmazás integráció Portál kialakítás BEA termék értékesítés és support Tanácsadás Mission Critical Support BEA alapú alkalmazások HP-vel együttműködve Oktatás Hivatalos BEA tananyagok magyar nyelven

8 Számok Tulajdonosok: 100%-ban magánszemélyek Alaptőke: Létszám:
2003 Q4: 20mFt, 2004 Q4: 100mFt Létszám: ~30 fő (architect, tervező csapat) Minimális management overhead 2004 évi eredmény 550 mFt 2005 évi eredmény 1100 mFt

9 Szakértelem Technológiai tudás: Szakértői tudás: Minőség
J2EE-BEA alapú alkalmazásfejlesztés Alkalmazás integráció Portál és tudásmenedzsment technológiák Szakértői tudás: Telekommunikáció Pénzügy (banki rendszerek) Gyógyszeripar Minőség Tevékenységünkben meghatározó szerepe van a J2EE technológiának és a BEA termékeknek

10 Elosztott rendszerek

11 Elosztott rendszerek mögötti motíváció
Komplex, nagy bonyolultságú rendszerek létrehozása Könnyebb kezelhetőség Hatékony, megbízható működés Magas rendelkezésre állás Hatékonyabb költségbecslés ...

12 Alapfogalmak Elosztott rendszer (distributed system)
Rendelkezésre állás (availability) Magas rendelkezésre állás (high availability 24/7/365) Terhelés elosztás (load balancing) Hibatűrés (failover) Skálázhatóság (scalability) Karbantarthatóság (maintainability) Az elosztott rendszerek szétosztják a munkát több, egymástól független modulra. Önmagában egyszerűbb, önálló rendszereket bír rá a közös munkára. Könyebben menedszelhető és könnyeb költségbecslést tesz lehetővé a vállalatok számára. Elérhetőség: aktív kliens kiszolgálás mérőszáma Terhelés elosztás: A kliens kiszolgálás rendszer komponensei közötti eloszlása Hibatűrés: A komponensek esetleges kiesése milyen hatással van a rendszer egészére Skálázhatóság: növekvő/csökkenő kiszolgálási igények alapján az elosztott rendszer bővíthetőségét/szűkíthetőségét értjük alatta Karbantarthatóság: a rendszer üzemeltetésével járó munka kifejezése

13 Web Szerver Web-es tartalmat szolgáltatnak
HTTP, FTP, stb... Segítségével kommunikálnak Képesek CGI request-ek kezelésére Néhány kérést továbbítanak az más szerverek felé, amelyek alkalmasak ezen kérések kezelésére (pl.: Alkalmazás Szerver) A Web Szerverek arra vannak optimalizálva, hogy minél több konkurens felhasználót tudjanak ellátni web-es tartalommal és ezt minél gyorsabban tegyék.

14 Alkalmazás Szerver Az Alkalmazás Szerverre telepített (deployed) alkalmazások futtatásához és eléréséhez szükséges szolgáltatásokat nyújtja Úgy képzelhetjük el, mint a nagy, összetett, elosztott rendszerek CPU-ja, menedszeli az összes aktivitást, ami az elosztott rendszerben történik Ahhoz, hogy ezt a feladatot el tudja látni, egy valamire való Alkalmazás Szervernek nyújtania kell alapvető szolgáltatásokat, pl.: message-oriented middleware-t, tranzakció kezelést, perzisztencia kezelést, küldést, fogadást, stb..., illetve támogatnia kell a komponenseket, amik képesek ezeket a szolgáltatásokat felhasználni

15 Hogyan segítenek a szabványok?
Az elosztott rendszerek nagy bonyolultsággal rendelkeznek Komplex problémákat szétbontja modulokra és ezekhez ad megoldásokat Pl. hálózati szabványok: nem kell foglalkoznunk a rendszer komponensei közötti kommunikációval A szoftver szabványok az alkalmazásfejlesztés bonyolultságát hívatottak csökkenteni Minél több nagy szoftvergyártó tömörül egy szabvány mögött, az annál értékesebb, annál szélesebb körben alkalmazható Lehetővé teszi, hogy a projekt költségeinek mind nagyobb része fordulhasson a valós üzleti igény kielégítésére

16 A J2EE szabvány (standard)
A Java Platform 2 Enterprise Edition egy teljes specifikáció Java-ban dolgozhatunk A J2EE leveszi a vállunkról az elosztott rendszerek használatával járó felelősséget Az alkalmazásunk hodozható lesz A BEA WebLogic Server a J2EE specifikáció egy implementációja

17 J2EE architektúra A Sun specifikációja lefedi az egész J2EE platformot és az alkalmazás szervereket. A J2EE platform áll a komponensekből, konténerekből, erőforrás kezelő driver-ekből, adatbázisból és sok szabványos szolgáltatásból.

18 Komponens technológia
A komponensek önálló szoftveregységek, melyek üzleti szolgáltatást nyújtanak a klienseiknek és egy adott infrastruktúrában futnak A komponens csak az üzleti szolgáltatás megvalósításához szükséges kódot tartalmazza Az infrastruktúra biztosítja a különféle szabványos szolgáltatásokat (Például egy irodaház ugyanazokat a szolgáltatásokat biztosítja minden irodájának)

19 Konténerek Biztosítja a futtatási környezetet a komponensek számára
„Lehallgatja” a kliens és a komponens közötti kommunikációt Gondoskodik a szabványos szolgáltatások nyújtásáról a komponensek felé: Tranzakció kezelés Név- és címtár kezelés Erőforrás „pooling” Security kezelés Konkurens hozzáférés kezelése Perzisztencia kezelés Adminisztrációs interfészek Terhelés elosztás Hibatűrés A konténer a kliens-komponens kommunikáció lehallgatása segítségével tudja meghatározni, hogy milyen szolgáltatásokat kell nyújtani a komponensnek. A különböző gyártók alkalmazás szervereinek különbsége a konténerek megvalósításában rejlik. Természetesen nem csak a szolgáltatások számosságáról van szó, hanem arról is, hogy ezeket milyen mélységben és alapossággal dolgozzák ki. Látható, hogy a fejlesztőnek valóban csak az üzleti logika megoldásával kell foglalkoznia

20 Java Servlet-ek A Servlet-ek olyan Java programok, amelyek kérés-válasz modell alapján működnek. A leggyakoribb és legismertebb fajtája a HTTPServlet, amely HTTP kérést fogad és HTTP választ generál Szerver oldali objektumok, hozzáférnek az összes szerver oldali erőforráshoz, melyek segítségével dinamikus választ generálnak A Servlet egy független szálként fut a web konténerben, amely a környezeteként funkcionál: A web konténer hozza létre és szünteti meg a Servlet-et, valamint felügyeli a Servlet-hez való hozzáférést is. A Servlet-ek nem csak HTML-t generálhatnak, hanem más MIME típusú elemeket is, pl. képet.

21 JSP (JavaServer Pages)
A JSP-k olyan HTML lapok, melyek Java kódot tartalmaznak Dinamikus válaszokat generál (mint a Servlet) Hordozható, mivel Java  Elkülöníti egymástól a megjelenítést és a dinamikus tartalom generálását

22 EJBs (Enterprise JavaBeansTM)
Az EJBs specifikáció definiálja az EJB (azaz a komponens) felépítését a konténer szerkezetét, amiben az EJB-k működnek és a kommunikáció módját a kliensekkel. Az EJB képes elosztott környezetben működni Újrafelhasználható, mint komponens A BEA WebLogic Server EJB szerver, illetve tartalmaz EJB konténert is. Az EJBs a J2EE környezet legnagyobb vívmánya. Viszonylag kezdő Java programozók számára is lehetővé teszi, hogy részt vegyenek nagy bonyolultságú, összetett nagyvállalalti rendszerek fejlesztésében.

23 A szolgáltatások

24 JDBC (Java Database Connectivity)
Szabványos interfész adatbázisok eléréséhez Java programokból használható Az implementációt a DBMS gyártója szállítja

25 JNDI (Java Naming & Directory Interface)
Szabványos interfész név- és címtár szerverek eléréséhez Java-ból Név- és címtárak: Elemek hierarchikus tárolása Elemek kinyerése, elemek közötti keresés és elemekhez elnevezések hozzárendelése Elosztott rendszerek közös objektumainak elérhetőségét biztosítja szabványos módon Sok különféle név- és címtár szolgáltatás létezik. A JNDI egységes felületet ad a kezelésükhöz.

26 JTA (Java Transaction API)
Tranzakció: Egy tranzakción belüli műveletek zárt egységet képeznek A tranzakciónban résztvevő rendszerek mindvégig konzisztensek maradnak, vagyis egy értelmes állapotból értelmes állapotba kerülnek A tranzakció okozta semmilyen változás nem látható más műveletek számára, amíg a tranzakció sikeresen be nem fejeződött A tranzakciók által okozott állapotváltozások túlélik az alkalmazás esetleges hiba miatti leállását Szabványos Java API a tranzakciók programon belüli elhatárolására A WebLogic Server lokális és elosztott tranzakciókat is támogatja

27 JMS (Java Message Service)
Szabványos Java interfész üzenet-orientált middleware komponensek kezeléséhez Point-to-Point kommunikáció Publish/Subscribe Kommunikáció Garantált üzenet kézbesítés Tranzakcionális Asszinkron kommunikációt tesz lehetővé

28 JAAS (Java Authentication and Authorization Service)
Szereplők azonosítása és erőforrásokhoz való hozzáférés engedélyezése Az authorizáció (ékes magyar szóval élve) három alapfogalmon nyugszik: Felhasználó (user) Csoport (group) Szerep (role)

29 JMX (Java Management Extension)
Szabványos felületen keresztül menedzselhetjük az eszközeinket Java-ból Elválasztja a menedzselt eszközt a konfigurálójától – nem lényeges, hogy hol van a menedzselni kívánt eszköz A technológia alapkövei az MBean-ek (Managed Bean) JDBC analógia (DBMS = menedzselt eszköz, JDBC Driver = MBean, JDBC kliens = JMX kliens) Elosztott rendszerek konfigurálását központosítja A konfigurált alkalmazás leállítása nélkül módosíthatók a paraméterek Tipikus példák: JNDI nevek, adminisztratív címek, stb...

30 Web Services Szerver oldali szolgáltatások, alkalmazás-alkalmazás kommunikációra van kitalálva Web-en elérhetőek jól ismert protokollok segítségével XML-lel van leírva a szerkezetük XML segítségével kommunikálnak Registry-ben vannak regisztrálva Teljesen platformfüggetlen (és tényleg!) SOA

31 V É G E Köszönöm a figyelmet!


Letölteni ppt "Bevezetés a J2EE világába"

Hasonló előadás


Google Hirdetések