Before we can begin exploring the details of service-oriented computing, we first need to establish some basic design terminology. The books in this series use a common vocabulary comprised of the following design-related terms:
- Design Characteristic
- Design Principle
- Design Paradigm
- Design Pattern
- Design Pattern Language
- Design Standard
- Best Practice
Depending on your sources, you will find differing definitions for these terms. More often than not, though, you will notice that they all are somewhat intertwined. The following sections explain each term and conclude with a section that illustrates how they form a common, fundamental design framework.
Design Characteristic
A characteristic of something is simply an attribute or quality. An automated business solution will have numerous unique characteristics that were established during its initial design (Figure 3.1). Hence, the type of design characteristic we are interested in is a specific attribute or quality of a body of solution logic that we document in a design specification and plan to realize in development.
Figure 3.1
In this simple example, three distinct application designs (A, B, C) are established, each with its own list of design characteristics. We will continue to reference these applications in the upcoming sections. (Note that the small squares represent units of solution logic, solid arrows represent reuse or shared access, and dashed arrows represent state data transfer.)
Service-orientation emphasizes the creation of very specific design characteristics, while also de-emphasizing others. It is important to note that almost every design characteristic we explore is attainable to a certain measure. This means that it is generally not about whether solution logic does or does not have a certain characteristic; it is almost always about the extent to which a characteristic can or should be realized.
Although each system can have its own unique characteristics, we are primarily interested in establishing common design characteristics. Increased commonality ensures an increased degree of consistency, making different kinds of solution logic more alike. When things are more alike they become more predictable. In the world of distributed, shareable logic, predictability is a good thing. Predictable design characteristics lead to predictable behavior. This, in turn, leads to increased reliability and the opportunity to leverage solution logic in many different ways.
Much of this book is dedicated to providing a means of establishing a specific collection of design characteristics that spread consistency, predictability, and reliability on many levels and for different purposes.
Use the following table of contents to navigate to chapter excerpts
| ABOUT THE BOOK: |
|
| SOA: Principles of Service Design is dedicated to service engineering and establishing service-orientation as a design paradigm. This hands-on manual for service design establishes concrete links between specific service-orientation design principles and the strategic goals and benefits associated with SOA. Purchase the book from Amazon.com. |
| ABOUT THE AUTHOR: |
|
| Thomas Erl is the world's top-selling SOA author, Series Editor of the "Prentice Hall Service-Oriented Computing Series and editor of The SOA Magazine. His books have become international bestsellers and have been formally endorsed by senior members of major software organizations such as IBM, Microsoft and Oracle. He is the founder of SOA Systems Inc., a company specializing in SOA training, certification and strategic consulting services with a vendor-agnostic focus. |