1 / 31

Bevezetés a J2EE világába

Bevezetés a J2EE világába . Kerekes András kerekes.andras@alerant.hu 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.

emile
Download Presentation

Bevezetés a J2EE világába

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bevezetés a J2EE világába Kerekes András kerekes.andras@alerant.hu 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ó • 28negyedé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 550mFt • 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ó: • 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 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!

More Related