As the platform for wide-area distributed applications, the middleware architecture should support adaptability, scalability, mobility, reliability and security. However, current middleware solutions cannot meet these requirements. The middleware architecture, called MSWADA, is presented in this paper. It is designed for large-scale distributed systems. We focus especially on how MSWADA supports adaptability, scalability and mobility.