The market of the mobile devices such as smart phones and tablets is one of the most dynamically expanding one with the Android platform being among the most influential factors.
The development of distributed applications requires the examination of the communication solutions of the targeted platform. The low level communication solutions of the Android provide streams for byte based. On the other hand the high level network solutions of Android are based on the client server architecture which does not support efficient distributed communication. Moreover the Android does not support RMI, the RPC implementation of java, because the virtual machine of the Android runtime is not compatible with the virtual machine of the Sun and only a portion of java packages are supported.
The aim of this paper is to correct this flaw by developing a framework for object oriented network communications. The resulting framework Advanced Java Remote Procedure Call (AJAR) utilizes a multi layer architecture to ensure a high level of modularity and reusability. There are three layers as follows the network layer, which utilizes and manages the low level network solutions, the method carrier layer, which realizes object oriented data transfer, and the remote procedure call layer, which attains object oriented communication. The network layer has been implemented for both TCP/IP and Bluetooth. The method carrier layer uses the standard java serialization. The remote procedure call layer utilizes the java reflection framework to achieve object orientation by the usage of the dynamic proxy class and method invocation.
This paper contains both the static and dynamic description of the AJAR, the measurement of the performance of the TCP/IP and Bluetooth implementations between java platforms and an interoperability research with the iOS platform.