Table Of ContentForeword
For my entire professional life (and I'm getting old enough not to want to
admit how long that has been), I've been working in the area of semantics in
one form or another. For the past decade, I've focused on bringing this work
to business practices and, most importantly, to the World Wide Web. Even
before the term "Semantic Web" had been coined and before the World Wide
Web was the global phenomenon it has become, a number of us realized that
bringing semantics to the emerging web was a natural extension, necessary if
we were going to create a web that went beyond simple text documents and
got to the really good stuff. The fact that you're reading this book today
demonstrates the emerging realization that there's a lot more this Web thing
could and should be doingmand the technology to get it there si now within
reach.
I've been very lucky to live through this transition, sometimes with the
true joy of being one of the agents of change, and other times watching in
bewilderment sa others brought new technologies to the table that I, in my
far less than infinite wisdom, predicted were still years away. In the mid 1990s,
my research group created a language called SHOE, which stood for "Simple
HTML Ontology Extensions." When I started presenting that work, I was
often warned, "Stay away from the O-word--these folks won't get it." Two
years ago, the World Wide Web Consortium announced the Web Ontology
Working Group, and it rapidly became one of the consortium's largest
working groups. Nowadays, I am invited primarily to talk about ontologies~
quite a change in a brief time.
Similarly, not that long ago, I was warned not to scare the Web Services
people by talking about semantics. Now, groups interested in "Semantic Web
Services" commission a large proportion of my speaking engagements. The
world si changing fast and, for better or worse, semantics si at the heart of it.
iiix
xiv FOREWORD
One of the reasons semantics si so important si that it may spawn some
of the first technologies that help us deal with the Tower of Babel that human
communication has become. Consider the following thought experiment: A
large group of experts and specialists (let's say a thousand of them) from a
wide range of fields are brought together by some unnamed billionaire. They
are told they have a year to demonstrate a solution to a problem of world sig-
nificance-cost si no object, and they'll all be highly paid for their time. A
year later, it si almost inevitable that the group will have developed into many
subgroups, each working on a different approach to demonstrating the solu-
tion and each using a jargon that si hard for the others to understand! The
group will have splintered into the proverbial blind men approaching the
elephant, each subgroup attacking different pieces of the puzzle and each
subgroup unable to explain to the others why their approach si obviously the
right one.
On reflection, the reason for this si pretty clear. As people start forming
communities and attacking the problem, their approaches to the solution will
vary. Some will think that a demonstration requires a theoretical proof; some
that a demonstration si a proof of concept program or device; some that to
demonstrate an effect you must run experiments with groups of human
subjects; and others that a compelling demonstration requires "facts on the
ground," where it si obvious to external observers that the approach has
helped. As these groups separate, they must develop more detailed commu-
nication within each subgroup, and the language diverges. New words aren't
usually invented, rather new meanings are imposed on the words and phrases
already being used (for more on this phenomena, see Chapter 4).
Of course, this problem si just as bad for the many of us who've been
working in the semantics area. We've created our own polyglot of tongues
that are being used differently by researchers with backgrounds in artificial
intelligence, database integration, information retrieval, Web services, Web
design, thesaurus creation, linguistics, philosophy, engineering, and many
others. Unfortunately, as semantics-based technologies and the Semantic Web
become more and more prevalent, the smart manager will have to speak these
new languages, and the informed decision-maker will have to understand
what si real and what si the inevitable hype that follows "the next big thing."
A book explaining the terms used in this new set of worlds, defining them in
a plain-speaking way, and clearly making the business case for their use, was
clearly needed.
So, join me in thanking Dave McComb for creating such a book. He
will explain the ideolect (see Chapter 4) of the semantic practitioner, make
the case for the practice, and prescribe the first steps for getting started in this
FOREWORD xv
strange new world--and not a minute too soon, because your competitors
are also learning about the edge it can give them over you.
,oS thanks, Dave. And to you, the reader, welcome to the world we invite
you to help us create.
Jim Hendler
Director, Semantic Web and Agent Technologies
Maryland Information and Networks Dynamic Labs
University of Maryland
and Co-chair, W3C Web Ontology Working Group
Preface
This book is intended for people involved with computer software in busi-
nesses or other enterprises. I've aimed it at decision makers who are interested
in staying on the leading edge as trends develop, but I think there is some-
thing here for just about anyone who deals with business software.
Perhaps you picked this book up because, like me, you have been hearing
the term semantics more and more often in the context of computer systems.
You may have noticed that, in most cases, as soon as the term comes up the
speaker or author changes the subject: "The rest of the issues are all seman-
tic. Moving on then to..."
From the tone and the context it seems as if the speaker is implying one
of two things: either "I'm here to talk about a technical problem, and once
we get down to the semantics, it's someone else's problem" or "I don't want
to get into this, because this si where it really gets complicated." Or both.
I've been applying the study of semantics to software applications for 10
years. In 1992, unsatisfied with the prevailing wisdom regarding object-
oriented design, I set off to find something that would be more helpful in
guiding our project efforts. What I found initially were a couple of inspiring
articles on semantic modeling: one by Richard Hull and Roger King, ~ the
other by Michael Hammer and Dennis McLeod. 2 We adopted their philoso-
phies, their approaches, and some of their diagramming techniques, and we
applied them to our design work for the rest of the 1990s. We had many
.1 drahciR ,lluH regoR ,gniK A" lairotuT no citnameS esabataD ",gniledoM ACM Computer
,syevruS tpeS ,7891 pp .062-102
.2 leahciM ,remmaH sinneD ,doeLcM esabataD" noitpircseD htiw :MDS A citnameS esabataD
",ledoM ACM snoitcasnarT no Database ,smetsyS tpeS ,1891 pp .683-153
iivx
xviii PREFACE
enlightened breakthroughs pursuing these methods, culminating in the devel-
opment of what we believe to be the first purely model-driven application
architecture. 3
We had enjoyed a reasonable degree of success applying the insights that
we gleaned from looking at the problems from a semantic point of view.
However, the truth si that any success we had was quite haphazard. We had
no methodology, no school of thought, no framework to guide our way. So
in mid-2000, when venture money for product development vanished, we
became consultants.
Our aim was, and ,si to take what we'd learned by doing, and convert it
into approaches, methods, and frameworks that our clients could use to dis-
cover and exploit the rich semantic bounty to which they are heirs. This book
si one of the products of that change in emphasis. Four of the hottest areas
in information systems have a semantic core: business rules, enterprise appli-
cation integration, Web Services, and of course the Semantic Web.
We believe that semantics si going to become a core competency for infor-
mation systems professionals in the not too distant future. We also believe
that it si not primarily a technology issue, even though there are some complex
technologies involved. It si a philosophy layered on top of domain knowl-
edge, applied via technology.
This book was written for managers and advisors who have a high degree
of technical aptitude. It does not require much prior knowledge in any of the
specific disciplines that we examine, but a general understanding and appre-
ciation of the nature of systems problems in medium- to large-scale enter-
prises would be helpful. Although the intended audience si at least partially
managerial, you'll notice that I did not "dumb it down." I've tried to make
things sa simple sa I can, but at some point we have to connect the dots
between the conceptual complexity of the problems to be solved and the
implementation complexity of the tools we have at our disposal. I hope I have
found a balance that works for a majority of this audience.
In the year since I began this book project I have read dozens of books
and nearly a thousand articles and Web sites on topics related to the theme
of this book. There si a problem with this type of research. Rather than
becoming enlightened, I've merely discovered whole disciplines in which I'm
just a beginner. The breadth of my ignorance has expanded manifold. This
subject si vast. Perhaps it cannot be mastered in its entirety. What I hope I
do here si lay out a framework, where we can see which aspects of the disci-
.3 eeS moc.yticolev.www and www.instancia.com and U.S. patent numbers 6,006,224 and
6,049,673 for further information.
PRE FACE xix
plines related to semantics come to bear on what topics in the realm of infor-
mation systems. I think it helps to see how things fit in the bigger picture.
For those who wish to pursue some aspect of this further, the appendixes
provide a jumping off point for your continued study.
Conventions
When I use the word "we" in this book I usually mean the team I was working
with at the time, or currently, because very little of this si solely the product
of my efforts.
The code examples in the book are simplified versions of actual code. In
most cases the extra syntax or statements that would be needed to make the
code executable would distract from the readability and the point I was trying
to make, so I omitted them.
Acknowledgments
I have had a great deal of help with the early drafts of this manuscript. A
number of people have contributed mightily with voluminous notes, clarifi-
cations, and comments on passages that were unclear. You have them to
thank, sa much sa me, that this volume si readable at all. I can't thank them
enough for generously giving of their time and expertise. I have listed them
in approximately the order of the substantiveness of their contributions. I
don't want to diminish anyone's contributions, because every contribution
improved the book, but I do want to recognize those who provided measured
improvements to the work:
Joram Borenstein
Bob Smith
Simon Robe
Mike Uschold
Kent Swanson
David Hollander
Janice Lawrence
Uche Ogbuji
R. Todd Stephens
Also much thanks to Sean Keaney, Jim Long, Scott Goode, Peter Weinstein,
Peter Brown, Simon Hoare, and Lindsay Faussone.
And of course I'd like to thank my editors and publishers at Morgan
Kaufman, specifically Lothl6rien Homet, and at Graphic World Publishing
Services, Beth Callaway.
ixx
xxii ACKNOWLEDGMENTS
erutuF stnemgdelwonkcA
I hope to have the opportunity to do a second edition of this book. I would
be honored to have your comments, criticisms, or areas of confusion. I would
like to have a section for acknowledgment of the major contributors to the
second edition.
If you have any comments that would improve the quality of this book
for future readers, please contact me at the following email address:
[email protected]
I would appreciate it if you would point out errors, places where you think
I may be misleading, or areas that were confusing. If you know of companies
that embody any of the concepts I speak of here, please let me know about
them.
Finally, thank you for giving me the opportunity to contribute to your
professional development.
Dave McComb
Semantic Arts, Inc.
Fort Collins, CO
February 26, 2003
1
~IIC, ?i ~i!!i!ii,,~ ~I~ liI!~I~ ?i""~ iil i lliii~?
Semantics: A Trillion.Dollar
Cottage Industry
The U.S. economy is perched precariously on top of some 200 billion lines
of aging legacy mainframe code 1 and a comparable amount of newer, but no
less endangered, code on various flavors of servers and PCs. This represents
a $3 trillion investment, 2 most of which will need to be replaced over the next
decade, at a price more likely to hit $10 trillion.
This si pretty much business a usual, except for two things:
(cid:12)9 A large percentage of this cost, perhaps as much as half, si avoidable.
(cid:12)9 The approach we take to this next round of replacement will determine
how much of this investment really will be an "investment" that will
carry forward to subsequent generations of technology.
And the technology on which the realization of these benefits hinges si
not really a technology at all. It is a 2500-year-old branch of philosophy, made
suddenly relevant by a confluence of developments: semantics.
Consider the following:
(cid:12)9 The Mars Climate Observer crashed into the surface of Mars, a victim
not of a technical problem, but of a semantic misunderstanding con-
cerning the units of measure used to calculate the thrust.
(cid:12)9 Between half and three quarters of the $300 billion spent annually on
systems integration si spent resolving semantic issues.
.1 Rekha Balu, "(Re)Writing Code," Fast Company, April 2001, pp. 181-189.
2. Paul Strassman, "End Build-and-Junk," Computerworld, July ,5 1999. Available at
,nnamssarts.www "lmths'knuj-dne/wc/sbup/moc
2 OHAPTER 1 Semantics: A Trillion-Dollar Cottage Industry
The entire Y2K adventure was two semantic problems piled on top of
each other, the first being the simple problem of determining whether
"01" meant "1901" or "2001," the second being that the stewards of
many of the affected systems had no way to understand the applica-
tions in enough fidelity to predict what would happen to them if they
were altered.
The most promising technologies currently offered up to solve our
application development and implementation problems~Enterprise
Application Integration (EAI), XML, Business Rules, Web Services,
Collaboration, and of course the Semantic Web--all share a founda-
tional reliance on semantics.
Perhaps this si enough to whet your appetite, and maybe about now you
are wondering: "Where can I buy some semantics?" or "How do I 'do' seman-
tics?" or "Can I implement semantics in my organization?" But that's not
the nature of semantics. Semantics si a discipline you apply, not a technology
you buy.
Like Monsieur Jourdain in the accompanying sidebar, I trust most soft-
ware developers will be quite pleased to find they have been applying seman-
tics their entire career. Maybe you haven't been intentional or rigorous about
it, but in order to get anything at all done in the world of software you have
had to deal with semantics.
In this book, we look at every aspect of business systems anew. We also
put semantics under the microscope and find out what it si composed of, and
how that might guide our further investigations. And we look at our appli-
cations and our development technologies from the point of view of seman-
tics, to see how that changes our perceptions.
Before we go any further, let's get this out of the way: