This document discusses the evolution of distributed systems and middleware technologies in light of emerging trends like mobile computing, cloud computing, and ubiquitous computing. It argues that while the deployment environments are changing, the core requirements of enterprise applications like messaging, transactions, security, and reliability remain the same. Therefore, middleware is still needed but must be flexible enough to support different environments, components, and application migration. Open source technologies may help provide a common set of reusable pieces to build new middleware solutions that can adapt to changing needs.