These technologies have been designed and are successfully used for stationary distributed systems. However, as it will become clearer in the following, some of the requirements introduced by mobility cannot be fulfilled by these existing traditional middleware. First, the interaction primitives, such as distributed transactions, object requests or remote procedure calls, assume a stable, high bandwidth and constant connection between components. Furthermore, synchronous point-to-point communication supported by object-oriented middleware systems, such as CORBA, requires a rendez-vous between the client asking for a service, and the server delivering that service. In mobile systems, on the contrary, unreachability is not exceptional and the connection may be unstable. Moreover, it is quite likely that client and server hosts are not connected at the same time, because of voluntary disconnections (e.g., to save battery power) or forced disconnection (e.g., loss of network coverage). Disconnection is treated as an occasional fault by many traditional middleware; techniques for data-sharing and replication that have been successfully adopted in traditional systems might not, therefore, be suitable, and new methodologies need to be explored. Moreover, mobility introduces higher degrees of heterogeneity and dynamicity than traditional distributed systems. Mobile hosts might have to support different communication protocols, according to the wireless links they are exploiting; look-up operations are more elaborate than in distributed systems, because of location variability. Middleware reconfiguration becomes essential in order to adapt to highly varying context conditions. Finally, traditional middleware systems have been designed targeting devices with almost no resource limitations, especially in terms of battery power. On the contrary, even considering the improvements in the development of these technologies, resources of mobile devices will always be, by orders of magnitude, more constrained.The aim of this chapter is to give an overview of how the requirements usually associated to distributed systems are affected by physical mobility issues. We discuss how traditional middleware, and middleware built targeting mobile systems can fulfil these requirements. We provide a framework and a classification of the most relevant literature in this area, highlighting goals that have been attained and goals that need to be pursued.