InfoQ

InfoQ

Article

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Practices from “SOA Principles of Service Design” by Thomas Erl

Posted by Thomas Erl on Oct 15, 2009

Sections
Architecture & Design,
Enterprise Architecture
Topics
SOA ,
Design ,
Governance
Tags
SOA Adoption ,
Book ,
Service Design ,
Reviews

“SOA Principles of Service Design” by Thomas Erl is an encyclopedia of service design principles needed to build SOA solutions. This article contains three supporting practices taken from the book: Service Profiles, Vocabularies, and Organizational Roles.

Download: SOA Principles of Service Design, Chapter 15 - Supporting Practices

In the early phase of documenting services, it is useful to use a common template or a form to collect similar meta-data from all the services. This document represents a service profile. Such a profile can be created by the service custodians early on during the analysis phase, and it is updated later when the service goes through various changes. Some companies prefer to enter the content of the profile into the service registry when the service is deployed. The author goes in great detail explaining what the profile might contain.

Different teams may develop services using different conventions possibly leading to confusion. A common vocabulary helps understanding better what each team is doing. The author suggests standardizing the following vocabularies, also offering a good set of terms to start with:

  • Service-Oriented Computing Terms
  • Service Classification Terms
  • Design Principle and Characteristic Types, Categories, Labels
  • Design Principle Application Levels
  • Service Profile Keywords

IT positions in an organization change in time. Some people leave, others come in. New roles may be created when needed. A list of organizational roles, with clear specifications for each one, creates a better picture of what everybody is supposed to do and how they relate to each other. The author presents a set of roles associated with service-oriented design principles:

  • Service Analyst
  • Service Architect
  • Service Custodian
  • Schema Custodian
  • Policy Custodian
  • Service Registry Custodian
  • Technical Communications Specialist
  • Enterprise Architect
  • Enterprise Design Standards Custodian (and Auditor)

The author gives a description of each role mentioning the principles associated with it. For example, the Service Analyst role is associated with Service Reusability, Service Autonomy, Service Discoverability.


This chapter is an excerpt from the book SOA: Principles of Service Design, authored by Thomas Erl, published July 2007 by Prentice Hall Professional as part of The Prentice Hall Service-Oriented Computing Series from Thomas Erl, ISBN 0132344823, Copyright 2008 SOA Systems Inc. For more info, please visit informit.com/soa or soabooks.com

  • This article is part of a featured topic series on SOA

No comments

Watch Thread Reply

Educational Content

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.