<?xml version="1.0" encoding="UTF-8"?><item><title>A Web Services interface for a public website?</title><description>&lt;p&gt;My website &lt;a href="http://food.stevex.org"&gt;The Restaurant Thing&lt;/a&gt; is a simple ASP site that I've been running for a number of years now.  It's a database of restaurants in Ottawa, that users can update themselves.  I created this because it seems like every other restaurant review site contains canned reviews that don't really tell you what the restaurant is like.&lt;/p&gt;&#13;
&lt;p&gt;Anyway, I'm giving the site a fresh coat of paint by way of redeveloping it using the ASP.NET, and in the process, I'm developing a web services interface for this sort of database.  I've exposed the web service &lt;a href="http://www.stevex.org/restaurantservice/restaurantservice.asmx"&gt;here&lt;/a&gt;, and a test version of the new Restaurant Thing (not using the same data as the main site) is &lt;a href="http://www.stevex.org/restaurants"&gt;here&lt;/a&gt;.  &lt;/p&gt;&#13;
&lt;p&gt;I'm trying to decide whether I should leave the Web Service exposed to the general public, or restrict it to my own use and the use of anyone who asks for it and has a good reason to want access to it.&lt;/p&gt;&#13;
&lt;p&gt;The issues are:&lt;/p&gt;&#13;
&lt;ul&gt;&#13;
&lt;li&gt;Exposing it for anyone to access means anyone can simply retrieve all my data through the Web Service and start their own competing site.  Not likely for two reasons:  First, they can do that by scrapin the HTML anyway, and second, why would you want to compete?  It's not like there's any money in doing this.. :) &#13;
&lt;/li&gt;&lt;li&gt;Someone could use my Web Service interface to integrate my data with their own application in ways I haven't thought of.  That's the main argument for exposing it. &#13;
&lt;/li&gt;&lt;li&gt;Another argument in favour of exposing it is that the bandwidth used for typical requests would be much lower.  If I wrote a smart client app that displayed restaurant data, and fetched the data through the web services interface, then the bandwidth used for typical operations like finding a particular restaurant, adding a comment, etc., would be greatly reduced.&#13;
&lt;/li&gt;&lt;li&gt;I do make a few dollars off of Google ad revenue (not even enough to pay for hosting but hey something is better than nothing) and if someone develops a custom client to access my data, then I'm not going to see any ad revenue.  I think this is the main reason more sites don't expose access to their data programmatically.&lt;/li&gt;&lt;/ul&gt;&#13;
&lt;p&gt;Right now I'm leaning slightly towards not leaving the interface exposed.&lt;/p&gt;&#13;
&lt;p&gt; &lt;/p&gt;&#13;
&lt;p&gt; &lt;/p&gt;</description><pubDate>Thu, 01 Sep 2005 19:17:04 GMT</pubDate></item>