I recommend this book to those who are interested in semantic Web services. The book’s organization resembles a layered format, which is appropriate, given the book’s subject and the fact that the semantic Web is proposed to be founded on a hierarchy of layers.
The book contains 16 chapters and three appendices, which are organized into four parts. The first part of the book discusses the existing markup languages forming the current Web foundation: Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML), and Extensible Markup Language (XML). XML-based Web services are introduced in the final chapter of this part. A survey of the .NET and Java 2 Platform, Enterprise Edition (J2EE) frameworks is provided.
The second part, “The Semantic Web,” discusses languages for the semantic Web, including the resource description framework, Web ontology language (OWL), and Web ontology language for services (OWL-S). Interestingly enough, a chapter on machine intelligence is included as well, explaining logic languages, inference, and reasoning machines.
Part 3 bears the same title as the book. It is devoted to methods and tools for developing semantic Web services. It begins with a small, but nontrivial example. The design process is illustrated with an example for an online book service. In the next chapter, design and analysis methods are presented, including Petri nets and reliability analysis. Next, tools such as editor, parser, and language validator, combined into one integrated development environment, are described. The resulting tool, Semantic Web Author, is available on a disk that comes with the book. The last two chapters are devoted to semantic search, as the biggest single type of application of the semantic Web, at least from the present point of view, and to a more general survey of the challenges and opportunities of the semantic Web.
The book is written in a style that is guided by a careful compromise between factual accuracy and motivating insight. The authors have succeeded in not compromising accuracy (however, the languages presented are, by far, not complete), and in including a sufficient amount of examples and other material that not only gives readers the necessary motivation for each of the languages, but also connects them to the larger picture. Therefore, this book is for Web services developers, who will benefit from the insights they will gain. Readers cannot expect, however, to rely solely on this book when working on Web services, since it does not include the complete language definitions. The book should not be used as a primary textbook.
The book includes a list of acronyms, a glossary, and an index, which are all useful things. Including them is a positive feature of the book. On the other hand, including three appendices with a more detailed specification of some of the languages would have been the best design choice.