Evaluating Service-Oriented Architectures
Software Engineering Institute
The emergence of service-oriented architecture (SOA) as an approach for integrating applications that expose services presents many new challenges to organizations resulting in significant risks to their business. Particularly important among those risks are failures to effectively address quality attribute requirements such as performance, availability, security, and modifiability. Because the risk and impact of SOA are distributed and pervasive across applications, it is critical to perform an architecture evaluation early in the software life cycle. This report contains technical information about SOA design considerations and tradeoffs that can help the architecture evaluator to identify and mitigate risks in a timely and effective manner. The report provides an overview of SOA, outlines key architecture approaches and their effect on quality attributes, establishes an organized collection of design-related questions that an architecture evaluator may use to analyze the ability of the architecture to meet quality requirements, and provides a brief sample evaluation.
Paulo Merson is a member of technical staff at the Software Engineering Institute, where he works in the Software Architecture Technology and the Predictable Assembly from Certifiable Code Initiatives. He is currently investigating service-oriented architectures, aspect-oriented software development, model-driven development, and software architecture representation. Paulo has more than 15 years of experience in software development. Prior to joining the SEI, he was a J2EE consultant and worked on the implementation of several enterprise applications.
Rick Kotermanski is the chief technology officer for Summa. Rick serves as Summa's technical lead for new practice and business development, in addition to his role as a principal consultant leading client engagements. Rick has over 20 years of experience in the architecture, management, design, and development of successful mission-critical application and product development projects.