search menu icon-carat-right cmu-wordmark

Architecture and Design of Service-Oriented Systems (Part 1)

The objective of this tutorial is to provide guidance on the architecture and design of service-oriented systems. Part I covers basic concepts and impact.

Software Engineering Institute



About the Tutorial  

SOA is not an architecture. SOA is not a system. SOA is a way of designing systems, an approach to system development, an architectural style, and a design paradigm.  As an architectural style, SOA can be described in terms of components and connectors. The main components are the services, service consumers, and SOA infrastructure. The connectors are predominantly message-based document exchanges. In essence, SOA is an architectural style and an approach to software development that goes with the style. You do not "build a SOA," you "build a service-oriented system."

The objective of this tutorial is to provide guidance on the architecture and design of service-oriented systems. In the first part of the tutorial, I will present and discuss basic concepts related to software architecture design and the impact of service orientation on system qualities. The second part will focus on SOA infrastructure-design considerations, decomposition of an enterprise service bus (ESB) into patterns and tactics as an example of SOA infrastructure, and principles of service design. The goal is to provide a starting point for using quality attribute requirements to design infrastructure and services in a service-oriented system.

About the Speaker

Grace Lewis is a senior member of the technical staff at the Software Engineering Institute at Carnegie Mellon University. Lewis has over 20 years of professional software development experience, mainly in industry. Her main areas of expertise include service-oriented architecture (SOA), cloud computing, and mobile applications.

Before joining the SEI, Lewis was Chief of Systems Development for Icesi University, where she served as project manager and technical lead for the university-wide administrative systems. Other work experience includes Design and Development Engineer for the Electronics Division of Carvajal S.A., where she developed software for communication between PCs and electronic devices; developed embedded software on the microcontroller that was used on the devices; and provided technical assistance to sales personnel during on-site visits to potential and actual clients.

At the SEI, she has worked in the area of Commercial-of-the-Shelf (COTS) Based Systems, Legacy System Modernization, Systems of Systems Engineering, and Service-Oriented Architecture (SOA), where she has a number of publications. Her current area of work is mobile computing in resource-constrained environments, as well as the intersection between mobile computing and cloud computing.

Lewis has teaching experience at the graduate and undergraduate level. She is currently a member of the technical faculty and a mentor for the Master of Software Engineering program at Carnegie Mellon University.

About the Speaker

Headshot of Grace Lewis.

Grace Lewis

Grace Lewis is a Principal Researcher at the Carnegie Mellon Software Engineering Institute (SEI), where she conducts applied research on how software engineering and software architecture principles, practices, and tools need to evolve in the face of emerging technologies. She is the principal investigator for the Automating Mismatch Detection and …

Read more


Supplemental Materials

This content was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.