O framework do Android promove uma arquitetura que quebra aplicativos extensos e monolíticos em componentes menores: Activity, Service, Content Provider ou Broadcast Receiver. Deste modo, quando dois ou mais processos, locais ou remotos, distintos precisam se comunicar, o Android oferece uma ferramenta altamente otimizada denominada de AIDL (Android Interface Definition Language).
Assim como a maioria de outras IDLs, a AIDL também utiliza o mecanismo de RPC (Remote Procedure Call), que é uma tecnologia popular para implementação do modelo cliente-servidor de computação distribuída. Na linguagem Java, o RMI (Remote Method Invocation) é uma API que realiza o equivalente para a orientação a objeto, semelhante as especificações RPC. Além disso, a implementação depende da JVM e somente funciona entre JVMs, ou seja, somente permite a comunicação entre objetos Java por meio da implementação/protocolo conhecido como JRMP (Java Remote Method Protocol). No caso de comunicações entre objetos Java e outros não Java deve-se utilizar o CORBA (Common Object Request Broker Architecture) ou também conhecido como RMI-IIOP (RMI over IIOP). Saiba+
Essa é a característica que torna dispositivos móveis tão empolgantes. A capacidade de se conectar à internet e de utilizar a imensa variedade de serviços que ela oferece é justamente o principal atrativo do Android.
AIDL é similar a outras IDLs, ou seja, é utilizada para descrever a interface de componentes de software cujo objetivo é permitir a comunicação entre ambos.
XRPC é uma tecnologia de comunicação entre processos que permite a um programa de computador chamar um procedimento em outro espaço de endereçamento de modo que tal procedimento possa ser reutilizado.
XComo os detalhes envolvidos nestes protocolos estão além do escopo desta disciplina, caso queira saber mais, procure pelo padrão de projeto Proxy (GOF Estrutural de objeto), pois o mesmo define as características que serviram de base para a implementação do RMI na linguagem de programação Java.
X