Há diferentes interfaces de programação que possibilitam a
comunicação entre processos de uma aplicação distribuída
entre máquinas em uma rede. Por exemplo, aplicações
codificadas em Java podem trocar mensagens via métodos de
uma interface de programação que suporta sockets ou
podem invocar métodos em objetos remotos usando Remote
Method Invocation (RMI).