
If you would like to see pictures of either me or my book, Google can help.
More information about my book is available on its official website. People tend to either love or hate the book depending on how the feel about its commercial focus. If you are interested only in XML's technology and not in the surrounding industries (publishing, middleware, B2B, ... ) then I would recommend assembling a library of best of breed books such as Michael Kay's XSLT book, David Megginson's DTD book etc.
Here are some reviews of the book:
I am interested in XML as an international, multi-vendor standard for information interchange. I think that the XML standard has many flaws but the real difficulties in XML deployment stem not from technological issues as much as sociological ones. The question is not what syntax you use for information interchange but what architecture. People who don't "get" XML typically do not get it at a architectural level. <dig>You can see this in the way XML is used in the so-called "Web Services" technologies.</dig>
Most people use web services to many a variety of different things. One of the most popular definitions is merely "distributed systems using SOAP and WSDL." It seems strange to me to tie a kind of application to a particular set of (flawed) technologies. My definition:
A web service is a set of functionality offered on the public Internet or a private intranet designed to be used by another computer without real-time human oversight.
The requirement to be offered over the public Internet has many security, scalability and protocol implications. Many of them are discussed in my discussions of the REST web service architecture. I define a REST Web Service thus:
A REST Web Service is a web service that delivers its functionality entirely as a set of URI-addressable resources using the syntax and semantics of the HTTP protocol.
Many networked applications do not have these requirements and should not be considered web services. REST may be overkill for these. For instance XML-RPC is great for what you might call Cross-Network Scripting. Sometimes simplicity is more important than the things that REST optimizes: scalability, extensibility and semantic richness.
REST is defined by four interface constraints: identification of resources; manipulation of resources through representations; self-descriptive messages; and, hypermedia as the engine of application state. -- Fielding's Thesis
The start of a static type system for Python