This chapter aims at characterizing the concepts that underlie a model-driven service-oriented approach to the design of enterprise applications. Enterprise applications are subject to continuous change and adaptation since they are meant to support the dynamic arrangement of the business processes of an enterprise. Service-oriented computing (SOC) promises to deliver the methods and technologies to facilitate the development and maintenance of enterprise applications. The model-driven architecture (MDA), fostered by the Object Management Group (OMG), is increasingly gaining support as an approach to manage system and software complexity in distributed-application design. Service-oriented computing and the MDA have some common goals; namely, they both strive to facilitate the development and maintenance of distributed enterprise applications, although they achieve these goals in different ways. This chapter discusses a combination of these approaches and discusses the benefits of this combination