A best practice is generally considered a technique or approach to solving or preventing certain problems (Figure 3.7). It is usually a practice that has industry recognition and has emerged from past industry experience.
Service-oriented architecture design best practices provide guidance in the form of general "lessons learned." In the example, it is suggested that the on-going maintenance of reusable solution logic units from all applications fall under a single custodian.
How then is a best practice differentiated from a design principle? In this book we make a clear distinction in that a design principle is limited to design only. A best practice can relate to anything from project delivery to organizational issues, governance, or process. A design principle could be considered a best practice associated only with solution design.
Note that several service-oriented architecture design best practices are provided throughout this book in support of applying design principles. An additional set of more detailed practices is located in Chapter 15.
A Fundamental Design Framework
Each of the previous sections described a piece of intelligence that can act as input into an overall design process. When designing service-oriented solutions it is practically inevitable that some or all of these pieces be used together. It is therefore important to understand how they relate to each other so that we can gain a foreknowledge of how and where they are best utilized.
Figure 3.8 shows how some of the more common parts of a design framework typically inter-relate and highlights how central the use of design principles can be. Figure 3.9 expands on this perspective by illustrating how the use of design patterns can further support and extend a basic design framework. Finally, Figure 3.10 shows how the parts of a design framework can ultimately help realize the application of the overarching design paradigm.
Fundamental design terms establish a basic taxonomy used throughout the upcoming chapters. This diagram hints at how some parts of a basic design framework can relate to each other.
Design patterns provide additional intelligence that can enrich a design framework with a collection of proven solutions to common problems.
The purpose of applying a design paradigm is the achievement of certain goals. It is important to emphasize how design standards, design patterns, and best practices can all support the successful application of a design paradigm and, as a result, the attainment of its goals.
SUMMARY OF KEY POINTS
- A design principle is an accepted design guideline or practice that, when applied, results in the realization of specific design characteristics.
- A design paradigm represents a set of complementary design principles that are collectively applied in support of common goals.
- A design pattern identifies a common problem and provides a recommended solution.
- A design standard is a convention internal and specific to an enterprise that may or may not be derived from a design principle or pattern.
Use the following table of contents to navigate to chapter excerpts.
SOA: Principles of Service Design
Home: Service-oriented computing and SOA: Introduction
1: Design fundamentals: Design characteristics
2: Design fundamentals: Design principles
3: Design fundamentals: Design pattern and design pattern language
4: Design fundamentals: Design standard
5: Design fundamentals: Best practices
6: Introduction to service-oriented computing
7: Service oriented architecture
8: Service compositions
9: Understanding service oriented computing elements
10: Entity services
11: Web services and service oriented computing
12: Service inventory blueprints
13: Service-oriented analysis and service modeling
14: Service-oriented design
15: Goals and benefits of service-oriented computing
16: Increased intrinsic interoperability
17: Increased federation
18: Increased vendor diversification options
19: Increased business and technology domain alignment
20: Increased ROI
21: Increased organizational agility
22: Reduced IT burden
|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.|