Developing software in a service-oriented world
The software development community is once again at an interesting inflection point. Distributed and interconnected systems have become the norm for new development efforts to the extent that the word "application" itself might have to be redefined. Independent variability and evolution of the interconnected components are enabled through loosely coupled solutions, such as Serviceoriented Architectures (SOA). At the same time, Model-driven Architectures (MDA) aim to simplify development by abstracting and automating large portions of the coding effort.
Full Text: PDF