Service-Oriented Architecture(SOA) is primarily regarded as a technical architecture consisting of tools and service specification to build loosely coupled applications. At another level it is also a means to leverage flexibility and agility to system services as it offers a hierarchical framework to coordinate simultaneous business process design and implementations using loosely coupled service infrastructures. SOA has been debated both in the academy and industry and misinterpretations of its nature impede its adoption. We summarize its historical origins and current evolutions. We review technologies that underlie SOA. In particular, we address how to integrate SOA initiatives with current technology platforms, and how to enforce reuse during the design of loosely coupled systems. We also analyze SOA design methodologies and platforms, and what are their roles in the application integration. Finally we outline challenges and future research directions for SOA.
Available at: http://works.bepress.com/kalle_lyytinen/3/