Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Design Guidelines and Patterns for Modern SOA

Creating a sound design for service-oriented architecture (SOA) is a hard job. There are countless technology and design choices to consider, including industry standards, frameworks, design patterns, integration approaches, middleware products, and tools. And it is a moving landscape-new ideas and products for services (and microservices) show up every week in your favorite newsletter or blog digest email. Given all this, how can you make informed design decisions?

This two-day course will give you the essential knowledge to see the SOA landscape with clarity. We will cover seven guidelines for SOA designs. More important, we'll look at the strategies available today to realize each design guideline. These strategies include design patterns, architecture tactics, and middleware elements and are complemented by good practices and governance precepts. As an example, the module covering the service autonomy design guideline includes event-driven architecture, use of Domain-Driven Design to remodel services to avoid distributed transactions, the Service Data Replication pattern, the Service Callback pattern, Command Query Responsibility Segregation, and the Compensating Transactions pattern.

For this class, we developed a simple, clear, and consistent design notation for the more than 60 design diagrams used to convey and exemplify the design guidelines and strategies. But you don't just get to listen and read. Participants will share their experience throughout the course. The course also includes a hands-on design lab, in which attendees evaluate existing designs based on the design guidelines, and create new designs using different patterns and other design strategies.

Who should attend?

This course is valuable for

  • software and application architects
  • developers who use service and microservice technologies in their solutions


The course covers the following topics:

  • approaches to service composition
  • the service-oriented architectural style and the strategies and patterns for realizing its seven design guidelines
    • standardized service contract
    • loose coupling
    • reusability
    • service autonomy
    • service statelessness
    • service discoverability
    • service composability


After attending this course, learners will understand

  • the main approaches to service composition
  • design guidelines for successful SOAs
  • strategies, including several design patterns, that can be used to realize the SOA design guidelines
  • Completion of this course fulfills a training requirement for the SEI's SOA Architect certificate program.


Participants should have attended the Designing Modern SOA Systems course or have a sound understanding of distributed systems, SOAP, and REST services.


Participants will receive copies of the course presentation slides, the class exercises, and a "cheat sheet" with the most important concepts. Participants will also receive a printed Certificate of Completion at the end of the class.


This 2-day course meets at the following times:

Days 1-2, 8:30 a.m. - 5:00 p.m.

Training courses provided by the SEI are not academic courses for academic credit toward a degree. Any certificates provided are evidence of the completion of the courses and are not official academic credentials.

Course Details

Course Fees [USD]

U.S. Industry: $1500

U.S. Government/Academic: $1200

International: $2250

Please select a course offering then click REGISTER.


This course may be offered by special arrangement at customer sites.

For More Information

Phone: 412-268-7622