Bevezetés a J2EE világába

Slides:



Advertisements
Hasonló előadás
Növekedés-támogatás M27 ABSOLVO. 2 Mi kell a növekedéshez?
Advertisements

RESTful Web Service tesztelése
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
SZOFTVER MINT SZOLGÁLTATÁS: ÜZLETI HATÉKONYSÁG A FELHŐBEN Nagy Levente Üzletágvezető Microsoft Office.
Hálózati és Internet ismeretek
Valós idejű tesztlefedettség- monitorozás JEE környezetben Dr. Ferenc Rudolf, Szegedi Tudományegyetem Bakota Tibor, FrontEndART Szoftver Kft.
Hatékonyságnövelés Office System alapon az E.ON csoportnál
Mennyire projekt érett a mai magyar társadalom? 1022 Budapest, Bimbó út 3. Telefon/fax:
IBM Software Group © 2006 IBM Corporation Hatékonyság és üzleti intelligencia Egységesített felület meglévő alkalmazásainkhoz Szabó János Technikai szakértő.
Több szerződés, lojális ügyfél Erdős Mihály elnök-vezérigazgató.
… with NFC A mobil contactless (NFC) technológia lehetőségei a pénzügyi szektorban.
Önkormányzati informatika ASP alapokon
ESR 112 új alapokon Tóth Csaba ESR projektigazgató NISZ Zrt.
Microsoft Üzleti Megoldások Konferencia Naprakész Microsoft technológiák banki környezetben Bessenyei László Magyar Külkereskedelmi Bank Rt.
Iratkezelő rendszer fejlesztése WPF alapokon
RENDSZERINTEGRÁLÁS B_IN012_1
Elektronikus archiválórendszer fejlesztése PKI alapokon Készítette: Kollár Balázs november 11.
Oracle Java fejlesztési stratégiája
Az ETR technológia DEXTER Informatikai kft..
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Modellvezérelt webalkalmazás-tervezés
4. Gyires Béla Informatikai Nap május 6.1 Márton Ágnes Debreceni Egyetem Informatikai Kar Informatikai Rendszerek és Hálózatok Tanszék A Virtual.
Cluster Szorosan összekapcsolt számítógépek csoportja (egy gépet alkotnak) Gyakori a LAN megoldás Céljuk: – Teljesítmény növelése – Rendelkezésre állás.
Az e-kereskedelem (e-business)
Osztott alkalmazások kezelése. VIR elosztott architektúra indítékai: - meglévő komponensek integrációja - WEB / Internet elterjedése (nemzetköziség) -
WEB Technológiák Coldfusion ME Általános Informatikai Tsz. dr. Kovács László.
WSDL alapismeretek A WSDL (Web Services Description Language – Web szolgáltatások leíró nyelv) egy XML-alapú nyelv a Web szolgáltatások leírására és azok.
Nagyvállalati projektmenedzsment GTM szeminárium sorozat A Microsoft nagyvállalati projektmenedzsment megoldása Előadó:Kőnig Tibor
Előadó: Kárpáti Péter Üzleti folyamatvezérlés nagyvállalati környezetben (BizTalk Server 2004, Office InfoPath 2003 és Windows.
Instant alkalmazások SharePoint platformon. A fejlesztés és a testre szabás határai elmosódtak. A testre szabást végző legtöbbször nem programozó A.
Látványos vektrorgrafikus és deklaratív prezentációs réteg 3D támogatássalLátványos vektrorgrafikus és deklaratív prezentációs réteg 3D támogatással Egységesített.
Megvalósíthatóság és költségelemzés Készítette: Horváth László Kádár Zsolt.
Szombathely Dinamikus WEB programozás: PHP és JSP.
Copyright © 2005 | update software AG | update software Magyarország Kft. Radics Sándor principal IV.
Bevezetés az ebXML-be Forrás: An Introduction to ebXML ebXML and Web Services Practical Considerations In Implementing Web Services Romin IraniRomin Irani.
WEB MES (webes gyártásirányító rendszer)
Hibrid felhő Privát-, publikus és hoster felhők összekapcsolása
Költség hatékony és rugalmas infrastruktúra ami az ismert és meglevő termékeken alapul  Heterogén környezetek támogatása  Folyamat automatizálás  Önkiszolgáló.
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
Web Application for Resource Planning
ARCHITECTArchitect AcademyFoundationsInsidersMCPtréningekvizsgákgyakorlatprojektek Novák István eEvangelist – „Dive deeper” Grepton Zrt. Technológiai vezető.
Java 2 Enterprise Edition
Budapest, június 28. Ontológia kezelő modul tervezése szöveges információt kezelő informatikai rendszer számára Förhécz András BME Méréstechnika.
WEB 2.0. Amiről szó lesz… Web átalakulóban, a WEB 2.0 –Újszerű weboldalak… –Első a tartalom! –A felhasználók hatalomátvétele?! –A Web mint platform –
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Nagy teherbírású rendszerüzemeltetés a felhőben. Miről lesz szó? Cloud áttekintő Terheléstípusok és kezelésük CDN Loadbalancing Nézzük a gyakorlatban.
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
Komponens-absztrakció. Objektum-orientált paradigma korlátai Feltételezés az interfészekről: 1. öröklés és aggregáció alkalmazható, 2. közös programozási.
Java web programozás 11..
Enterpise JavaBeans Simon Balázs
Müller László vezető fejlesztő EQL Soft Informatikai és Tanácsadó Kft.
Adamkó Attila UML2 Adamkó Attila
OKOSTELEFON KÖZÉPRÉTEG, VALÓS IDEJŰ TELJESEN ELOSZTOTT ADATFELDOLGOZÁS
Webes alkalmazásfejlesztés
Java web programozás 7-8..
Live Communication Server Integrált kommunikációs infrastruktúra Mobil támogatás Munkaterület Instant üzenetküldés VOIP Alkalmazások, munkafolyamatok.
A Windows Server 2003 termékcsalád A Windows Server 2003 termékcsaládnak 4 tagja van: Windows Server 2003, Standard Edition Windows Server 2003, Enterprise.
Webes MES keretrendszer fejlesztése Kiss Miklós Dániel G-5S8 Tervezésvezető: Dr. Hornyák Olivér.
OpenCMS programozói bevezetés Krizsán Zoltán iit me.
Csoportmunka megoldás a Nemzeti Kulturális Örökség Minisztériumában
Java Csoport Antal Péter Bátfai Norbert Jeszenszky Péter.
1 Copyright © 2004, Oracle. All rights reserved. Bevezetés.
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
ODI és OBIEE infrastruktúra kialakítása nagyvállalati környezetben Kóródi Ferenc Budapest,
Az ORACLE JDE EnterpriseOne ERP rendszer bevezetésének tapasztalatai
Dr. Beck György Compaq Computer Mo. Kft. Vezérigazgató
Ügyfélelégedettség-építés a HIFI-ben
MIB Dokumentáció.
JBoss Wildfly Kalla Mór
Előadás másolata:

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

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

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

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

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

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

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

Elosztott rendszerek

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

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

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.

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

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

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

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.

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)

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

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.

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

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.

A szolgáltatások

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

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.

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

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é

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)

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

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

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