4. rész: Java Enterprise Edition bevezetı. Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu



Hasonló dokumentumok
Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

A Web réteg architektúrája A JSF web alkalmazás keretrendszer. Bakay Árpád dr. NETvisor kft (30)

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A Java EE 5 plattform

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

JAVA webes alkalmazások

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Osztott alkalmazások fejlesztési technológiái Áttekintés

5. rész: A Java EE és az Enterprise Bean réteg. Bakay Árpád dr. NETvisor kft (30)

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

7. rész: A specifikációtól az implementációig az EJB rétegben

S04-2 Elosztott alkalmazások készítése

Junior Java Képzés. Tematika

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

8. rész: Implementáció JDeveloperben

Hová tűnt a sok kereszthivatkozás?

Web-fejlesztés NGM_IN002_1

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Java I. A Java programozási nyelv

Adatbányászat és Perszonalizáció architektúra

Osztott rendszerek, Java EE. Általános bevezető

Informatikai Tesztek Katalógus

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

MVC desktop alkalmazás esetén. MVC Model-View-Controller. eredete: Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

Komponens modellek. 3. Előadás (első fele)

Java I. A Java programozási nyelv

Kommunikáció. 3. előadás

webalkalmazások fejlesztése elosztott alapon

Bevezetés E LSŐ FEJEZET

Komponens alapú fejlesztés

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Melyek a Windows Server 2008 R2 tiszta telepítésének (Clean Install) legfontosabb lépései?

Operációs rendszerek. A Windows NT felépítése

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet

Hello Java Enterprise Edition

CORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

ALKALMAZÁS KERETRENDSZER

STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT

NETinv. Új generációs informatikai és kommunikációs megoldások

MVC. Model View Controller

Bevezetés J2EE komponensek Java2EE API-k Web alkalmazások Dokumentáció Fejlesztői környezet. JAVA technológiák - bevezető

Java Web technológiák

The Power To Develop. i Develop

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István Viczián István

IBM Tivoli Access Manager for WebLogic Server Felhasználóikézikönyv. 3.9-es verzió GC

Nyilvántartási Rendszer

WebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Osztott rendszerek (Distributed. systems) Bevezetés. Tartalom. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

JNDI - alapok. Java Naming and Directory Interface

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

Hello Java Enterprise Edition

Komponens alapú programozás Bevezetés

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

Szoftverarchitektúrák. 12. Sorozat portál (követelmény specifikáció)

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Enterprise Service Bus (ESB) Ercsényi András, BME IIT, 2011.

OOP és UML Áttekintés

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Szolgáltatási szint és performancia menedzsment a PerformanceVisor alkalmazással. HOUG konferencia, 2007 április 19.

Segédanyag: Java alkalmazások gyakorlat

A Forrás s rendszer sa. GriffSoft Zrt

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

Viczián István IP Systems JUM XIX szeptember 18.

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

SAP Business One. Méretre szabás. Mosaic Business System Kft.; Support:

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA

Oracle BI Administration Tool. Repository felépítése

Java. JIT (Just in Time) fordítók alkalmazása, optimalizálás AOT (Ahead of Time) fordítók alkalmazásának lehetősége

SQLServer. SQLServer konfigurációk

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Osztott Objektumarchitektúrák

Java Programozó képzés A&K AKADÉMIA 2019.

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE

Mosolygó Ferenc. Értékesítési Konzultáns.

Oralce kliens installálása Windows Server 2003-ra

A TANTÁRGY ADATLAPJA

Adatbázisok biztonsága

Multimédiás adatbázisok

Ustream.tv Bepillantás egy közösségi élővideo site működésébe

