December 17, 2003

Musings on the Semantic Web

People who regularly develop web services will not find much of interest in this post since, in all likelihood, they have already “seen the light”. I wanted to explore a few concepts here after reading an article on Publicly available Web Services at Microsoft .

Tim Berners-Lee (you may recognize him as the inventor of the Web) once said that, “The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation.”

Before I knew what the potential for “Publicly Available Web Servers” meant, I thought he was simply referring to XML markup, where the current generation of “dumb” web pages (based on plain HTML) would be enriched with context. The potential I saw back then was simply additional context to existing pages. Say, a news site marked all of their headline copy (“President’s dog is found”) with special markup such as a “headline” XML element. Local features, entertainment news bites, moview reviews, etc., would all be similarly marked. The wishful part of me was hoping ads would be marked up, but we all know this will never happen. Once the markup was in place, one would be able to write a spider to troll over a site and extract the types of information they wanted.

XML markup, as I originally conceived the “semantic web”, is somewhat trite when seen in the light of full-blown Web Services. Still, XML markup has it’s advantages. For instance, the developer may use the XML markup in ways not originally conceived by the Web Service designers. Now, more on that…

I can’t remember the first time I heard of the phrase “Web Service”, but it was surely before the turn of the millenium. A whole industry was erected on top of the Web Service idea while I was sleeping in ActiveX land. Tools like Weblogic, J2EE, WebSphere, etc. (I’ve never actually used these technologies so please don’t be too critical at my ignorance if you comment on this post!) Companies started using the paradigm to further the reach of their empires, for it’s a very empowering technology.

My point is not so much the details behind these technologies, which ones are better, nor even what they are capable of. My point is that these technologies seem to be used primarily for proprietary development. Whether a company is facilitating Intranet development or dividing their public-storefront into multiple tiers, the majority of Web Services developed seem to be largely unavailable to the general public (i.e. the average application developer with a compiler and a dream).

Lots of signs are pointing to a change in this area. The MSDN article mentioned above kicked off this post so let me explore for a bit what it means to me. The MSDN article talks about four publicly available web services on their site. One service allows you to write a standalone program to get satellite images, another allows you to write your own MapQuest clone, another allows you to manage alerts, etc. The article goes on to say that Amazon and Google have started exposing some services to the public as well. That’s the trend I’m hopeful for and for which I see a huge potential.

As a developer, I’m used to an entire market of off-the-shelf components that I can use to build a user interface, access a new database technology, or even to access Web Services. However, power will truly be realized when a true public Web Service market is available for Internet-enabled applications. Is the state of the industry beyond infancy? I did a search on google for “Publicly available web services” and didn’t find much. Am I missing something?

In my head, the industry will have moved beyond infancy when there are as many public Web Service providers as their are tool and library vendors. Here are some ideas:

  • An application that leverages public recipe services, nutritional services, shopping services, and restaurant services to create diet plans and dining out recommendations that keep people in a healthy lifestyle.
  • An application that can leverage farms of computers for calculations that the application defines. You buy time on a massive matrix of machines and use them as you wish. The application can gather data on the Internet, possibly from other Web Services and use that data to provide a solution. There’s lots of proprietary activity in the grid computing sector, but I personally haven’t seen anything as generic and publicly available as I’m talking about here.
  • An application that combines “live” celestial data collected from the Hubble Space telescope, Chandra, GLAST or whatever, to create an educational space exploration program for students. Currently, this data is purchased in database form, packaged in CD-ROM, and shipped out as a snapshot. If a new celestial event is recorded in the news, the current generation of programs have no real ability to present the new data in ways the user is able to view their snapshot data.
  • An application that combines mortgage rate information, home availability, broker fees, neighborhood statistics, and lifestyle data on a regional or national level. Lots of small proprietary solutions exist in this area, but there is no opportunity for a third party to create a best-of-breed solution with user-defined algorithms.
  • Same thing for investments. A Financial Consultant might want to have a developer write her an application which combined publicly available financial data in ways that is unique to her style and not currently available anywhere else.
  • Etc.

Many services will never appear unless there is a business model to support them. I can’t see that being too huge a problem since tool and library vendors currently have a pay-for-use market that works. I’d be interested in hearing about any roadblocks in this area.

Posted by Nick Codignotto at December 17, 2003 08:21 AM | TrackBack
Posted to Programming
Comments

I have to comment on my own entry. Chris Sells of MS described the most incredible use of Avalon technology which fully demonstrates what I'm getting at in my post. Check out this link and watch the video!

http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=1027

Posted by: Nick Codignotto at January 7, 2004 02:49 PM
Post a comment









Remember personal info?






Valid XHTML 1.0!   Valid CSS!