1 - ΣΔΥ50 - ΟΣΣ4 - Κοινά Λάθη Στην ΓΕ3

download 1 - ΣΔΥ50 - ΟΣΣ4 - Κοινά Λάθη Στην ΓΕ3

of 28

Transcript of 1 - ΣΔΥ50 - ΟΣΣ4 - Κοινά Λάθη Στην ΓΕ3

  • 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