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, 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.