Dare commented on yesterday's post (it's nice to see I'm back in the thick of things - thanks Dare :-). Responding to my statement:
Dare was quick to blame WSDL and XSD, noting that POX/REST/AJAX systems don't have this problem. Certainly the customers I talk to who have done POX/REST systems are moving toward WSDL and XSD because they want metadata about services in order to facilitate reuse. Without it, they don't have a clear picture of what their systems are doing - or how to reuse them in other contexts. For a closed system, lack of descriptive metadata is fine. But if you want something open and reusable across apps, it really helps to have it
he called me on my description open and closed systems:
Interesting. So Yahoo! Web Services, the Flickr API, Bloglines API, del.icio.us API, and every RSS feed on the planet are closed systems that aren't open and reusable?
Yes, Dare, you are right. I concede that these very public APIs are open and reusable. I was really talking about systems *inside* a company (which I meant to imply with my reference to our customers). In many cases, developers start using POX over HTTP to build systems. When people want to re-purpose those services, its hard because they don't have a lot of information about what message formats and exchange patterns they support. In many cases there is no documentation for that, other than the code and, in that sense, those systems are closed. XSD and WSDL help open them up by providing metadata about what those services do. In some cases that metadata is also useful for finding services that do interesting things. For many of our customers, that is the reason they are migrating from existing POX over HTTP systems to SOAP-based Web services.
In the world of Internet services, providers have two advantages that most service providers inside a company lack. First, many services are singular. Amazon is Amazon, there isn't really an alternative. So people are willing to invest in a unique interface, even without metadata. Second, there are some common formats like RSS that, once coded to, again sans metadata, can be consumed from a huge number of suppliers. If everyone with content to syndicate had a slightly different format and there was no metadata, syndication would be a lot harder to achieve. In most companies, services are neither so singular nor so standardized. They are striving for both, but meanwhile, metadata is really key.
All of this makes me think about a conversation I had with Jon Udell recently about the extent to which the phenomenon that is innovation on the Internet can be repurposed for use inside a company. Are the economics and politics (which a wit recently described to me as layers 8 and 9 of the OSI stack ;-) really the same? Are the technology choices really the same? Do you need Internet-style absolutely heterogenous systems inside a company, or is a somewhat more constrained environment possible? And should we be striving to build a single technology base to suite both worlds?
Posted
Jun 01 2005, 06:52 AM
by
tim-ewald