Middleware systems compriseprogrammingmodels, abstractions,protocols,and services to facilitate the design, the development, the integration, and the - ployment of distributed applications in heterogeneous computing environments. Conceptually, the term “middleware” refers to a layer of software above the networking substrate and the operating system and below the (distributed) application. In practice these boundaries are not clear cut, with middleware functionality moving into and out of these layers. Remote communication, p- lish/subscribe, messaging, and (distributed) transaction constitute examples of common middleware abstractions and services. Middleware researchencompasses, builds on and extends a wide spectrum of concepts, techniques and ideas from a broad range of ?elds, including progr- ming languages, distributed systems, operating systems, networking, and data management. Following the success of the past conferences in this series in the Lake D- trict, UK (1998), in Palisades, NY (2000), in Heidelberg, Germany (2001), and in Rio de Janeiro, Brazil (2003), the 5th International Middleware Conference in Toronto, Canada aimed to be the premier conference for middleware research and technology in 2004. The broad scope of the conference included the design, the implementation, the deployment, and the evaluation of distributed systems platforms and architectures for emerging computing environments. The conf- ence gave an overview of research on middleware for peer-to-peer computing, middleware for mobility, middleware for replication and transactions, on p- lish/subscribesystems,onroutingprotocolsandoverlaynetworks,onapplication servers, resource management, and software engineering, and on Web services. This year, the technical program of Middleware drew from 194 submitted papers, among which 13 were explicitly submitted as work-in-progress papers.