R I Szer e i r alizáció.
|
|
- Ágoston Király
- 5 évvel ezelőtt
- Látták:
Átírás
1 Bevezetés Java RMI Párhuzamos és Elosztott rendszerek II. Dr. Mileff Péter A számítógép-hálózatok rohamos terjedésével a hálózattal összekapcsolt számítógépekbıl álló rendszerek egyre népszerőbbek: Erıforrás megosztás Megbízhatóság növelés Teljesítmény növelés Elosztott rendszerek kialakulásának célja. Programozók szempontjából egy elosztott rendszer kényelmesen programozható, ha a lehetı legkevésbé kell a hálózati protokollok, kommunikáció programozásával törıdni. (a feladatra való koncentrálás) A Java egy rohamosan fejlıdı programozási nyelv. Már a megjelenéskor hangoztatott tulajdonsága volt az elosztottság. (1.0-ban ez még nem igazán teljesült) A szállítási szintő hálózati kommunikáció egyszerő programozása. Távoli eljáráshívás (RPC) visszatekintés Az elosztott rendszerek programozásában kiemelkedı szerepet játszik a távoli eljáráshívás (RPC, Remote Procedure Call) ) módszere. A programozó egy processzoros rendszerben gondolkozik, és egyszerő eljáráshívással valósítja meg a program részei között a kommunikációt. A fejlesztés egy késıbbi lépésében szétválaszthatja a hívó és hívott eljárásokat, más-más számítógépre telepítve azokat. Függvénykönyvtárak alkalmazása: biztosítják, hogy a hálózaton keresztül is az eljáráshívás, a paraméterek átadása és átvétele automatikusan, a programozó elıl rejtetten" történjen meg. Az RPC folyamata 1
2 Mi is az az RMI? RMI (Remote Method Invocation), azaz távoli metódushívás megvalósítása objektum orientált módon. A távoli eljáráshívás egy magasabb szintő megvalósítása Java nyelven ben megjelent JDK 1.1 verziótól elérhetı. Lehetıvé teszi más VM-ben (Virtual Machine virtuális gép) elhelyezkedı objektumok metódusainak meghívását. A rendszer elrejti a kommunikációt végzı részt, és a metódushívás hasonló a helyi, azaz lokális objektumok metódusainak meghívásával, bizonyos megszorításokkal és kötöttségekkel. A rendszert úgy tervezték, hogy a hálózaton elosztott objektumok viselkedése hasonló legyen a helyi objektumok viselkedésével, de ne egyezzen meg, a teljes transzparencia biztosítása nem volt cél. Miért szükséges az RMI? A klasszikus távoli eljáráshívás (RPC) nem igazodik a modern objektum orientált paradigmába. Problémája: Összetett adatszerkezetek hálózaton keresztüli átvitele. A paraméterátadást az átvihetı adatszerkezetek szigorú korlátozásával, a programtól független specifikációjával segítik. Az RMI elınyei A Java RMI hatékonyabb, és robosztusabb megoldást kínál ilyen feladatok megoldására. RMI esetén a paraméterátadás a programozó számára nem jelent semmiféle korlátozásokat. Okai: Jáva egyszerőbb, egységesebb szerkezete. A referenciák következetes, kizárólagos használata. A Jáva virtuális gép tulajdonságai. Távoli módszereink tetszıleges paraméterekkel rendelkezhetnek a paraméterátadás alapvetıen az objektum másolatának átadásával történik. Egyszerő szám paraméter is objektumként értelmezett. Az objektumok átadása A rendszerben objektumok keringenek egy egy RMI hívás során. Egy hívás menete: A csonk az átadandó objektum állapotát (tagváltozóinak értékét) átalakítja a hálózaton átvihetı, úgynevezett soros reprezentációvá. Szerializáció. A szerializált objektum átmegy a hálózaton. A másik oldalon, a szerializált objektumot a csontváz (a másik csonk) visszaalakítja. Létrehoz a szerver oldalon egy lokális objektumot. Végül erre utaló hivatkozást ad tovább a szerver módszer törzsének. 2
3 Szerializáció Egy objektum szerializáció során egy bájtfolyammá alakul át. Tulajdonságai: Ezek után használható a Java nyelv szabványos kimenet és bemenet kezelési módszereivel. Ellenkezıje a deszerializáció: a bájtfolyam visszaalakul objektummá. Mire alkalmazható? Egy objektum háttértárra való kiírására, állományba mentéshez. Alkalmas a VM-ek közötti kommunikáció megvalósítására: A szerializált objektum a hálózaton átküldhetı, mint bájtfolyam, és a másik oldalon visszaalakítható objektummá. A szerializáció azon objektumokra is végrehajtódik, amelyek valamilyen referenciaként jelennek meg az eredeti objektumban. (Rekurzió) Szerializáció megvalósítása Valamely Java osztály szerializálásához az osztálynak implementálnia kell a java.io.serializable interface-t. Pl.: class myclass implements java.io.serializable. Innentıl kezdve a programozónak nincs több feladata a szerializáció kapcsán. A Java virtuális gép megoldja a feladatot. Az RMI mőködése A rendszer alapfogalma a távoli objektum. más virtuális gépeken lévı objektumok metódusait lehet meghívni. Egy objektum nem minden metódusa hívható távolról Csak azok, amelyek egy úgynevezett távoli interface-ben definiálva vannak. Fontos: Nem biztosítja az osztályok távoli elérését egy osztály konstruktor mőveletei nem lesznek használhatók. A rendszer teljesen transzparens: Távoli objektumok használata teljesen megegyezik a távolról nem hívható objektumokéval. A programozónak csak kevés helyen kell foglalkozni ezzel. RMI mőködése Az RMI nem nyelvi elem, hanem Java osztályok győjteménye. A hálózati kommunikációt végzı rész teljesen láthatatlan, ezért mégis annak tőnik: egy saját RMI rendszer implementálása Java nyelven tehát lehetséges A Java RMI saját szemétgyőjtı mechanizmussal rendelkezik. (A távoli objektumok miatt) Mőködése hasonló, mint a VM-é. A nyelvben nincsen olyan referencia, mely egy másik virtuális gépen elhelyezkedı objektumot címezne meg, ezért ehelyett egy úgynevezett csonkot kell használni. 3
4 A csonk A csonk egy olyan objektum, mely a lokális virtuális gépen helyezkedik el, és hasonlít a távoli objektumra. Különbség: nincs benne implementálva a távoli objektum metódusainak törzse. A metódushívás ekkor olyan, mint a csonk egy metódushívása. JRMP (Java Remote Method Protocol) protokollt használva továbbítja a hívást a távoli objektumnak, szerializája a paramétereket, blokkolva a végrehajtást ha visszaérkezik a visszatérési érték a hálózaton, deszerializálja azt, és visszaadja azt a hívó félnek. A csonk A csonk elkészítése kvázi automatikus, a Java biztosít eszközt a létrehozáshoz. A csonk használata teljesen transzparens, egyenértékő a távoli referenciával. A hívás során a hálózaton a következı információk mennek át: a hívott objektum azonosításához szükséges információk. a hívott metódus azonosításához szükséges információk. a metódushívás aktuális paraméterei szerializálva. Fontos: más-más virtuális gépen az ugyanarra az objektumhoz tartozó csonk igaz ugyan, hogy különbözı objektum, de ugyanarra az objektumra vonatkozó referencia A fogadó oldal A fogadó oldalon RMI háttérszálak futnak. Várják a beérkezı távoli metódushívásokat. Amint kapnak egy ilyet, továbbadják azt a megcímzett objektumnak, mely ugyanazon a virtuális gépen helyezkedik el. Itt van implementálva az adott metódus törzse, amely végrehajtódik. A visszatérési értéket aztán visszaküldi a hívó oldalon szereplı csonknak, mely továbbadja a hívónak. Rejtett információk a hálózaton: A távoli metódus visszatérési értéke, kivételek, melyet a távoli objektum dobott, vagy az RMI mőködése során lépett fel. A kivételek A kivételkezelés elosztott környezetben bonyolult probléma mindig a hívó oldalon kell lekezelni. Szerializálva mennek át a hálózaton objektumként. Az RMI rendszer mőködése közben fellépett hibák válthatják ki: A hálózat megszakadása vagy a hívott fél helytelen mőködése okozhatja. Egyéb dobott kivételeknél a szerializáció során elveszhetnek egyéb járulékos információk, melyek megkönnyíthetnék a hibakeresést. Ebbıl is látszik, hogy a paraméterként átadott objektumok nem mennek vissza a hívó félhez. Érték szerinti paraméterátadás. A deszerializáció során a hívott oldalon egy másolat keletkezik az eredeti objektumból 4
5 Exportálás Ha példányosítunk egy objektumot, ami távolról elérhetıvé akarunk tenni, közölni kell az RMI háttérszálakkal a készen állását: Ekkor már fogadhat távoli metódushívásokat erre az objektumra vonatkozólag. Azért, hogy tudja, hova kell a hívást továbbadni. A közlést exportálásnak nevezzük. Exportáláskor létrejön egy csonk példány is a hívott oldalon: használva a hívó oldalon érhetjük el az eredeti, távolról elérhetı objektumot. Fordítottja az unexportálás. RMI registry Ahhoz, hogy referenciához jussunk a távolról hívható objektumra, szükségünk van a hozzá tartozó csonkra. a csonk példány a hívott oldalon keletkezik. Ennek lekérése az RMI registry-n keresztül történik RMI technikával. A registry is egy távolról elérhetı objektum. A registry csonk és név párokat tartalmaz. Egy távoli objektum azonosítását egy speciális cím teszi lehetıvé: a számítógép neve, opcionálisan egy port, az objektum neve. RMI registry A fejlesztés lépései Java fejlesztı környezetben kapunk egy segédprogramot, mely létrehoz egy registry példányt és exportálja azt. Erre azért van szükség, mivel a registry is egy távolról elérhetı objektum. Viszont honnan tud a hívó fél referenciát szerezni a registry-re? Ismerjük a registry címét és a port számát, ezért csonkot generálhatunk anélkül, hogy kapcsolatba lépnénk az registry-t példányosító és azt exportáló virtuális géppel. Saját magunk is implementálhatunk RMI registry-t Mi is példányosíthatunk és exportálhatunk. 5
6 Lépések 1. Távoli interface definiálása: A távol objektum interface-ének definiálása Java interface- ként. a java.rmi.remote interface kiterjesztése szükséges, minden metódusnak dobnia kell egy java.rmi.remoteexception kivételt. Pl.: public interface TestServer extends java.rmi.remote { Lépések 2. Távoli interface implementálása: Az elsı lépésben definiált interface-t implementálni kell A Java 1.5 verziók esetén a java.rmi.unicastremoteobject osztály leszármazottja kell legyen. Az 5. verziótól kezdve ez nem szükséges már. 3. A szerver osztály lefordítása 3a. A stub compiler lefuttatása (csak 1.5 elıtti verziók esetén) A csonk lefordítása az rmic paranccsal, a paraméterei megegyeznek a javac-al al. Az rmic feladata a kliens csonk és a szerver oldali csonk generálása. Lépések 4. RMI registry indítása: rmiregistry parancs indítása a szerver gépen Minden szerver processz használhat saját registry-t t vagy akár egy közöset is. Kezdetben üres, a távoli objektumokat a szervernek kell bejegyeznie. 5. Szerver processz indítása A szerver processz létrehozza a szerver objektum példányát vagy példányait. Lépések 6. Távoli objektumok regisztrációja: A szerver processz bejegyzi a távoli objektumokat a registry-be. Ehhez felhasználja a java.rmi.naming osztály metódusait. A szerver ezzel képes fogadni a kliensek kapcsolódását. 7. Kliens kód megírása: A távoli objektum eléréséhez használni kell java.rmi.naming osztály metódusait. A távoli objektum használata ezután ugyanolyan, mint a helyi objektumé. 8. Kliens kód lefordítása 9. Kliens indítása 6
7 Példaprogram Távoli interface definiálása: package hello; import java.rmi.remote; import java.rmi.remoteexception; public interface Hello extends Remote { String sayhello() throws RemoteException; A szerver osztály public class HelloImpl extends UnicastRemoteObject implements Hello { public HelloImpl() throws RemoteException { super(); public String sayhello() { return "Hello World!"; public static void main(string args[]) { // Create and install a security manager if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()); A szerver osztály Kliens applet public class HelloApplet extends Applet { String message = "blank"; try { HelloImpl obj = new HelloImpl(); // Bind this object instance to the name "HelloServer" Naming.rebind("//myhost/HelloServer", obj); System.out.println("HelloServer bound in registry"); catch (Exception e) { System.out.println("HelloImpl err: " + e.getmessage()); e.printstacktrace(); Hello obj = null; public void init() { try { obj = (Hello)Naming.lookup("//" + getcodebase().gethost() + "/HelloServer"); message = obj.sayhello(); catch (Exception e) { System.out.println("HelloApplet exception: " + e.getmessage()); e.printstacktrace(); public void paint(graphics g) { g.drawstring(message, 25, 50); 7
8 Köszönöm a figyelmet! 8
Párhuzamos és Elosztott Rendszerek II
Párhuzamos és Elosztott Rendszerek II JAVA RMI Készítette: Dr. Mileff Péter Miskolci Egyetem Általános Informatikai Tanszék 1. Bevezetés A számítógép-hálózatok rohamos terjedésével a hálózattal összekapcsolt
RészletesebbenKommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja
Kommunikáció Folyamatok közötti kommunikáció Minden elosztott rendszer alapja Marshalling Alap primitívek Direkt, indirekt portok Blokkolás, nem blokkolás Pufferelés Megbízhatóság RPC Az RPC jellemzői
RészletesebbenSerialization. RMI működése
RMI Az RMI (Remote Method Invocation), azaz távoli metódushívás egy olyan eszköz a Java nyelvben, mely lehetővé teszi más VM-ben (Virtual Machine virtuális gép) elhelyezkedő objektumok metódusainak meghívását.
RészletesebbenJava RMI Áttekintés. A Java RMI. A Java RMI architektúrája. Ficsor Lajos. Általános Infromatikai Tanszék Miskolci Egyetem 1.
Java RMI Áttekintés Miskolci Egyetem Általános Informatikai Tanszék RMI /1 A Java RMI RPC - egy távoli eljárás hívása helyi hívásnak tÿnik RMI - hasonló mechanizmust biztosít, de objektum orientált módon:
RészletesebbenSegédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java
RészletesebbenJava RMI Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. javarmi / 1
Java RMI Áttekintés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 05. javarmi / 1 A Java RMI RPC - egy távoli eljárás hívása helyi hívásnak tűnik RMI - hasonló mechanizmust
RészletesebbenSegédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 12. gyakorlat 1 Távoli metódushívás Java-ban (RMI) Java-ban a távoli metódushívás ( Remote Method Invocation, RMI) egy
RészletesebbenJava Remote Method Invocation API
RMI Java Remote Method Invocation API RMI Java RMI API(Java Remote Method Invocation API): távoli (remote) objektumok metódusainak meghívását lehetővé tevő fejlesztői interfész (API) Kétfajta implementációja
RészletesebbenKommunikáció. 3. előadás
Kommunikáció 3. előadás Kommunikáció A és B folyamatnak meg kell egyeznie a bitek jelentésében Szabályok protokollok ISO OSI Többrétegű protokollok előnyei Kapcsolat-orientált / kapcsolat nélküli Protokollrétegek
RészletesebbenKivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
RészletesebbenDCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1
DCOM Áttekintés Miskolci Egyetem Általános Informatikai Tanszék DCOM /1 Mi a DCOM? DCOM: Distributed Component Object Model A Microsoft osztott objektum modellje Bináris együttmÿködési szabvány és annak
RészletesebbenSzéchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
RészletesebbenAz osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java
Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenJava I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvetı jellemzıi Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzık, JDK JAVA1 / 1 Egy kis történelem
RészletesebbenObjektum orientáltság alapjai A Java nyelv Fordítás - futtatás
Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás Objektum orientáltság alapjai Objektum: A való világ egy elemének ábrázolása, amely minden esetben rendelkezik: Állapottal,Viselkedéssel,Identitással
RészletesebbenAbstract osztályok és interface-ek. 7-dik gyakorlat
Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,
RészletesebbenObjektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked
RészletesebbenEnterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans
Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenKommuniká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
3. előadás Protokollok Kommunikáció 2. rész RPC (Remote Procedure Call) távoli eljáráshívás RMI (Remote Method Invocation) távoli metódushívás MOM (Message-Oriented Middleware) üzenetorientált köztesréteg
RészletesebbenJava programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
RészletesebbenEnterprise JavaBeans 1.4 platform (EJB 2.0)
Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans
RészletesebbenPelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
RészletesebbenHelyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
RészletesebbenRMI = Remote Method Invocation. Java tutorial. Kliens-szerver forgato kő nyv. Elosztott objektumok rendszere forgato kő nyv.
RMI = Remote Method Invocation í Meg tudjuk hıvni olyan objektumok meto dusait is, amelyek mas virtualis gepben futnak í Kommunikacio kulő nbő z gepeken futo Java programok kő ző tt Kliens-szerver alkalmazasok
RészletesebbenSe S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció
Serialization (in Java) Szerializáció Java Serialization API Standard eljárás az objektumok állapotának adatfolyamba történő kiírására (elmentésére egy bájtszekvenciába), és visszatöltésére Perzisztencia
RészletesebbenSzerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22
Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML
RészletesebbenOsztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;
PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function
RészletesebbenMi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani
Mi a legabsztraktabb típus a JAVA-ban? Object Mikor preferált interface-ek használata a konkrét típusok helyett? Ha egy osztály több interfacet is használhasson, vagy ha fvek implementálását a az osztályra
RészletesebbenCORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék
CORBA Áttekintés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 10. 15. Mi a CORBA? osztott objektum modell szabvány, amely definiálja a komponensek közötti interface-eket definiál
RészletesebbenProgramozási technológia
Programozási technológia Osztályszintű elérés Kivételkezelés, Fájlkezelés Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Osztályszintű elérés (statikusság) Az osztályban definiált attribútumok és műveletek
RészletesebbenObjektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely
RészletesebbenA Java nyelv. V. rész Az objektumorientáltság magasabb fokú tulajdonságai: Perszisztencia, CORBA, RMI
A Java nyelv V. rész Az objektumorientáltság magasabb fokú tulajdonságai: Perszisztencia, CORBA, RMI A Java a jövő programozási nyelve. A jövőt azonban csak a jelenen keresztül, a múlt felhasználásával
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenBevezetés a Java programozási nyelvbe
Bevezetés a Java programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a Java programozási nyelvbe JAVABEV / 1 Egy kis történelem 1. 1990-es évek eleje: a SUN belső project-je
RészletesebbenTartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés
Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS
RészletesebbenProgramozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 13. gyakorlat 2017. december 11-15. 13. gyakorlat Programozási nyelvek II.: JAVA 1 / 32 Az 13. gyakorlat tematikája Generikus típusokés öröklődés Clone Comparator Névtelen
RészletesebbenVé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread
Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális
RészletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
RészletesebbenS04-2 Elosztott alkalmazások készítése
S04-2 Elosztott alkalmazások készítése Tartalom 1. Többrétegű architektúra, elosztott szerveroldal 2. Kommunikációs eszközök: távolieljárás-hívás és üzenet alapú infrastruktúra (point-to-point és publish-subscribe
RészletesebbenRMI. Az alapoktól a részletekig RMI, activation, class loader-ek, serialization
RMI Az alapoktól a részletekig RMI, activation, class loader-ek, serialization Tartalomjegyzék BEVEZETÉS... 1 Mi az az RMI?... 1 Mi kell a dokumentum használatához?... 1 A dokumentum felépítése, használata...
Részletesebben2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
RészletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok
RészletesebbenJAVA PROGRAMOZÁS 3.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram
Részletesebbenés az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenKivételkezelés, naplózás. Exception handling, logging
Kivételkezelés, naplózás Exception handling, logging Try-catch try { // Kódrészlet, amely kivételt eredményezhet catch (Exception1 object1 ) { // Az Exception1 kivétel kezelésének megfelelő kód catch (Exception2
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenJava VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenJava Programozás 11. Ea: MVC modell
Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
RészletesebbenJNDI - alapok. Java Naming and Directory Interface
JNDI - alapok Java Naming and Directory Interface Naming Service Naming service: nevek hozzárendelése objektumokhoz, elérési lehetőség (objektumok/szolgáltatások lokalizálása), információk központosított
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val
RészletesebbenBevezető. Servlet alapgondolatok
A Java servlet technológia Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 06. Servlet Bevezető Igény a dinamikus WEB tartalmakra Előzmény: CGI Sokáig
RészletesebbenOsztott alkalmazások fejlesztési technológiái Áttekintés
Osztott alkalmazások fejlesztési technológiái Áttekintés Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Történelem - a kezdetek 2 Mainframe-ek és terminálok Minden a központi gépen fut A
RészletesebbenOsztályszintű elérés, kivételkezelés, fájlkezelés
Programozási, kivételkezelés, fájlkezelés Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 3 4 2 (statikusság) Az osztályban definiált attribútumok és műveletek az osztályból példányosított
RészletesebbenOBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
RészletesebbenKivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés
Kivételek kezelése (exception handling) Hibakezelés old style class Szamolo { void szamol( String s, int i ) { int d; if (i!= 0) d = (i+1)/i; else if (s!= null) d = s.length(); else if (i > 10) // applikációs
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 5. előadás Tömbök átméretezése public static void Resize( ref T[] array, int newsize ) Példa: int[] a=new int[20]; Array.Resize(ref a, 22); 2016. 10. 19.
RészletesebbenElosztott rendszerek
Elosztott rendszerek NGM_IN005_1 Köztesréteg megoldások (middleware-ek) Middleware alapú elosztott rendszerek Magas átlátszósági fok Eltér! operációs rendszerek Modellfügg! kommunikációs mechanizmus Er!forráskezelés
RészletesebbenJava programozási nyelv 9. rész Kivételkezelés
Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék
RészletesebbenJava VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenBME MOGI Gépészeti informatika 8.
BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező
RészletesebbenJava I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvető jellemzői Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzők, JDK JAVA1 / 1 Egy kis történelem
RészletesebbenBevezetés a Java programozási nyelvbe
Bevezetés a Java programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a Java programozási nyelvbe JAVABEV / 1 Egy kis történelem 1. 1990-es évek eleje: a SUN belső project-je
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenCO C R O B R A B OMG, ORB, CORBA
CORBA OMG, ORB, CORBA OMG CORBA (Common Object Request Broker Architecture) az OMG (Object Management Group) által definiált standard, ami lehetővé teszi különböző nyelveken írt, különböző számítógépeken
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
RészletesebbenProgramozás I. 1. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 1. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Követelmények Gyakorlatok látogatása kötelező! (maximum 2 igazolatlan hiányzás) 2 db kisdolgozat
Részletesebben7. K: JAVA alapok Konzultáció
Objektum Orientált Programozás 7. K: JAVA alapok Konzultáció 35/1B IT MAN B IT v: 2017.05.03 MAN Hiba, biztonságos program 01. Szintaktikai hiba imt i = 0; system.out.println( alma ); for (int i = 0, i
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
RészletesebbenProgramozási nyelvek II. JAVA EA+GY 1. gyakolat
Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről
RészletesebbenDr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:
RészletesebbenOsztott 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
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
RészletesebbenProgramozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 5. gyakorlat 2017. október 9-13. 5. gyakorlat Programozási nyelvek II.: JAVA 1 / 34 Az 5. gyakorlat tematikája Kivételkezelés alapjai Be és kimenet BufferedReader, Scanner
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenJava III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenOOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
RészletesebbenJava III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
RészletesebbenJava programozási nyelv 6. rész Java a gyakorlatban
Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék
RészletesebbenA függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük.
Függvények A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük. Mint egy dzsinn: Hogyan is "használunk" egy dzsinnt? megszólítjuk megmondjuk,
RészletesebbenCORBA. Mi a CORBA? A CORBA felépítése
Mi a CORBA? CORBA A programok által használt objektumok nem szükségképpen korlátozódnak az operációs rendszer által a programok számára kijelölt memóriaterületre - a program címzési tartományára. Általánosabb
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64
RészletesebbenJava VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenOOP: Java 8.Gy: Gyakorlás
OOP: Java 8.Gy: Gyakorlás 43/1 B ITv: MAN 2019.04.10 43/2 Egy régebbi beszámoló anyaga 1. Feladat: Készítsen egy Szemely nevű osztályt a szokásos konvenciók betartásával, amely tárolja egy ember nevét
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
RészletesebbenSikeres végrehajtás(pass): ez azt jelenti, hogy a teszt rendben lefutott, és az ellenőrzési feltételek mind teljesültek.
1 1. fejezet A JUnit tesztelési környezet A JUnit egy szabad forráskódú modultesztelő rendszer, amely Java programjaink automatikus teszteléséhez nyújt segítséget. A rendszer letölthető a http://junit.org
RészletesebbenJava bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o
Miért Java? széleskörben elterjedt Micro Edition - beágyazott rendszerek, régi telefonok Standard Edition - PC, android ezen alapul Enterprise Edition - vállalati programok, web service-ek multiplatform
RészletesebbenKivételek. A program végrehajtása során ritkán bekövetkező események Nem a fő végrehajtási ág ; logikailag alacsonyabbrendű feladat jelzése
Kivételek A program végrehajtása során ritkán bekövetkező események Nem a fő végrehajtási ág ; logikailag alacsonyabbrendű feladat jelzése Hiba Felhasználó butaságot csinál Speciális/abnormális számítási
RészletesebbenTartalom. Az EJB 2.1 problémái Az EJB 3 megoldásai
EJB 3 Tartalom Az EJB 2.1 problémái Az EJB 3 megoldásai Miért nem szeretik sokan az EJB 2.1-et? bonyolult a fejlesztés: sok file (legalább 3 java + legalább 2 xml), a fejlesztı eszközök varázslóival kell
RészletesebbenJava Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor
Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig
RészletesebbenJava. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE
Sapientia - EMTE 2008 Az előadás célja Üzenetkommunikációs architektúrák JMS Példák Üzenet gyártó Szinkron üzenetfogyasztó Aszinkron üzenetfogyasztó Üzenetbab (message-driven bean) point-to-point modell:
Részletesebben