8
Soft Modularity Enforced modularity – Client / Service

Soft Modularity Enforced modularity –Client / Service

Embed Size (px)

Citation preview

Page 1: Soft Modularity Enforced modularity –Client / Service

Soft Modularity

Enforced modularity –Client / Service

Page 2: Soft Modularity Enforced modularity –Client / Service

Name mapping:

- Table - Search

gcc gcc f f11 0 ‧0 ‧ … … f fnn 0‧0‧

Linker exec

Page 3: Soft Modularity Enforced modularity –Client / Service

gcc gcc f f11 0 ‧0 ‧ … … f fnn 0‧0‧

D

Dii

Uii

U

DD D D DDi i

U U (U (U UUi i ))

– – DD

Page 4: Soft Modularity Enforced modularity –Client / Service

Procedure Contract

Stack Discipline

SP

1) Callee corrupts stack.

2) Callee crashes

Fate sharing

Page 5: Soft Modularity Enforced modularity –Client / Service

Solution 1: Client / Service

Client Service

args, procedureValidate msg“Unmarshall” Run

Page 6: Soft Modularity Enforced modularity –Client / Service

- Modular

- Enforced

- Comm. Path messages Watchdog Timer

- Trusted intermediary

- Clients get enforce modularity

Page 7: Soft Modularity Enforced modularity –Client / Service

Implementing c/s org:

- Remote Procedure Call (RPC)

- Sun RPC

- XML RPC SOAP

Page 8: Soft Modularity Enforced modularity –Client / Service

RPC ≠ Procedure Call

- No fate sharing

- Failure vs. extremely slow

1) Exactly-once

2) At-least once idem-potent

3) At-most once

- Asynchrony

- Intermediary