You are on page 1of 28

/

3 (3)

3:

:
Java RMI

client/server
callbacks.

Buffer 1

DHT P2P
Pastry
(RMI, CORBA, Web Services)



.


.

.

.

- 1

Java
RMI .
:
1. Netbeans


build (.. registry,
..)
2. projects,
.
projects : <>_AM_StockClient,
<>_AM_StockServer. To project client
:
4

- 1


StockPriceModifier.
.
:
< > <> .. INTRALOT 3.56
server
(
stockChange()). , server

(callback )
i.

- 1

ii.


StockPriceMonitor. H remote
interface StockPriceListener. To interface
stockPriceUpdate terminate.
server. H
stockPriceUpdate()
. H
(.. output Netbeans).
terminate() server
(
)
. H
username
addStockPriceListener()
server ( StockPriceProvider interface).
server
client (callback ):
6

- 1


StockRegistration.
(Register) (Unregister)
. H
username
:
R U < >
, server

removeStockPriceListener(). server callback
terminate() client (
StockPriceMonitor)
ii.

- 1

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
8
StockPriceProviderServant.

- 1

4. remote interfaces



.
5. .

.

-
callbacks

.
6.
: DEH, OTE OPAP, INTRALOT INTRACOM.
9
.

- 1

7.

8.
9.

10.

11.
12.



(.. ).
M localhost (IP address
127.0.0.1).

security manager
security policy .
.
,
.
, , ,
.
10

.1

,
,
,

() .
()

sockets .
,

RMI.

11

.1
/ :
.
.
.
2 projects
client server

12

.1
/ :
/ (..
).

server
:
) callback
)
)


target
(.. )

13

- 2
callbacks
callbacks



client-server.

callbacks .
(~ 120 )

14

.2


callback

15

3
1 -
(Producer)

0 9
Buffer, .
(Consumer),
Buffer ( Producer
), .

:
:
:
:
:

:
:

0
0
1
1
9
9

16

3
1 -
(

Producer Consumer) Buffer:


class Buffer {
private int item;
public int get() {
return item;
}
public void put(int value) {
item = value;
}
}

17

3
1 -
)

Buffer;
. [5 ]
) ;
Buffer . [7
]
) NetBeans
. [7 ]
(~ 350 )
: (..
100 ms)


.
18

.1

.

/ :

( Buffer)
.
(race condition).
synchronized get/put.


(buffer)

O get/put

multithreading.

get put synchronized


!

Buffer, out of synch


19

3
2
Java block

.
(~ 70 ).

20

.2
.

block


server.

(..
this).

21

3
&
1 DHT Pastry
Distributed Hash Table (DHT)
Pastry.
(~120 ).

22

.1
.

:
DHT

overlay
.
DHT
(K,V), K
V .
DHT ,
(lookup (key)),
.

23

3
&
2 Pastry
Pastry .


(GUID)
: 312132, 310332, 311200.

24

.2
.

:
,

.

310332 o
311020 310213.

310332,
routing table (. entry
GUID 310332

).
25

3
&
3 RMI, CORBA, Web Services
RMI, CORBA Web Services

.
RMI
CORBA Web Services.
Web Services
CORBA RMI.
CORBA
RMI Web Services.
(~100 )

26

.3
.

27

3
3

3
14

12
10
8
6
4
2
0
<5

[5,6)

[6,7)

[7,8)

[8,9)

[9,10)

28

You might also like