tanszek:oktatas:informacios_rendszerek_integralasa:java_rmi
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:informacios_rendszerek_integralasa:java_rmi [2023/05/05 15:52] – knehez | tanszek:oktatas:informacios_rendszerek_integralasa:java_rmi [2024/03/26 18:26] (current) – knehez | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Egyszerű Java-RMI példa ===== | ===== Egyszerű Java-RMI példa ===== | ||
+ | |||
+ | Először is, készítsünk egy interakciós diagramot, ami bemutatja, hogyan kommunikál egymással a **Client** és a **RObject** a **RegisterService**-en keresztül: | ||
+ | |||
+ | < | ||
+ | sequenceDiagram | ||
+ | participant C as Client | ||
+ | participant RS as RegisterService | ||
+ | participant RO as RObject | ||
+ | participant RMI as RMI Registry | ||
+ | |||
+ | RS->> | ||
+ | RMI-->> | ||
+ | C->> | ||
+ | RMI-->> | ||
+ | C->> | ||
+ | RO-->> | ||
+ | C->> | ||
+ | RO-->> | ||
+ | </ | ||
+ | |||
+ | Ez a diagram szemlélteti a folyamat lépéseit: a RegisterService regisztrálja az RObject-et az RMI Registry-ben, | ||
+ | |||
+ | Most pedig nézzük meg, hogyan néz ki ez a rendszer egy struktúra diagramon, ami bemutatja a komponensek és azok kapcsolatait: | ||
+ | |||
+ | < | ||
+ | graph TD | ||
+ | subgraph "RMI Registry" | ||
+ | RO[RObject Interface] | ||
+ | end | ||
+ | |||
+ | subgraph " | ||
+ | ROS[RObjectImpl] -- Implements --> RO | ||
+ | end | ||
+ | |||
+ | subgraph " | ||
+ | C[Client] -- Uses --> RO | ||
+ | end | ||
+ | |||
+ | RegisterService -- Registers --> RO | ||
+ | C -- Looks up --> RO | ||
+ | C -- Calls methods on --> ROS | ||
+ | </ | ||
+ | |||
+ | A struktúra diagram világosan ábrázolja a rendszer különböző részeit és azok közötti kapcsolatokat: | ||
+ | |||
+ | A Server Side rész tartalmazza az **RObjectImpl** implementációt, | ||
+ | A **Client** a távoli objektum (ROS) metódusait hívja meg, ami ábrázolja a két fő műveletet: egy primitív és egy érték szerinti paraméter átadást. | ||
+ | |||
+ | **Megvalósítás: | ||
+ | |||
+ | Telepítsük a gradle-t innen: https:// | ||
+ | A //bin// könyvtárat adjuk hozzá a // | ||
A teljes forráskód elérhető itt: | A teljes forráskód elérhető itt: | ||
Line 22: | Line 74: | ||
1.) Definiáljuk az RObject interfészeket, | 1.) Definiáljuk az RObject interfészeket, | ||
- | <code java> | + | <sxh java> |
package org.ait; | package org.ait; | ||
import java.rmi.*; | import java.rmi.*; | ||
Line 33: | Line 85: | ||
void argumentByValue(Integer num) throws RemoteException; | void argumentByValue(Integer num) throws RemoteException; | ||
} | } | ||
- | </code> | + | </sxh> |
2.) Implementáljuk a távoli objektumok kódját | 2.) Implementáljuk a távoli objektumok kódját | ||
- | <code java> | + | <sxh java> |
package org.ait; | package org.ait; | ||
import java.rmi.RemoteException; | import java.rmi.RemoteException; | ||
Line 57: | Line 109: | ||
} | } | ||
} | } | ||
- | </code> | + | </sxh> |
- | 3.) Indítsuk el az RMI registry-t. Ez egy Java JDK komponens, elindítani a létrehozott projekt /bin könyvtárából kell. | + | 3.) Indítsuk el az RMI registry-t. Ez egy Java JDK komponens, elindítani a létrehozott projekt |
> rmiregistry.exe | > rmiregistry.exe | ||
Line 65: | Line 117: | ||
4.) Hozzuk létre egy példányát a távoli objektumnak és kössük hozzá a registry-hez | 4.) Hozzuk létre egy példányát a távoli objektumnak és kössük hozzá a registry-hez | ||
- | <code java> | + | <sxh java> |
package org.ait; | package org.ait; | ||
Line 84: | Line 136: | ||
} | } | ||
} | } | ||
- | </code> | + | </sxh> |
Indítsuk el a RegisterService-t, | Indítsuk el a RegisterService-t, | ||
Line 92: | Line 144: | ||
Indítsuk el az alábbi kódot. | Indítsuk el az alábbi kódot. | ||
- | <code java> | + | <sxh java> |
package org.ait; | package org.ait; | ||
Line 115: | Line 167: | ||
} | } | ||
} | } | ||
- | </code> | + | </sxh> |
tanszek/oktatas/informacios_rendszerek_integralasa/java_rmi.1683301951.txt.gz · Last modified: 2023/05/05 15:52 by knehez