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

  • Upload
    emile

  • View
    28

  • Download
    0

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

1.

Bevezetés a J2EE világába

Kerekes András

[email protected]

http://www.alerant.hu

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: 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: 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)

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)

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

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

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

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.

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.

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

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

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 e-mail 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 EKöszönöm a figyelmet!