Etäproseduurikutsu
Etäproseduurikutsu on ohjelmoinnissa ja käyttöjärjestelmäsuunnittelussa käytetty paradigma hajautetun järjestelmän toteuttamiseen. Hajautettu järjestelmä voidaan toteuttaa käyttöjärjestelmätasolla tai sovellustasolla, jolloin voidaan käyttää ohjelmointirajapintoja, ohjelmistokehyksiä ja tietoliikenneprotokollia apuna.[1]
Hajautettuja käyttöjärjestelmiä ovat esimerkiksi Apollo Computer -yrityksen Domain/OS sekä Bell Labsin Plan 9.
Tarkoitukseen kehitettyjä rajapintoja ja protokollia:[2]
- RPC (Remote Procedure Call, "Sun RPC", IETF-standardoitu, eri toteutuksia)
- CORBA (Object Management Group)
- DCOM (Microsoft)
- RMI (Remote Method Invocation, Java)
Menetelmä
[muokkaa | muokkaa wikitekstiä]Etäproseduurikutsussa ohjelma etenee kahden prosessin kautta: asiakasohjelma (client) kutsuu palvelinohjelmaa (server).[3] Asiakasohjelma lähettää kutsuviestin parametreineen palvelinohjelmalle ja jää odottamaan vastausta.[3] Palvelinohjelma, joka on ollut odottamassa kutsuviestiä, käsittelee kutsun parametrit, suorittaa toiminnon ja lähettää vastausviestin, sekä jää odottamaan seuraavaa kutsuviestiä.[3] Asiakasohjelma saa vastausviestin, käsittelee tuloksen ja jatkaa suoritusta.[3]
Mallissa vain toinen ohjelma kerrallaan on aktiivisena toiminnon suorituksessa, mutta totetus voi käyttää rinnakkaisuutta sekä asynkronisia kutsuja.[3]
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Introduction to Distributed Systems (PDF) Arpaci-Dusseau Books. Bibcode:2009arXiv0911.4395T arXiv:0911.4395 Viitattu 3.6.2019. (englanniksi)
- ↑ https://www.oreilly.com/library/view/oracle-database-10g/9780072263251/9780072263251_ch11lev1sec1.html
- ↑ a b c d e RPC Model IBM. Viitattu 3.6.2019. (englanniksi)
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- A Critique of the Remote Procedure Call Paradigm (PDF) (englanniksi)