Zasílání zpráv v informatice je jedním z přístupů pro implementaci interakce komponent a systémů používaných v paralelních výpočtech , objektově orientovaném programování , také jednou z forem meziprocesové komunikace v operačních systémech , v operačních systémech s mikrojádry , přístup se používá k výměně informace mezi jedním z jader a jedním nebo více prováděcími bloky.
Systémy distribuovaného přístupu k objektům a vzdáleného vyvolávání metod, jako jsou ONC RPC , CORBA , RMI , DCOM , SOAP , .Net_Remoting , QNX Neutrino RTOS , OpenBinder , D-Bus a podobně, jsou systémy pro zasílání zpráv. Široké používání přístupů zasílání zpráv je také neodmyslitelnou součástí vysoce výkonných počítačů , zejména je na něm založeno rozhraní pro předávání zpráv MPI . Ve třídě middlewaru vyniká speciální skupina - middleware orientovaný na zprávy založený na tomto přístupu.
Systémy zasílání zpráv jsou uzavřené, protože jejich abstrakce skrývá všechny změny stavu, které lze použít při implementaci odesílání zpráv.
Programovací jazyky založené na tomto modelu obvykle definují předávání zpráv jako odesílání (obvykle asynchronní; jako kopie) datového prvku konečnému příjemci ( aktér , proces , vlákno , soket atd.). Koncept zpráv je verze datagramů na vysoké úrovni , kromě toho, že zprávy mohou být větší než paket a mohou být spolehlivé, odolné, bezpečné a v případě potřeby mohou být pokryty transakčním mechanismem .
Zprávy se často používají pro komunikaci mezi procesy ; další běžnou oblastí použití jsou streamy a kanály , ve kterých jsou informace odesílány jako sekvence jednoduchých datových prvků (verze virtuálního kanálu na vysoké úrovni ).
Z hlediska některých objektově orientovaných programovacích jazyků je zpráva jediným způsobem, jak přenést řízení na objekt. Pokud má objekt na tuto zprávu "odpovědět", pak musí mít metodu odpovídající dané zprávě.
V čistě objektově orientovaném programování je zasílání zpráv implementováno pouze pomocí dynamických volání.
Odeslání stejné zprávy objektu dvakrát obvykle způsobí, že objekt použije metodu dvakrát. Zprávy se nazývají stejně, pokud jsou jejich názvy a argumenty stejné.
Objekty mohou posílat zprávy jiným objektům pomocí svých metod.
Zasílání zpráv má za následek extrémně pozdní vazbu .
Alan Kay tvrdí [1] , že výměna zpráv mezi objekty je koncept důležitější než objekty samotné, ačkoli to lidé často nechápou a věnují příliš mnoho pozornosti samotným objektům a nedostatečnou pozornost zprávám, které si vyměňují.
Některé jazyky podporují předávání (delegování) volání metod z jednoho objektu na druhý, pokud nemá metodu pro zpracování zprávy, ale „zná“ jiný objekt, že ano.
Meziprocesová komunikace | |
---|---|
Metody | |
Vybrané protokoly a standardy |