Osztott rendszerek (Distributed

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

Novell Vibe OnPrem 3. 1 A termék áttekintése. Novell december 08.

Operációs rendszerek. Windows NT. A Windows NT

Feltörekvő technológiák: seam, drools, richfaces és társai a JBossban

I. Szakmai törzsanyag

Együttműködésben a külvilággal, együttműködésben a piaccal

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

10. Gyakorlat: Alkalmazások publikálása Remote Desktop Szervízen keresztül

Áttekintés. Tartalom. Mi is az a Bean?

Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék

eseményvezérelt megoldások Vizuális programozás 5. előadás

Szalai Ferenc

API tervezése mobil környezetbe. gyakorlat

Átírás:

4. rész: Java Enterprise Edition bevezetı Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu

Hol tartunk? Projekt tervezés, követés MS Project RequisitePro Követelmények Tervezés, modellezés Implementáció Tesztelés Oracle jdeveloper Feladat és hibakövetés Intenzíven használt tool Röviden bemutatott tool Konfigurációkezelés

Tartalom Alkalmazás architekturák Komponensek Többrétegő alkalmazások Java Enterprise Edition Áttekintés: a Java Standard Edition érdekes szolgáltatásai

1. Komponensek Szoftver modulok, amelyek Önálló logikai funkciót töltenek be Explicit, kényelmes interfészeken csatlakoznak a környezethez Koherencia, kohézió egy darab szoftver, amelyet változtatás nélkül használnak más, a komponens íróitól függetlenül elkészített alkalmazások - Martin Fowler, www.martinfowler.com Újrafelhasználhatók Termékként, katalógusból értékesíthetık

Mi a Java Enterprise Edition? Futtató környezet komponensek számára Az alkalmazás logikája szabványos architektúrájú komponensekben Java EE Tervezési minták design patterns alapján Premium szolgáltatások a környezettıl Szinte teljesen szabványos, azaz egy alkalmazás bármely Java EE szerverben futtatható A Java Standard Edition-ra épül Java SE: OO környezet -- Java EE: komponens környezet Logikusan következik belıle egy alkalmazás architektúra Leginkább általános üzleti alkalmazásokhoz használható Pl. real-time-hoz kevésbé. Legfıbb jellegzetesség: többrétegő alkalmazások

A többrétegő architektúra kialakulása 1960-1990: monilítikus alkalmazás Több felhasználó multiuser OS segítségével Egyetlen nagygép, buta terminálokkal 1990-2000 : kliens-szerver architektúra A szefver rendszerint egy adatbázisszerver (pl. Oracle) A kliensek rendszeritn PC-k Nagy és bonyolult kliens-program ( fat client : az üzleti logika is itt van Installálási, verziófrissítési problémák Teljesítmény-problémák a sokszoros párhuzamos hozzáférés miatt 2000- A többrétegő architektúra (általában 3 réteget jelent): Adatbázis tier (ejtsd: tír) csak általános adatkezelés, lehetıleg semmi speciális logika Middle tier Az üzleti logika helye Egy vagy több ú.n. alkalmazásszerveren fut Client tier Lehetıleg minél egyszerőbb, csak GUI kezelés Minket fıleg ez érdekel!!

Kliens oldali alternatívák fat client Üzleti logikát tartalmaz, nem illik a 3-rétegő szemléletbe Önállóan futtatható, de thin kliens alkalmazás A telepítési problémák továbbra is fennállnak J2EE szerver esetén leginkább ez is Java (a RMI miatt) Java applet thin kliens Automatikusan letöltıdik a browserbe Viszont: funkcionális és teljesítmény-problémák Pure.html kliens A GUI prezentációs logika is a szerver oldalra kerül Egy új réteg: web tier Összességében ezzel van a legkevesebb probléma!!!! Legújabban: AJAX: JavaScript extenzív használata, ennek köszönhetıen reszponzív, jól kezelhetı UI.

Többrétegő alkalmazások egyszerő nézete Onálló,. Thin Pure HTML Presentation logic Két alternatíva Önálló GUI v. java Applet Web GUI (browser) Számunkra a lényeg a middle tier! De: az igazi kincs a data rétegben van!

..de a valoság ennél komplexebb! Példa: egy J2EE alkalmazásszerver vázlata Magyarázat az óra végén!

2. J2SE Hasznos szolgáltatások JAR-ok és class loaderek Reflection, JavaBeans Networking, RMI JDBC, JNDI Security: Controlled execution, Security Services (encription, signatures, hashing) PKI key management JMX Internationalization

JAR-ok és classloaderek JAR: Java binárisok (és más fileok) ZIP formátumban összegyőjtve és tömörítve MANIFEST.MF file a JAR-ban, pl: Main-Class: a JAR default main osztálya Class-Path: hivatkozás más JAR-okra Verzió-azonosító adatok Classloader Hierarchikus mechanizmus osztályok megkeresésére Elıször a generikusabb helyekrıl tılt 1. JAVA JRE, 2. Deployed extensions, 3 User-set classpath Ld: még http://java.sun.com/docs/books/tutorial/ext/index.html http://java.sun.com/docs/books/tutorial/deployment/jar/index.html

Reflection és JavaBeans Runtime tipusvizsgálat Lekérdezhetık a metódusok, és adatok, típusokkal és paraméterekkel Hierarchia követése Új: Annotations JavaBeans: speciális konvencióknak megfelelı, runtime vizsgálható (introspection) osztályok Property-k, event mechanizmus Perzisztencia Scripting és build environment támogatás http://java.sun.com/docs/books/tutorial/reflect/index.html http://java.sun.com/docs/books/tutorial/javabeans/index.html

Networking és RMI Socketek (UDP és TCP servers/client), datagrammok. RMI: távoli eljáráshívás 1. Szerver készít egy remoteolható objektumot 2. Beregisztrálja a registrybe (bind) 3. Kliens lookup-olja 4. Kliens hívja a remote metódusokat - Remote és serializable objektumokkal http://java.sun.com/docs/books/tutorial/networking/index.html http://java.sun.com/docs/books/tutorial/rmi/index.html

JDBC, JNDI JDBC: adatbázis elérés Connection with authentication SQL utasítások végrehajtása Adatok iterálása ResultSet-en JNDI Címtárak (pl. DNS és LDAP elérése) Az API elve a JDBC-hez hasonló http://java.sun.com/docs/books/tutorial/jdbc/index.html http://java.sun.com/docs/books/tutorial/jndi/index.html

Security Permission-controlled execution of sensitive ops Permissions mit tehet program Definiálható a class helye vagy JAR signature alapján Security services Encryption Signatures creation and checking Hashes, message digests PKI Key management Kulcvsok generálása és tárolása a VM által http://java.sun.com/docs/books/tutorial/security/index.html

JMX, Internationalization JMX: kívőlrıl, futás közben menedzselhetı interfészek a VM-hez és a programokhoz Internationalization: több nyelvő user interfészre felkészített programok. http://java.sun.com/docs/books/tutorial/jmx/index.html http://java.sun.com/docs/books/tutorial/i18n/index.html

..de az élet nem ilyen egyszerő

Fontos API-k (és TLA -k) RMI remote method invocation Java SE Más java VM-ekben futó objektumok hívása JDBC Java database connectivity Java SE Database írása, olvasása JSP Java Server Pages Dinamikus weblapok JTA (JTS) Java transaction API és - Services Nagy JMS Java messaging services Üzenetküldés, aszinkron kommunikáció JNDI Java naming and directory services Java SE Objektumok keresése név stb.. szerint JAAS Java authentication / authorization framew. User jogosultság kezelésjavamail JavaMail JAF -- Java activation framework???? TLA = Three Letter Acronym = HBR

Egyéb rövidítések EJB Enterprise Beans Egyfajta komponens, (nem JavaBeans!!!) JSP Java Server Pages Egyféle Web presentation technológia Idén ezt tanuljuk Ezekkel részletesen foglalkozunk majd

Köszönöm a figyelmet!