31
1. Bevezetés a J2EE világába Kerekes András [email protected] http://www.alerant.hu

Bevezetés a J2EE világába

Embed Size (px)

DESCRIPTION

Bevezetés a J2EE világába. Kerekes András [email protected] http://www.alerant.hu. Tartalom. Bemutatkozás Elosztott rendszerek motívációja J2EE standard és architekrúra BEA WebLogic Server, mint alkalmazás szerver. A BEA cég. - PowerPoint PPT Presentation

Citation preview

Page 1: Bevezetés a J2EE világába

1.

Bevezetés a J2EE világába

Kerekes András

[email protected]

http://www.alerant.hu

Page 2: Bevezetés a J2EE világába

2.

Tartalom

• Bemutatkozás

• Elosztott rendszerek motívációja

• J2EE standard és architekrúra

• BEA WebLogic Server, mint alkalmazás szerver

Page 3: Bevezetés a J2EE világába

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

Page 4: Bevezetés a J2EE világába

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

Page 5: Bevezetés a J2EE világába

5.

Nemzetközi BEA referenciák

Pénzügy Telekom Ipar Logisztika Kormányzat Egyéb

Page 6: Bevezetés a J2EE világába

6.

Hazai BEA referenciák

Pénzügy Telekom Ipar Logisztika Kormányzat Egyéb

Page 7: Bevezetés a J2EE világába

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

Page 8: Bevezetés a J2EE világába

8.

Számok

• Tulajdonosok: 100%-ban magánszemélyek

• Alaptőke: 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

Page 9: Bevezetés a J2EE világába

9.

Szakértelem

• Technológiai tudás: 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

Page 10: Bevezetés a J2EE világába

10.

Elosztott rendszerek

Page 11: Bevezetés a J2EE világába

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

• ...

Page 12: Bevezetés a J2EE világába

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)

Page 13: Bevezetés a J2EE világába

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)

Page 14: Bevezetés a J2EE világába

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, e-mail küldést, fogadást, stb..., illetve támogatnia kell a komponenseket, amik képesek ezeket a szolgáltatásokat felhasználni

Page 15: Bevezetés a J2EE világába

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

Page 16: Bevezetés a J2EE világába

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

Page 17: Bevezetés a J2EE világába

17.

J2EE architektúra

Page 18: Bevezetés a J2EE világába

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)

Page 19: Bevezetés a J2EE világába

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

Page 20: Bevezetés a J2EE világába

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.

Page 21: Bevezetés a J2EE világába

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

Page 22: Bevezetés a J2EE világába

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.

Page 23: Bevezetés a J2EE világába

23.

A szolgáltatások

Page 24: Bevezetés a J2EE világába

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

Page 25: Bevezetés a J2EE világába

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

Page 26: Bevezetés a J2EE világába

26.

JTA (Java Transaction API)

• Tranzakció:1. Egy tranzakción belüli műveletek zárt egységet képeznek

2. A tranzakciónban résztvevő rendszerek mindvégig konzisztensek maradnak, vagyis egy értelmes állapotból értelmes állapotba kerülnek

3. 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

4. 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

Page 27: Bevezetés a J2EE világába

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é

Page 28: Bevezetés a J2EE világába

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)

Page 29: Bevezetés a J2EE világába

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 e-mail címek, stb...

Page 30: Bevezetés a J2EE világába

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

Page 31: Bevezetés a J2EE világába

31.

V É G EKöszönöm a figyelmet!