This document provides an overview of service-oriented architecture (SOA). It defines SOA and its key concepts, discusses the motivations for and applications of SOA, compares SOA to other methodologies, outlines implementation technologies, advantages and challenges. It also reviews SOA methodologies, describes the typical steps in a SOA approach, discusses the future of SOA and open research areas, and provides recommendations for adopting SOA.