<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>spatialbytes</title>
	<atom:link href="http://www.spatialbytes.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.spatialbytes.com</link>
	<description>GIS, Software Design and Development</description>
	<lastBuildDate>Thu, 19 Feb 2009 06:24:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ArcGIS Server REST API 101 (Part I)</title>
		<link>http://www.spatialbytes.com/2009/02/19/arcgis-server-rest-api-101-part-i/</link>
		<comments>http://www.spatialbytes.com/2009/02/19/arcgis-server-rest-api-101-part-i/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 05:15:23 +0000</pubDate>
		<dc:creator>cpher</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ArcGISServer REST]]></category>

		<guid isPermaLink="false">http://www.spatialbytes.com/?p=6</guid>
		<description><![CDATA[The new REST API for ArcGIS Server 9.3 provides a compelling option for ESRI software developers when building applications. This article is the first in a series that explores the benefits and limitations of this new API.]]></description>
			<content:encoded><![CDATA[<p>This article is the first in a series exploring the REST API for ArcGIS Server. Although only released for a few months, developer feedback for the new API seems to be very positive. In this series I&#8217;ll describe what REST is, how it&#8217;s used with ArcGIS Server 9.3, benefits/drawbacks, etc. In later articles I&#8217;ll discuss some alternative uses of the API and how to implement them.<span id="more-6"></span></p>
<h3>Moving to REST with ArcGIS Server</h3>
<p>The addition of the REST API to ArcGIS Server at 9.3 was welcomed by developers who knew the power and simplicity it would bring to developing applications, but for many developers and managers the benefits weren&#8217;t immediately apparent. If you&#8217;re used to developing applications with the Web ADF and are comfortable with ArcObjects, then developing with the REST API will be like a walk in the park. If you&#8217;re like me, just reading an ArcObjects model diagram is enough to induce headaches. To ESRI&#8217;s credit, they recognized the need for a simpler, faster way to build applications for ArcGIS Server. The REST API is not a panacea for all situations, but I think it provides a sweet spot that will cover many clients&#8217; needs.</p>
<h3 class="prepend-top">Intro to REST</h3>
<p>This <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">wikipedia article</a> on <abbr title="Representational State Transfer">REST</abbr> provides a good jumping off point to learn more, so I won&#8217;t bore you with the details. But it boils down to this: the internet is a collection of resources in many different formats (HTML, PDF, XML, audio/video, etc.). Each resource has a unique location on the internet represented by a <abbr title="Universal Resource Indicator">URI</abbr>.</p>
<p>DIGRESSION WARNING&#8230; &#8220;But wait, didn&#8217;t you mean <abbr title="Universal Resource Locator">URL</abbr>?&#8221; Technically, no. A URL is a type of URI. You know that little string you type into your browser&#8217;s address bar before a web address, &#8220;http://?&#8221; That specifies the URI protocol to use. You&#8217;re familiar with the other ones too: ftp://, mailto:, etc. While the AGS REST API only uses URLs, the generic REST architecture refers to URIs. So, to be consistent in this article I&#8217;ll use URI.</p>
<p>The idea is to use the fact that all resources have these globally unique URIs as a way for machines to exchange a document&#8217;s contents (or &#8220;Representation&#8221;). And within those representations you can link to other resource representations. Sound familiar yet? Yep, it&#8217;s the way the web works. Resources may be represented as hypertext documents (HTML) that contain links to other HTML documents, <i>ad infinitum</i>. The AGS REST API works the same way.</p>
<p>Imagine you&#8217;re at a crowded IT conference mingling with people. Protocol suggests that you shake hands with people when you introduce yourself (http:// in our example). When you reach out and take their business card, you&#8217;re using an HTTP GET request on that business card resource. The you move on to the next person&#8230;rinse and repeat. And those people do the same thing with other business card resources.</p>
<p>Here&#8217;s a an example from the AGS REST API. This URL, <a href="http://server.arcgisonline.com/arcgis/rest/services">http://server.arcgisonline.com/arcgis/rest/services</a> is an HTML representation of an ArcGIS Online REST service. Now try this link: <a href="http://server.arcgisonline.com/arcgis/rest/services?f=pjson">http://server.arcgisonline.com/arcgis/rest/services?f=pjson</a>. This is the same data, sent back as a <abbr title="Javascript Object Notation">JSON</abbr> representation. Humans can easily understand the HTML representation and machines can use the JSON representation.</p>
<p>While this is a greatly simplified explanation of REST, hopefully you now have a better understanding of what it means, and if you&#8217;re a manager you&#8217;ll know what the hubub is all about when you hear your developers talking about it.</p>
<h3 class="prepend-top">What does this mean for GIS?</h3>
<p>The question you might be thinking is &#8220;That sounds nice, but what does it have to do with GIS?&#8221; Remember those representations from earlier (HTML, PDF, etc.)? GIS data also can be represented by those formats. A REST interface to GIS data can open up a wealth of possibilities for application development and make your data more accessible to the web at-large (e.g. search engines).</p>
<p>For developers, REST provides a cleaner separation between the front-end and back-end. Your front-end application code doesn&#8217;t need to speak in a GIS-specific API language (ArcObjects) because the REST API handles the GIS operations for you. In fact, you could know very little about GIS to take advantage of REST-based GIS resources. You can be up and running quickly with only a basic knowledge of REST, Javascript and HTML.</p>
<p>The ArcGIS Server REST API (and the accompanying Flex and Javascript APIs) have the potential to dramatically reduce the development and maintenance costs of building applications. And this will make developers, managers and clients happy campers.</p>
<h3>Web ADF vs. Flex/Javascript</h3>
<p>If it&#8217;s not already apparent, choosing the REST API means choosing either the Flex or Javascript application APIs. The Web ADF provides the standard, &#8220;out-of-the-box&#8221; scenario for most organizations, but there are trade-offs you should consider.</p>
<p>As I mentioned earlier, applications built upon the REST API have a sweet spot that may not work for every situation. In particular, if feature editing is critical to your application you&#8217;ll have to stick with the Web ADF (and thus ArcObjects). Currently, the REST API does not support HTTP POST and PUT commands which would support editing resources. Hopefully that will change in the future.</p>
<p>For now, the biggest reason I see for sticking with the Web ADF for development is to support feature editing. Another benefit of the Web ADF is the pre-made application template which can get you started quickly&#8230;as long as you don&#8217;t mind your application looking like every other application on the planet. As soon as you start customizing the look and feel, your costs will increase. While ESRI doesn&#8217;t provide &#8220;official&#8221; Flex/Javascript application templates, there are some floating around on the <a href="http://arcscripts.esri.com/">ArcScripts</a> website. A downside of the Web ADF is that licensing may be a concern. The Web ADF runtime requires a license on any server on which it runs, so if you deploy in a multiple server environment this will increase your costs. The Flex and Javascript APIs are entirely browser-based, so there is no extra licensing fee. This means that you can deploy a Flex/Javascript application on multiple standard web servers apart from the ArcGIS Server and not incur extra licensing costs.</p>
<p>For anyone reading this article, feel free to share your thoughts on how you choose your application APIs. The good news is that ESRI is responding to their community by providing more choices for us.</p>
<p>Next time we&#8217;ll break down the specifics of the ArcGIS Server REST API and how it works.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spatialbytes.com/2009/02/19/arcgis-server-rest-api-101-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redesign and Renewal</title>
		<link>http://www.spatialbytes.com/2009/02/19/redesign-and-renewal/</link>
		<comments>http://www.spatialbytes.com/2009/02/19/redesign-and-renewal/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 05:04:54 +0000</pubDate>
		<dc:creator>cpher</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.spatialbytes.com/?p=3</guid>
		<description><![CDATA[This redesign marks the second version of Spatialbytes.com. The previous version (around since 2006, for better or worse) was woefully neglected and, like many others before me, my blogging stopped after post #1.]]></description>
			<content:encoded><![CDATA[<p>This redesign marks the second version of Spatialbytes.com. The previous version (around since 2006, for better or worse) was woefully neglected and, like many others before me, my blogging stopped after post #1. Just for posterity, here&#8217;s a screenshot of version 1.</p>
<div id="attachment_18" class="wp-caption alignnone" style="width: 310px"><img src="http://www.spatialbytes.com/wp-content/uploads/2009/02/spatialbytes_v1-300x215.jpg" alt="Spatialbytes.com version 1" title="spatialbytes_v1" width="300" height="215" class="size-medium wp-image-18" /><p class="wp-caption-text">Spatialbytes.com version 1</p></div>
<p>
Since version 1 I&#8217;ve moved to Chicago, started a new job (now 2 1/2 years in) and have two beautiful little girls. Is there a better time to rekindle the blogging?! Who needs sleep, anyway? My goal is to write about my passion for technology and how it impacts my life. Hopefully along the way I&#8217;ll be able to answer the age-old question, &#8220;What do you want to do when you grow up?&#8221; Thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spatialbytes.com/2009/02/19/redesign-and-renewal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
