Osztott rendszerek. Krizsán Zoltán 1 Ficsór Lajos 1. Webalkalmazások fejlesztése tananyag. Miskolci Egyetem. Bevezetés A múlt - történelem A jelen



Hasonló dokumentumok
Osztott rendszerek (Distributed

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

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

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

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

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

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

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

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

A Java EE 5 plattform

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

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

Osztott Objektumarchitektúrák

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

Komponens alapú fejlesztés

CORBA bevezetés. Paller Gábor Internet és mobil rendszerek menedzselése

Komponens alapú programozás Bevezetés

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

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

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

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

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

UNIX: folyamatok kommunikációja

Web-fejlesztés NGM_IN002_1

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Elosztott rendszer architektúrák

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Serialization. RMI működése

SOAP komponensek Delphiben

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Everything Over Ethernet

Földmérési és Távérzékelési Intézet

Webszolgáltatások (WS)

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

Számítógépes Hálózatok. 5. gyakorlat

API tervezése mobil környezetbe. gyakorlat

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

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

Szolgáltatás Orientált Architektúra és több felhasználós adatbázis használata OKF keretein belül. Beke Dániel

Szolgáltatás Orientált Architektúra a MAVIR-nál

URL-LEL ADOTT OBJEKTUM LETÖLTÉSE (1) URL-LEL ADOTT OBJEKTUM LETÖLTÉSE

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

Book Template Title. Author Last Name, Author First Name

Webszolgáltatások kommunikációs overhead-jének becslése

A Debreceni Egyetem és a Nagyváradi Egyetem WiFi alapú helymeghatározó rendszere

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

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

20. Tétel 1.0 Internet felépítése, OSI modell, TCP/IP modell szintjenek bemutatása, protokollok Pozsonyi ; Szemenyei

A SZOFTVERTECHNOLÓGIA ALAPJAI

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

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Kommunikációs middleware megoldások

Flex: csak rugalmasan!

Enterprise JavaBeans 1.4 platform (EJB 2.0)

CORBA. Mi a CORBA? A CORBA felépítése

MVC. Model View Controller

Mai program. Web Technológiák. Webalkalmazások. Webalkalmazás, mint UI

Operációs rendszerek. Az X Window rendszer

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

Hálózati ismeretek. Az együttműködés szükségessége:

Számítógépes munkakörnyezet II. Szoftver

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

OEP Betegéletút lekérdezés háziorvosok és vénytörténet lekérdezés patikák számára. API dokumentáció. verzió: 2.01

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

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

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

CMDB architektúra megjelenítése SAMU-val Rugalmas megoldás. ITSMF Bekk Nándor Magyar Telekom / IT szolgáltatás menedzsment központ

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

Modbus kommunikáció légkondícionálókhoz

Számítógépes Hálózatok GY 7.hét

Bevezető. Servlet alapgondolatok

Mobil szolgáltatások és alkalmazások fejlesztése

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Autóipari beágyazott rendszerek. A kommunikáció alapjai

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

Novell Nterprise Branch Office: a távoli iroda felügyeletének leegyszerűsítése

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Microsoft SQL Server telepítése

Szalai Ferenc

JAVA webes alkalmazások

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

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

IBM i. Szerviz és támogatás 7.1

Utolsó módosítás:

Java I. A Java programozási nyelv

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

4. Hivatkozási modellek

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

ARM Cortex magú mikrovezérlők. mbed

Cégismerteto. Ez így kicsit tömören hangzik, nézzük meg részletesebben, mivel is foglalkozunk!

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

GeneSyS: Generikus rendszerfelügyeleti middleware

Szolgáltatás-orientált technológiák alkalmazási kérdései Absztrakt 1. Bevezetés

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Android Wear programozás. Nyitrai István

Számítógépes Hálózatok GY 6.hét

Oracle9i Alkalmazás Szerver Üzleti folyamat integráció. Molnár Balázs Vezető értékesítési konzultáns Oracle Hungary

Átírás:

Osztott rendszerek Krizsán Zoltán 1 Ficsór Lajos 1 1 Általános Informatikai Tanszék Miskolci Egyetem Webalkalmazások fejlesztése tananyag

Tartalom Bevezetés A múlt - történelem A jelen

Denition Distributed computing is a eld of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal.

Osztott rendszerek szükségessége Feladatok elosztása Számítási teljesítmény növelése Adatok (kódok) elosztása Desktop gépek használata duplikált (és inkonzisztens) adatok nélkül A rendszer funkcionalitásának elosztása Komponensek Internet alapú alkalmazások

Osztott rendszerek tulajdonságai El nyök Biztonságosabb, duplikálás Gyorsabb, párhuzamos elemek Gyorsabb, mert zikailag közelebb elemek szolgálnak ki Gyorsan építhet, vannak kész elemek Hátrányok Bizonytalanabb, egy feladat több részfeladat különböz helyen Nehézkesebb kongurálás Plussz feladatok (szinkronizáció, hibat rés, mentés,...)

Mainframe - kezdetek Klasszikus kliens/szerver architektúra Az adatok kezelése a szerver feladata A feladatok megoszlanak a kliens és a szerver között A felhasználói felület kezelése a kliens dolga

Többrészes kliens-szerver architektúra. Multi-tier architecture (nem réteg - layer) Egy alkalmazás több részb l állhat Tipikus: három rész Felhasználói interface Üzleti logika Adatbázis kezelés

Middleware koncepció Általános, alkalmazás független szolgáltatások. Lehet vé teszi a felhasználó és az alkalmazás kommunikációját a hálózaton keresztül. A hálózati és az alkalmazói program között helyezkedik el.

Alkalmazás modellek

Middleware-ek osztályozása Egy szabvány nem elég, mert a különböz jelleg alkalmazások kommunikációs igénye eltér. A middleware-eket osztályozhatjuk abból a szempontból, hogy milyen más, ismert mechanizmus kiterjesztéseként tekintik a modulok közötti kommunikációt. (Milyen metaforát használnak.) A legalacsonyabb szint middleware a socket mechanizmus.

Middleware-ek osztályozása II File-kezelés: Socket Távoli eljáráshívás: RPC, DCE RPC, XML RPC, SOAP Adatbázis lekérdezés: RDA Üzenet küldés: MOM Távoli metódushívás: ICE, CORBA, Java RMI (Microsoft WCF?)

Socket mechanizmus A metafora a le kezelés Valójában egy API a TCP/IP protokoll verem szolgáltatásaihoz (TCP és UDP) Alkalmas nagyon speciális alkalmazásokhoz (Mindent megtehetek) (I can do everything) Nem alkalmas nagy, bonyolult rendszerek fejlesztésére (Mindent nekem kell megcsinálnom) (I must do everything) protokoll deniálása m ködés

Socket mechanizmus II Valójában egy csatornára byte-sorozat tehet ki ("write") és onnan byte sorozat olvasható be ("read"). Nem biztosított, hogy a csatornára kitett információt valaki el is olvassa => valamilyen protokollal össze kell hangolni a kommunikáló feleket. Gyakorlatilag minden plattformra és programozási nyelvhez van implementációja.

Socket mechanizmus III A kommunikáló felek futhatnak különböz plattformokon és készülhetnek különböz programozási nyelveken. Számos magasabb szint middleware implementációs eszköze.

Távoli eljárás hívás (RPC) Remote procedure call Teljesen homogén rendszereken futó alkalmazások közötti komunikációra lett tervezve: azonos processzor UNIX operációs rendszer C-ben írt programok Ma már közvetlenül ritkán használt middleware, de egy alapötlet, ami a korszer bb middleware-ek is alkalmaznak, már itt megjelenik.

Távoli eljárás hívás (RPC) II

Távoli eljárás hívás (RPC) III Forgatókönyv 1. A kliens meghívja a csonkeljárást (stub), ami lokális függvénynek látszik. A stub a paramétereket a hálózaton átvihet csomagokba pakolja és meghatározza a szerver címét. 2. Az üzenet átvitelre kerül a hálózati átviteli szolgáltatáson (network transport service) keresztül. 3. Az üzenet átvitelre kerül a hálózaton és a szerver gép hálózati rétege fogadja. 4. A hálózati szolgáltatás értesíti a szerver csonkot hogy egy kérés érkezett. 5. A szerver csonk fogadja az üzenetet, lefordítja a lokális eljáráshívás formátumára és meghívja az eljárást. 6. A szerver végrehajtja az eljárást és visszaadja az eredményt a csonknak.

Távoli eljárás hívás (RPC) IV Forgatókönyv 7. A csonk a választ átalakítja hálózati üzenetté és elküldi a hálózati rétegnek. 8. A szerver hálózati rétege visszaküldi a választ a kliens hálózati rétegének. 9. A kliens hálózati rétege elküldi a választ a kliens csonknak. 10. A kliens csonk fogadja a választ, átalakítja eljárás visszatérési értékének és átadja a kliensnek.

Távoli eljárás hívás (RPC) Szerepl k kliens oldali csonk (stub) egy funkcionális interface-t mutat a kliens programnak, de valójában a funkciókat egy middleware szolgáltatásait igénybe véve mással (egy remote szolgáltatóval) végezteti el. Kommunikál a szerver oldali csonkkal. Szerver oldali csonk kéréseket fogad, aktivizálja a remote szolgáltatót, és átveszi t le az eredményeket. A kliens oldali stub-al kommunikál. Szokásos elnevezése még: skeleton, proxy Remote szolgáltató Funkcionális interface-e egyezik a kliens stub-éval, és ténylegesen implementálja is azt. Önmagában nem futásképes elem, a szerver oldali stub aktivizálja.

XML RPC A klaszikus RPC "újraélesztése" Távoli eljáráshívást valósít meg, de az "eljárás" tetsz leges szolgáltató egység lehet, ami implementálja az adott interface-t. A hagyományos RPC-vel ellentétben HTTP protokoll felett zajlik a kommunikáció. Az adatokat a hagyományos RPC-vel ellentétben XML formátumban küldi át a hálózaton. Miután szabványos, platform és implementációs eszköz független. Az XML RPC HTTP POST metódus segítségével XML-be kódolt kérést küld a szervernek. A szerver elemzi a kérést, meghívja a megfelel metódust, a választ pedig XML-be kódolva visszaküldi. A kliens kikódolja a választ. Az XML RPC támogatja az "ésszer " adatformátumokat.

Jelen: valódi osztott rendszer többrészes (multi-tier) architectúra objektum orientált, komponens alapú megközelítés (object-oriented, component based approach) további szolgáltatások rugalmasság directory services tranzakció monitor újrahasznosítható komponensek egy komponens egyszerre lehet kliens és szerver internet - alapú alkalmazások mobil kliensek "szép graka

SOAP Simple Object Access Protocol UserLand, Developmentor és Microsoft együttm ködés terméke Jelenleg a W3C felügyeli ezt a szabványt Jóval összetettebb, mint az XML RPC Komplex adatstruktúrák támogatása Az XML namespacek használata globálisan egyértelm vé teszi az átvitt adatot

SOAP tulajdonságok Az XML RPC és a SOAP nagy el nye, hogy könnyen átmegy a t zfalakon. Széleskör támogatottság. Az XML RPC és a SOAP nagy hátránya, hogy könnyen átmegy a t zfalakon. Jóval nagyobb er forrás igény ek, mint a hagyományos RPC.

Üzleti alkalmazás (forrás: http://encyclopedia2.thefreedictionary.com/middleware)

Alacsony szint middleware-ek ICE (Internet Communication Engine) sok nyelvet támogat (.net-et is) modern vannak még hibák könny programozás CORBA (Common Object Request Broker Architecture) bombabiztos elavult nagyon gyors cpp, java bonyolult programozás

WCF WCF programozói modell (forrás: http://msdn.microsoft.com/en-us/library/ms733128.aspx)

WCF II

Webalkalmazás fejlesztés gyors php sok adatbázis m velet platform független (tényleg) kis rendszerekhez hatékony sok ingyenes szolgáltató sok munka java platform független (tényleg) széleskör támogatottság, elfogadottság lassabb asp.net Gyors fejlesztés WCF + WPF + felh hatékony elemek kényelmes fejlesztés gyors lehet

Összefoglalás Osztott alkalmazások elterjedtek, divatosak. Több jó megoldás van. Ha valami sokat ad, lassú is. Kis projektek esetén jó megoldás a php. Nagyobb projekteknél javasolt a java vagy asp.net. Ha nem kell szerver oldal platform függetlensége, akkor asp.net.