We don’t eat lollipops, do we mommy? They’re not true.
Alison Brown, Fear, Truth, Writing
The API and the data model represent the most obvious ways in which your concept is practically realized in the software.
In this chapter, we examine some of the tenets for us as semantic designers to keep in mind when creating data services. Following these ideas, we can create very resilient, scalable, available, manageable, portable, and extensible systems.
We don’t skip the crucial step that is the one real difference between successful software and failures: first we decide what ideas will populate our world and what they mean.
Define your terms.
This is the single most effective thing you can do to help your software and your business.
Identify key terms within your business. Make a spreadsheet. Put it on the wiki. What is “Inventory” as opposed to “Availability”?
Be very clear on the distinctions. Leave no ambiguity. Make them mutually exclusive. Don’t allow fudging.
Sometimes this is called a “Data Dictionary.” That’s fine, too. Either way. For us, this is not a difference that makes a difference. Call the document what you like, but be ruthlessly exacting with respect to defining its constituent elements.
After you define them, use them consistently with their definition when it’s time to make a data model or API.
Throughout this book, we have been sometimes practical and sometimes abstract. ...