1 - ΣΔΥ50 - ΟΣΣ4 - Κοινά Λάθη Στην ΓΕ3
TRANSCRIPT
-
7/25/2019 1 - 50 - 4 - 3
1/28
/ 3 (3)
-
7/25/2019 1 - 50 - 4 - 3
2/28
3:
: Java RMI
client/server
callbacks.
: -
Buffer 1
DHT P2P
Pastry
(RMI, CORBA, Web Services)
.
-
7/25/2019 1 - 50 - 4 - 3
3/28
3
.
.
.
.
3
-
7/25/2019 1 - 50 - 4 - 3
4/28
- 1
4
Java RMI . :
1. Netbeans
build (.. registry, ..)
2. projects,
. projects : _AM_StockClient,_AM_StockServer. To project client :
-
7/25/2019 1 - 50 - 4 - 3
5/28
- 1
5
i. StockPriceModifier.
. :
.. INTRALOT 3.56
server ( stockChange()). , server (callback )
-
7/25/2019 1 - 50 - 4 - 3
6/28
- 1
6
ii. StockPriceMonitor. H remoteinterface StockPriceListener. To interface stockPriceUpdate terminate. server. H
stockPriceUpdate() . H (.. output Netbeans). terminate() server ( )
. H username addStockPriceListener()server ( StockPriceProviderinterface). server
client (callback ):
-
7/25/2019 1 - 50 - 4 - 3
7/28
- 1
7
ii. StockRegistration.
(Register) (Unregister) . H
username
:R U
, server removeStockPriceListener(). server callback
terminate() client ( StockPriceMonitor)
-
7/25/2019 1 - 50 - 4 - 3
8/28
- 1
8
3. server remote interface StockPriceProvider. To interface :i. stockChange(): StockPriceModifier
.
ii. register() : StockClientRegistration .
iii. unRegister(): StockClientRegistration .
iv. addStockPriceListener(): StockPriceMonitor
server .v. removeStockPriceListener():
StockClientRegistration .
StockPriceProvider interface StockPriceProviderServant.
-
7/25/2019 1 - 50 - 4 - 3
9/28
- 1
9
4. remote interfaces .
5. . . -
callbacks .
6.
: DEH, OTE OPAP, INTRALOT INTRACOM. .
-
7/25/2019 1 - 50 - 4 - 3
10/28
- 1
10
7. (.. ).
8. M localhost (IP address127.0.0.1).
9. security manager security policy .
10. .
11. , .
12. , , ,
.
-
7/25/2019 1 - 50 - 4 - 3
11/28
.1
.
.
, , , , () .
() sockets .
, RMI. 11
-
7/25/2019 1 - 50 - 4 - 3
12/28
.1
/ : .
.
.
2 projects client server
12
-
7/25/2019 1 - 50 - 4 - 3
13/28
.1
/ : / (..
).
server :
) callback )
)
target
(.. )
13
-
7/25/2019 1 - 50 - 4 - 3
14/28
- 2 callbacks callbacks
client-server.
callbacks .
(~ 120 )
14
-
7/25/2019 1 - 50 - 4 - 3
15/28
.2
callback
15
-
7/25/2019 1 - 50 - 4 - 3
16/28
3
1 - (Producer)
0 9 Buffer, . (Consumer),
Buffer ( Producer ), . :
: 0
: 0
: 1
: 1
: 9
: 916
-
7/25/2019 1 - 50 - 4 - 3
17/28
3
1 - (
Producer Consumer) Buffer:class Buffer {
private int item;
public int get() {
return item;
}
public void put(int value) {
item = value;
}
}
17
-
7/25/2019 1 - 50 - 4 - 3
18/28
3
1 - )
Buffer; . [5 ]
) ; Buffer . [7]
) NetBeans . [7 ]
(~ 350 )
: (.. 100 ms)
.
18
-
7/25/2019 1 - 50 - 4 - 3
19/28
.1
. / :
( Buffer) .
(race condition). synchronized get/put.
(buffer)
O get/put
. multithreading.
T get put synchronized !
Buffer, out of synch 19
-
7/25/2019 1 - 50 - 4 - 3
20/28
3
2 Java block
.
(~ 70 ).
20
-
7/25/2019 1 - 50 - 4 - 3
21/28
.2 .
block
server.
(.. this).
21
-
7/25/2019 1 - 50 - 4 - 3
22/28
3
&
1 DHT Pastry Distributed Hash Table (DHT)
Pastry.
(~120 ).
22
-
7/25/2019 1 - 50 - 4 - 3
23/28
.1
.
: DHT
overlay.
DHT (K,V), K V .
DHT , (lookup (key)), .
23
-
7/25/2019 1 - 50 - 4 - 3
24/28
3
&
2 Pastry Pastry .
(GUID) :312132,310332,311200.
24
-
7/25/2019 1 - 50 - 4 - 3
25/28
.2
.
:
,
.
310332 o 311020 310213.
310332, routing table (. entry GUID 310332 ).
25
-
7/25/2019 1 - 50 - 4 - 3
26/28
3
&
3 RMI, CORBA, Web Services RMI, CORBA Web Services
.
RMI CORBA Web Services.
Web Services CORBA RMI.
CORBA RMI Web Services.
(~100 )
26
-
7/25/2019 1 - 50 - 4 - 3
27/28
.3
.
.
27
-
7/25/2019 1 - 50 - 4 - 3
28/28
3
28
3
0
2
4
6
8
10
12
14