Mobile middleware is, as the name implies, middleware used in the context of mobile-computing devices.Mobile middleware offers various transparencies that hide the complexities of mobile environments. For instance, location transparency allows applications to exchange data with other applications without any regard for their location. Similar abstractions are likewise provided by transparencies on the transport protocol, operating system, programming and others. Mobile middleware typically involves services like messaging and Remote Procedure Call (RPC), resource discovery, transactions, directory, security, storage services and data synchronization.
The mobile environment, which offers a more challenging ground for application development, is ideal for the use of middleware. Limited bandwidths, long latency, disparate platforms, constrained memory and processing resources and unreliable connections are some of the obstacles that can make development a costly and complicated exercise. Middleware makes things easier for mobile application developers by abstracting many of the issues involved. The mobile environment imposes critical requirements such as accessibility, reachability, adaptability, trustworthiness, and universality. To comply with such requirements, industries came up with what are now known as middleware platforms, including Java ME, Symbian, .NET, Android and the iPhone.