[NSWI080] Online Lecture Information

Petr Tůma petr.tuma at d3s.mff.cuni.cz
Thu Mar 26 15:12:11 CET 2020


Hello,

the materials for the upcoming lecture were updated on the web. The link for the online lecture is the same, https://matfyz.zoom.us/j/679458081, the start time is Friday March 27 at 10:40 CET.

Before class, please review the following points:

## Try gRPC Examples

Run the basic examples from https://github.com/d-iii-s/teaching-middleware/tree/master/src/grpc-basic-server
and the stream examples from https://github.com/d-iii-s/teaching-middleware/tree/master/src/grpc-stream-server.

What is the difference between the basic examples and the stream examples ?

## Look Back at RPC

What is the difference between a remote procedure call and a remote method invocation ?

Think about partial failures in an RPC based application:

- Is it possible for either the client or the server to crash and the other side not notice (for some time) ?
- Is it possible for either the client or the server to restart and the other side not notice ?

Think about refactoring in an RPC based application:

- What if you need to add an argument to a function or a method ?
- What if you need to remove an argument of a function or a method ?
- What if you need to add a function or a method ?
- What if you need to remove a function or a method ?
- What if you need to change the definition of a type used as an argument ?
- What if you want to just rename things (arguments, functions, methods) without structural change ?

And what if you need to run versions before and after refactoring together ?

Can the client and the server execute concurrently ?
What do you have to do in code to make that happen ?

See you tomorrow, Petr


More information about the NSWI080 mailing list