<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>arcgis-server &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/arcgis-server/</link>
	<description>Feed of posts on WordPress.com tagged "arcgis-server"</description>
	<pubDate>Mon, 07 Jul 2008 01:59:29 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Walkthrough ArcGIS Server Application in .NET]]></title>
<link>http://gisprog.wordpress.com/?p=185</link>
<pubDate>Wed, 02 Jul 2008 10:29:19 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=185</guid>
<description><![CDATA[Here is step by step walk through for Developing Web Application without using ESRI templates using]]></description>
<content:encoded><![CDATA[<p>Here is step by step walk through for Developing Web Application without using ESRI templates using  .NET ADF and Microsoft AJax. </p>
<ol>
<li>Install ArcGIS Server Web ADF in your development machine.</li>
<li>Assuming  Visual Studio 2005 Installed along with Ajax Extension (ASPAJAXExtSetup). This AjaxExtension contains controls like 'Timer', 'Update Panel' , 'Pointer', 'Script Manager', 'Script Manager Proxy' , ' Update Progress'</li>
<li>Right Click Project in Solution Explorer and Set 'Add ArcGIS Identity..' if GIS Server is different from development machine.</li>
<li>Drag and drop --&#62; Map Resource Manager , Map, TOC controls into Default.aspx Page</li>
<li>Set Properties to  MapResourceManager. i.e Add GIS Server, Data etc. You should be added as AGSUSer in GIS Server by the adminstrator.</li>
<li>Right Click Map and Set MapResourceManager to 'MapResourceManager1'</li>
<li>Right Click TOC control and set Buddy Control to 'Map1'</li>
<li>In Web Config Set Debug Option to True</li>
<li>Build the site and run the application. You can see Map Service and TOC in the web Browser.</li>
</ol>
<p>You have successfully developed first sample on your own.</p>
<p> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Securing GIS Services in 9.3]]></title>
<link>http://gisprog.wordpress.com/?p=182</link>
<pubDate>Thu, 26 Jun 2008 11:47:29 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=182</guid>
<description><![CDATA[How to secure the GIS services and Web applications in ArcGIS Server 9.3

In the 9.3 release, many]]></description>
<content:encoded><![CDATA[<p><strong>How to secure the GIS services and Web applications in ArcGIS Server 9.3<br />
</strong><br />
In the 9.3 release, many of common security tasks can be done in ArcGIS Server Manager. Instead of editing configuration files, use the Manager user interface to configure security for the Web GIS. Here are the tasks that can be accomplished using Manager:</p>
<div>• Create and manage users<br />
• Create and manage roles/groups<br />
• Create and manage permissions for Web services and Web applications<br />
• Configure the stores for users, roles and permissions<br />
• Deploy services and applications with security enabled</div>
<div>Managing finer-grained access to Web applications and Web services are still done through custom code in ArcGIS Server 9.3.</div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ArcGIS 9.3 is Shipping]]></title>
<link>http://geobabble.wordpress.com/?p=201</link>
<pubDate>Wed, 25 Jun 2008 23:43:33 +0000</pubDate>
<dc:creator>Bill Dollins</dc:creator>
<guid>http://geobabble.wordpress.com/?p=201</guid>
<description><![CDATA[According to this press release, ArcGIS 9.3 started shipping today. ESRI has pretty much stuck to th]]></description>
<content:encoded><![CDATA[<p>According to this <a href="http://www.gisuser.com/content/view/14986/">press release</a>, ArcGIS 9.3 started shipping today. ESRI has pretty much stuck to the aggressive schedule that they announced at the Dev Summit.</p>
<p>My experiences thus far with the beta and the release candidate have been pretty positive so it'll be good to get the final product.</p>
<p>Who's starting the pool on the when the first service pack will be out?  ;)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ArcGIS 9.3 Final Release]]></title>
<link>http://gisprog.wordpress.com/?p=179</link>
<pubDate>Wed, 25 Jun 2008 09:51:20 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=179</guid>
<description><![CDATA[All set for final release of much awaited ArcGIS 9.3. Shipping will begin on June 25, 2008. 
The Ar]]></description>
<content:encoded><![CDATA[<p><strong><span style="font-size:10pt;color:#002060;font-family:'Verdana','sans-serif';">All set for final release of much awaited ArcGIS 9.3. S</span></strong><strong><span style="font-size:10pt;color:#002060;font-family:'Verdana','sans-serif';">hipping will begin on June 25, 2008. </span></strong></p>
<p><strong><span style="font-size:10pt;color:#002060;font-family:'Verdana','sans-serif';">The ArcGIS 9.3 beta closes on June 30<sup>th</sup>, 2008. Here afterwards, ESRI Support Services will provide support for the final release.</span></strong></p>
<p><strong><span style="font-size:10pt;color:#002060;font-family:'Verdana','sans-serif';">We congratulate ESRI efforts on the making this product.</span></strong></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ArcGIS Server 9.3 titbits]]></title>
<link>http://gisprog.wordpress.com/?p=177</link>
<pubDate>Fri, 20 Jun 2008 10:01:41 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=177</guid>
<description><![CDATA[Tit bits for ArcGIS Server 9.3 RC

ArcGIS 9.3 with Ajax Control Toolkit Version issue:

Issue: ESRI]]></description>
<content:encoded><![CDATA[<p><strong><span style="text-decoration:underline;">Tit bits for ArcGIS Server 9.3 RC</span></strong></p>
<ol>
<li>ArcGIS 9.3 with Ajax Control Toolkit Version issue:</li>
</ol>
<p><span style="color:#ff0000;">Issue:</span> ESRI 9.3 RC has a reference to the AjaxControlToolkit.dll version 1.0.10920.32880 installed with the .NET SDK. Our project is using AjaxControlToolkit.dll version 3.0.20229.20843. When any ESRI map control is added to the project, we get the error: "Microsoft JScript runtime error: Sys.InvalidOperationException: Type AjaxControlToolkit.BoxSide has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update". We are able to remove the reference to AjaxControlToolkit.dll version 3 and run off of ESRI's version 1, but then we are dependent on an older version of the library. </p>
<p><span style="color:#339966;">Solution:</span> The Web.config has an assemblyBinding section where you can do some assembly redirection. If you are using the latest version of the toolkit the following dependentAssembly element will work, otherwise you will need to change the version number to match the ajax control toolkit version you are using. </p>
<p>       &#60;dependentAssembly&#62;<br />
         &#60;assemblyIdentity name="AjaxControlToolkit" publicKeyToken="28f01b0e84b6d53e"/&#62;<br />
         &#60;bindingRedirect oldVersion="1.0.10920.32880" newVersion="3.0.20229.20843"/&#62;<br />
      &#60;/dependentAssembly&#62;</p>
<p> Some links from ESRI Forum for chewing</p>
<ol>
<li><a title="Page Lifecycle comparison" href="http://forums.esri.com/Thread.asp?c=204&#38;f=2388&#38;t=256381&#38;mc=1#786178" target="_blank">Sequence of Events in life cycle - comparison between 9.2 and 9.3</a></li>
<li><a title="Enhancements Suggested in ArcGIS Server Manager" href="http://forums.esri.com/Thread.asp?c=204&#38;f=2388&#38;t=254019&#38;mc=6" target="_blank">ArcGIS Server Manager Enhancements going to be come up at final version</a></li>
<li><a title="Dojo Support discussion" href="http://forums.esri.com/Thread.asp?c=204&#38;f=2388&#38;t=256504&#38;mc=7" target="_blank">Dojo Support for ArcGIS Server JavaScript API discussion </a></li>
<li><a title="Login issue" href="http://forums.esri.com/Thread.asp?c=204&#38;f=2388&#38;t=257171&#38;mc=2" target="_blank">Cannot login to ArcGIS/Rest/admin</a> : ESRI sucks on login. Still many failed at this step. Refer 9.2 forum threads nearly 30+ (may be more) unable to login. ESRI please provide neat answer. Several victims on 9.2 Java ADF.</li>
</ol>
<p> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ESRI Javascript API is FREE]]></title>
<link>http://gisprog.wordpress.com/?p=176</link>
<pubDate>Fri, 20 Jun 2008 09:35:19 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=176</guid>
<description><![CDATA[The JavaScript API&#8217;s are not part of the ArcGIS Server installation, but are being made availa]]></description>
<content:encoded><![CDATA[<p>The JavaScript API's are not part of the ArcGIS Server installation, but are being made available (for FREE!) to any JavaScript developers out on the Web. You can start using them right now with your 9.3 RC1 ArcGIS Server.</p>
<p>They are available at:<br />
<a href="http://resources.esri.com/arcgisserver/index.cfm?fa=JSAPIs" target="_new">http://resources.esri.com/arcgisserver/index.cfm?fa=JSAPIs</a><ins datetime="00"><br />
</ins><br />
The new resource centers have all of the downloads for the JavaScript API's, Samples, SDK, and documentation.</p>
<p> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Technology Migration ArcGIS Server 9.2 to 9.3]]></title>
<link>http://gisprog.wordpress.com/?p=170</link>
<pubDate>Thu, 19 Jun 2008 09:35:12 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=170</guid>
<description><![CDATA[This post higlights some points on technology migration from ArcGIS Server 9.2 to 9.3. Some one migh]]></description>
<content:encoded><![CDATA[<p>This post higlights some points on technology migration from <strong><span style="color:#0000ff;">ArcGIS Server 9.2 to 9.3</span></strong>. Some one might ask, "Hello ..dude..why do you want this so early ?".  ArcGIS 9.3 is expected to release by this July. So this would be ideal period to discuss on this. This will be helpful for those who wants to develop new application in 9.3 or redevelop/migrate the existing 9.2 application or atleast curious to know about new features in 9.3.</p>
<p>Yet 9.2 Web ADF have not been explored fully, atleast by myself. Now 9.3 is almost ready. I guess 9.2 released in November 2006. With in 2 years ESRI came up with brand new 9.3.  Web ADF in 9.2 has been under lot of critiscm from several folks though used widely. The ADF <a title="Web ADF Learning path" href="http://gisprog.wordpress.com/2008/02/11/web-adf-learning-path/" target="_blank">learning path </a>is bit hard, thats the naked truth thats the reason everyone hate using 9.2 atleast in .NET. On Other hand Java ADF in 9.2 seems good but lacks documentation. I have not heared much annoyance/comments with respect to java.  Server is not so easy as conventional IMS.  ArcGIS Server provides extensive functionalities than IMS product. It all depends on your requirement and bussiness needs.  Lets get into topic without further noise.</p>
<p>In General, 9.3 ADF built on the same framework in 9.2 with a number of technology and performance enhancements have been incorporated in 9.3 to provide comprehensive platform. The core object model has undergone minor (believe so) changes.  ADF (.NET) is hybrid platform- mix of server side and client side development enviroment. Basic web controls like Map, TOC and Overview has been re-engineered and scriptable now.</p>
<p>Your migration options depend on whether you built a Web ADF application using the Web Mapping Application template (includes applications generated by Manager) or you build a custom Web ADF application without the template.  Below matrix explains the possiblities to upgrade.</p>
<p><a href="http://gisprog.files.wordpress.com/2008/06/migration.jpg"><img class="alignnone size-medium wp-image-171" src="http://gisprog.wordpress.com/files/2008/06/migration.jpg?w=300" alt="9.2 to 9.2 Migration" width="300" height="248" /></a></p>
<p> Key points for developers:</p>
<ul>
<li>Using ASP.NET partial postback pattern instead of client callback. If you might written lot of code for TOC, rendering by now controls will take care of all your needs. Even if required, it will be on client side</li>
<li>Customised Web ADF Javascript libraries. Night mare on Javascript is gone. Developer can get full details of script along with neat documentation.</li>
<li>Custom tasks uses partial post back</li>
<li>Shallow stateful pattern is no longer supported in 9.3.  Developers should be aware of this. Because adding/removing layers done thru pooled server objects using shallow stateful concepts. Here 9.3 HTTP hanlder (ESRI.ArcGIS.ADF.Web.UI.WebControls.MapHandler) responsible for Map draw operations.</li>
<li>Understanding of REST or Javascript API is must.</li>
</ul>
<p><strong>Sailent features in 9.3 :</strong></p>
<ol>
<li>Ready made utilities for migrating from 9.2</li>
<li>ArcGIS JavaScript Extension for the Google Maps API</li>
<li>ArcGIS JavaScript Extension for Virtual Earth</li>
<li>Javascript is made public, documented, JSON based, and object oriented. Makes life easy for developer.  9.3 ADF will use JSON instead of XML for it's communications between the client and server - this alone speeds things up ~30%</li>
<li>Integration with other Javascript frameworks - like Dojo or ExtJS. This allows much more control over how the application looks and behaves.</li>
<li>Improved Map Control, TOC and Overview control. Number of callbacks is reduced.</li>
<li>The resource manager can be managed in Javascript, and has lots of configuration - i.e. layer aliases, fields to show, map tips etc.</li>
<li>Results Viewer: bi-directional highlight. The task can have different results behavior (fields, map tips etc). Kudos!</li>
<li>Additional web controls, additional AjaxExtenders - DockExtender, HoverExpandExtender (pin window type of thing)</li>
<li>Use of HTTP Handlers used instead of pages so the page lifecycle is avoided, so it's faster</li>
<li>Blending at 9.2 used a single tiling scheme. At 9.3 each resource has it's own tiling scheme, and the "blending has been massively improved"</li>
<li>Javascript intellisense for Visual Studio 2008.</li>
<li>Better templates and utility to convert previous version templates.</li>
<li>Eliminated lots of callbacks, http handlers improve performance because the control tree is not re-created and destroyed</li>
<li>Visual studio 2008 and .NET 3.5 framework supported</li>
<li>Out-of-box printing tool and export using Adobe Acrobat Reader (PDF)</li>
<li>ArcGIS Image Server is now an optional extension to ArcGIS Server</li>
<li>Integration with Arc Web services</li>
<li>ArcSDE is fully integrated with ArcGIS Server. SDE license bundled with Server.</li>
<li>Windows Vista Support</li>
<li>PostgreSQL support</li>
<li>OGC specifications</li>
<li>Much more.....</li>
</ol>
<p><strong>Hear the  Latest Podcasts on ArcGIS Server 9.3 from ESRI</strong>. <a title="ArcGIS server 9.3 PODCAST" href="http://www.esri.com/news/podcasts/audio/speaker/staff_chivite.mp3" target="_blank">CLICK HERE</a> </p>
<p>To summarise ArcGIS Server 9.3 seems improved much quality and performance wise.</p>
<ul>
<li>Those who are new to Server and about to start development in 9.3 then donot look back web ADF at all.</li>
<li>If you are graduating from 9.2 and coming out of Web ADF then 9.3 REST/javascript API will be solace.</li>
<li>Are you about to migrate to 9.3 then look at both pros and cons. Don't jump.</li>
</ul>
<p>I thank fellow bloggers Dave, James Fee, Tom and others who helped me with valuable inputs. I dare to write this post because am NOT in beta evaluation. Hence people like me who look for similar information, this post may help. If there were any mistakes/omissions/additions or want of further details, please do comment or email me.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Error in AJAX Callback Function]]></title>
<link>http://gisprog.wordpress.com/?p=165</link>
<pubDate>Tue, 17 Jun 2008 05:57:31 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=165</guid>
<description><![CDATA[Are you getting this below error in ArcGIS Server 9.3 when you are making Ajax Call within Callback]]></description>
<content:encoded><![CDATA[<p>Are you getting this below error in ArcGIS Server 9.3 when you are making Ajax Call within Callback function?</p>
<p>'<span style="color:#0000ff;">__pendingCallbacks[...].async' is null or not an object </span></p>
<p>Here is a solution for resolving this issue (click on title) : <a href="http://gisprog.files.wordpress.com/2008/06/problem-microsoft-jscript-runtime-error.pdf">problem-microsoft-jscript-runtime-error</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Quick Note on PostgreSQL at 9.3]]></title>
<link>http://gisprog.wordpress.com/?p=158</link>
<pubDate>Thu, 12 Jun 2008 09:21:15 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=158</guid>
<description><![CDATA[Here is quick note on 9.3 support to PostgreSQL DB

5th Database supported by enterprise geodatabase]]></description>
<content:encoded><![CDATA[<p>Here is quick note on 9.3 support to PostgreSQL DB</p>
<ol>
<li>5th Database supported by enterprise geodatabase (Oracle, SQL, DB2, Informix  where others)</li>
<li>No backward compatablity to 9.2</li>
<li>Full ArcSDE implementation as equivalent to other DB's</li>
<li>Only Enterprise GDB not personal or workgroup ArcSDE</li>
<li>Postgre version supported 8.2.4</li>
<li>Default vector storage: ST_GEOMETRY</li>
<li>PostGIS not distributed with ArcSDE</li>
</ol>
<p> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ArcGIS Server 9.3 on Dojo]]></title>
<link>http://gisprog.wordpress.com/?p=146</link>
<pubDate>Wed, 04 Jun 2008 08:15:26 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=146</guid>
<description><![CDATA[Dave has started blogging on Dojo toolkit and gave nice refrences for kick start.  For those who we]]></description>
<content:encoded><![CDATA[<p><a title="Dave Dojo Kickstart Post" href="http://blog.davebouwman.net/2008/06/03/DojoToolkitKickstart.aspx" target="_blank">Dave</a> has started blogging on Dojo toolkit and gave nice refrences for kick start.  For those who werent part of ArcGIS Server Beta program (me too),it's worth noting that the Javascript API that will be shipping with 9.3 is based on Dojo.</p>
<p>Here is from Wiki on Dojo Tool kit for first sip</p>
<p><em>"The <strong>Dojo Toolkit</strong> is a modular </em><em>open source</em><em> </em><em>JavaScript</em><em> toolkit (or </em><em>library</em><em>), designed to ease the rapid development of JavaScript- or </em><em>Ajax</em><em>-based applications and web sites. It was started by Alex Russell in 2004 and is </em><em>dual-licensed</em><em> under the </em><em>BSD License</em><em> and the </em><em>Academic Free License</em><em>. The <strong>Dojo Foundation</strong> is a non-profit organization designed to promote the adoption of the toolkit"</em></p>
<p>Its right time to learn Dojo Tool kit for working ArcGIS Server 9.3.  Get ready folks.</p>
<p> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Strange Stuff Revisited: ESRI + New PDF = Where Maps Go To Die?]]></title>
<link>http://fantomplanet.wordpress.com/?p=369</link>
<pubDate>Mon, 02 Jun 2008 21:44:08 +0000</pubDate>
<dc:creator>FantomPlanet</dc:creator>
<guid>http://fantomplanet.wordpress.com/?p=369</guid>
<description><![CDATA[See, the quake was the website update for Adobe Acrobat 9 Extended!
&#8230;A friend once told me, ]]></description>
<content:encoded><![CDATA[<p><em>See, the quake was the website update for <a title="Adobe 9X" href="http://www.adobe.com/products/acrobatproextended/">Adobe Acrobat 9 Extended</a>!</em></p>
<p style="padding-left:30px;">...A friend once told me, "PDF is where data goes to die." If that holds true, then geoPDF is where maps go to die...</p>
<p>Word on the street is that ArcGIS 9.3 will natively export to this new Acrobat format. <em>Schweet.</em></p>
<p>The other neat thing that I'd like to point out is the Flash embed capability for Acrobat. Could the ArcGIS Server 9.3 Flex API be embedded in the PDF for dynamic mapping?</p>
<p>Just forget about workflow for a moment. Is it possible?</p>
<p>Ok, now think of the workflow. Could it have the potential to be another SharePoint-like pain in the butt?</p>
<p><em>Adobe = Upgrade (with the potential to Fail!)<br />
ESRI = Upgrade!<br />
TerraGo = Fail!</em></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ArcGIS Server 9.3 First Looks, Part 2: Virtual Earth Adapter]]></title>
<link>http://ruprict.wordpress.com/?p=20</link>
<pubDate>Thu, 29 May 2008 18:31:08 +0000</pubDate>
<dc:creator>ruprict</dc:creator>
<guid>http://ruprict.wordpress.com/?p=20</guid>
<description><![CDATA[We are using the Virtual Earth Tile Server that Dave Bouwman created which publishes tiles from ArcG]]></description>
<content:encoded><![CDATA[<p>We are using the <a class="zem_slink" title="Microsoft Virtual Earth" rel="wikipedia" href="http://en.wikipedia.org/wiki/Microsoft_Virtual_Earth" target="_blank">Virtual Earth</a> Tile Server that Dave Bouwman created which publishes tiles from <a class="zem_slink" title="ArcGIS Server" rel="wikipedia" href="http://en.wikipedia.org/wiki/ArcGIS_Server" target="_blank">ArcGIS Server</a> services to Virtual Earth.  It is a danged neato peace of software, and combined with the ArcDeveloper REST API, gives us a great option for exposing ArcGIS Server services.  In fact, it's such a great option that <a class="zem_slink" title="ESRI" rel="homepage" href="http://www.esri.com/" target="_blank">ESRI</a> has made it a core offering, providing adapters for <a class="zem_slink" title="Google Maps" rel="homepage" href="http://maps.google.com" target="_blank">Google Maps</a> and Virtual Earth along with the new REST API at 9.3.  This post focuses on the Virtual Earth adapter, although I am guessing it is not functionally different from the Google Maps adapter.</p>
<p>When I heard about the javascript and REST APIs coming in 9.3, I was very excited.  I proclaimed the end of all pain in the GIS nerd world, just knowing that these new offerings would not only make my applications better, but they would make me a better person.  They would help me easily query my GIS data and teach my kids right from wrong.</p>
<p>My expectations may have been a bit too high.</p>
<p>Here are some things that I didn't know about the VE Adapter.  They may be obvious to some, but I was mildly surprised to hear them:</p>
<ul>
<li>You HAVE to use a tile cache to use the VE adapter.  Yes, I know it isn't that surprising, but I had some hope that we could display live services.  Yes, I know it would be slow, but sometimes hope blinds a man...</li>
<li>You HAVE to use the WGS84 Web Mercator GCS, which is not a requirement of Dave B's tile server (score one for Dave, open source, and little people everywhere)</li>
<li>The ArcGIS Server REST API supports JSONP out-of-the-box.  All you have to do is add a 'callback' parameter to your querystring and it'll return the <a class="zem_slink" title="JSON" rel="wikipedia" href="http://en.wikipedia.org/wiki/JSON" target="_blank">JSON</a> all nicely wrapped in the javascript function you specify.  That is very, very nice.</li>
</ul>
<p>You can use the 'cache-on-demand' feature, which is a godsend to those of us who have watched cache generation processes leak into 3 weeks.</p>
<p>So, real quick like, I'll crank out some code that shows you to query the REST API to get all the available map services, add them to your page.  Then, just because I am freaking crazy, we'll add the ability to toggle the tile layers on/off on your VE map.</p>
<h3>Setup</h3>
<p>First, get ArcGIS Server 9.3.  Then, publish a couple of map services per the requirements of using the VE adapter.  I mention most of it above, but <a href="http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/ve/help/Working%20with%20ArcGIS%20Server%20services/CreatingServices.htm" target="_blank">here it is from the horse's mouth</a>.  Oh, and it'll help if the map services have data from the same area.</p>
<h3>Make a VE Map</h3>
<p>Create an HTML file (doesn't even have to be served by a web server, since we're all in javascript) and put in the base structure for a map.  Something like:</p>
<p>[sourcecode language='html']</p>
<p><html><br />
<head><br />
<!-- Virtual Earth API --><br />
<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6" type="text/javascript"></script><br />
<!-- ESRI VE ADapter --><br />
<script src="http://serverapi.arcgisonline.com/jsapi/ve/?v=1" type="text/javascript"><!--mce:1--></script><br />
<!-- DOJO from AOL CDN --><br />
<script type="text/javascript" src="http://o.aolcdn.com/dojo/1.1.1/dojo/dojo.xd.js"></script></p>
<p><script language="javascript" type="text/javascript" >
 var map = null;
 var layerFactory;
 function OnPageLoad() {
            var centerat = new VELatLong(45.5852, -122.5951); //Replace this with your center
            map = new VEMap('mymap');
            map.LoadMap(centerat,12,VEMapStyle.Aerial ,false);
	    layerFactory= new ESRI.ArcGIS.VE.ArcGISLayerFactory();
 }
 dojo.addOnLoad(OnPageLoad);
</script></p>
<p><body></p>
<div id='mymap' style="position:relative;height:400px;width:600px;float:left;"></div>
<ul id="services"></ul>
<p></body><br />
</html><br />
[/sourcecode]</p>
<p>So, a couple of quick comments about this "base" VE map.  I have added the script tags to pull in the ESRI VE adapter, as well as Dojo.  I am gonna use Dojo for this example because it makes querying a cross-domain REST service easy as 1,2,3.  It is likely that your AGS installation will not be on the same server or in the same domain as your web server, so it is nice that AGS 9.3 has JSONP baked right in.  Also, in the above code, I create a ESRI layer factory, which is an object that creates tile specifications for Virtual Earth.  Finally, I add an unordered list (ul) that will eventually hold my services.</p>
<p>Ideally, we'd like to boogie out and get the list of services that are currently being published by AGS when the page loads.  So, lets add a getServices() method and call it from our OnPageLoad...shall we?</p>
<p>[sourcecode language='jscript']</p>
<p>var AGS_SERVER="http://yourserver/arcgis/rest/services";</p>
<p>function getServices(){<br />
        dojo.io.script.get({<br />
                url:AGS_SERVER,<br />
                content:{<br />
                    f:'json'<br />
                },<br />
                load:function(resp){<br />
                    services=resp.services; // Automatically deserialized by dojo.  Thanks!<br />
                    var ulServ=dojo.byId('services');<br />
                    dojo.forEach(services,function(s){</p>
<p>                            if (s.type=="MapServer"){<br />
                                var li = document.createElement("ul");<br />
                                li.innerHTML=s.name;<br />
                                ulServ.appendChild(li);<br />
                                dojo.connect(li,"onclick",dojo.hitch(li,serviceClick));<br />
                            }<br />
                    }<br />
                    );</p>
<p>                },<br />
                callbackParamName:'callback'</p>
<p>        });</p>
<p>    }</p>
<p>[/sourcecode]</p>
<p>Here is where using Dojo (or any javascript framework that will handle JSONP requests easily) really pays off.  The getServices method is simply issuing an AJAX request to our AGS REST Service Catalog.  The response is automatically deserialized into JSON and fed to our 'load' function.  The load function then loops over each service (the response has folders in it too, but we are ignoring those today) and adds a list item to our services list for each MapServer.  A click handler is added to each list item to call our serviceClick function (we haven't added that yet).  Side note:  Using dojo.hitch here forces the serviceClick method to be called in the context of the list item that is clicked. In other words, when serviceClick is called, the 'this' keyword will refer to the list item.  A whole lotta stuff happening on one line of code, which is one place  where I think Dojo shines.</p>
<p>So, let's quickly add the serviceClick (and some other) function:</p>
<p>[sourcecode language='jscript']</p>
<p>function serviceClick(){<br />
        var lyr= map.GetTileLayerByID(this.innerHTML);<br />
        if (lyr==null)<br />
        {<br />
            addLayer(this.innerHTML);<br />
        }<br />
        else<br />
        {<br />
            toggleLayer(this.innerHTML);<br />
        }</p>
<p>    }<br />
    function addLayer(lyrName){</p>
<p>        layerFactory.CreateLayer(AGS_SERVER+"/"+lyrName+"/MapServer", lyrName,GetMap);</p>
<p>    }<br />
    function toggleLayer(lyrName){</p>
<p>        var lyr=map.GetTileLayerByID(lyrName);<br />
        if (lyr.IsVisible)<br />
            map.HideTileLayer(lyrName);<br />
        else<br />
            map.ShowTileLayer(lyrName);</p>
<p>    }<br />
    function GetMap(tileSourceSpec, resourceInfo) {</p>
<p>        map.AddTileLayer(tileSourceSpec,true);</p>
<p>    }</p>
<p>[/sourcecode]</p>
<p>So, the serviceClick function gets the innerHTML from the list item clicked, which in this case is the name of the AGS service.  It then checks our Virtual Earth map to see if that layer has been added.  If the layer has not been added, we use the layer factory created on page load to create a tile specification for that service.  The layer factory actually issues an AJAX request, which is why we have to specify a callback method (GetMap).  GetMap adds the created tile spec to the map, and our layer is visible.  Clicking on the service name in the list again will toggle that layer off.  So, with very little code, we've created a pretty functional map with a nice VE interface and a poor man's table-of-contents.  Not bad for a few minutes work.</p>
<p>As usual, this post has gone on longer than I'd hoped.  If you want the not-split-up-by-the-blog-post HTML file, just drop me a comment.  Also, drop a comment if you have a question or think I am wrong/high/crazy.</p>
<div class="zemanta-pixie" style="width:100%;margin:5px 0;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border:medium none;float:right;" src="http://img.zemanta.com/pixie.png?x-id=0354114a-815a-497c-bbd8-e77ff64f18fd" alt="" /></a></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Rename ArcGIS Server Hostname]]></title>
<link>http://arkblog.wordpress.com/?p=53</link>
<pubDate>Sun, 25 May 2008 23:50:02 +0000</pubDate>
<dc:creator>sathyaprasad</dc:creator>
<guid>http://arkblog.wordpress.com/?p=53</guid>
<description><![CDATA[Note: This post is for ArcGIS Server 9.2 Java (any platform)
Did you ever install ArcGIS Server Java]]></description>
<content:encoded><![CDATA[<p><span style="color:#993300;"><em><strong>Note: This post is for ArcGIS Server 9.2 Java (any platform)</strong></em></span></p>
<p>Did you ever install ArcGIS Server Java first and then go ahead and change the host name of the machine only to realize now the you will have to either re-install or run post install or contact support to fix ArcGIS Server.</p>
<p>Did you ever have an disk image with ArcGIS Server Java installed and configured, then you go ahead and ghost the image on many machines only to realize that all the hostnames are the same.</p>
<p>Don't worry, In this post you will find information on what files has got the entries of the host name and for what purpose. This will also give you a good understanding of how ArcGIS Server Manager and Web Services Handler uses these configuration files.</p>
<p><!--more--></p>
<p><span style="color:#ff0000;">Note: These files are for version 9.2, I will update the post shortly after the 9.3 is released.</span></p>
<p>The five files of concern are:</p>
<pre>C:\Program Files\ArcGIS\server\system\Server.dat
C:\Program Files\ArcGIS\java\manager\service\tomcat\managerserver\webapps\arcgismanager\WEB-INF\classes\manager_client.properties
C:\Program Files\ArcGIS\java\web_output\services\WEB-INF\classes\arcgis_wshandler.properties
C:\Program Files\ArcGIS\java\manager\service\lib\manager_config.properties
C:\Program Files\ArcGIS\java\manager\config\applications\build\build.properties</pre>
<p>1.  <strong><span style="color:#3366ff;">&#60;ArcGIS Install Dir&#62;\server\system\Server.dat</span></strong></p>
<p>This files stores the actual name of the machine where the SOM is running. Also here the URL's to the virtual directories such as the arcgisjobs, arcgisoutput and arcgiscache is set. If your ArcGIS Services are not previewing correctly in ArcCatalog or if the web service end point url's are shown incorrectly than you should check this file. You can edit this file in any text editor, but once you make any changes to this file be sure to restart the ArcGIS Server processes (both ArcGIS Server Manager and  ArcGIS Server Object Manager).</p>
<p>2.  <strong><span style="color:#3366ff;">&#60;ArcGIS Install Dir&#62;\java\manager\service\tomcat\managerserver\webapps\arcgismanager\WEB-INF\classes\manager_client.properties</span></strong></p>
<p>I am not sure on the importance/functionality of this file, but this file has one hostname attribute to startup the manager web application with the correct host name.</p>
<p>3. <strong><span style="color:#3366ff;">&#60;ArcGIS Install Dir&#62;\java\web_output\services\WEB-INF\classes\arcgis_wshandler.properties</span></strong></p>
<p>This is a pretty important configuration file. This file has all the details needed including the hostname of where the SOM is installed for the Web Services handler to initialize. So if you are unable to log into manager and also get an HTTP 503 error when you access the services wsdl (http://machinename:8399/arcgis/services?wsdl) then you need to make sure this file has the right entries. There is nice knowledge base article on this issue and here is the <a href="http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&#38;d=33019" target="_blank">link</a>.</p>
<p>4. <strong><span style="color:#3366ff;">&#60;ArcGIS Install Dir&#62;\java\manager\service\lib\manager_config.properties</span></strong></p>
<p>This file defines a host name parameter to indicate to the manager tomcat instance as to where to start the new tomcat instance to host all the webapps (port 8399)</p>
<p>5. <strong><span style="color:#3366ff;">&#60;ArcGIS Install Dir&#62;\java\manager\config\applications\build\build.properties</span></strong></p>
<p>This file both a URL and SERVER properties which has a hostname entry primarily used by the manager web application to deploy the web application.</p>
<h4>Few tips to make your life easier:</h4>
<ul>
<li>If you are creating an image to ghost then instead of using the <strong>machinename</strong> try using <strong>localhost</strong> both during the install and post-install of ArcGIS Server. This way the image is portable and no changes are needed</li>
<li>If you are using <strong>Windows XP</strong> then make sure you have turned the built in <strong>firewall</strong> off (this prevents the DCOM from making the necessary connections) and also make sure the <strong>Simple File Sharing</strong> is turned off. This is enabled by default and you will have to manually turn this off, its best done i nthe image so that you will not have to do this for every ghosted machine. <em>(How: My Computer -&#62; Tools -&#62; Folder Options -&#62; View -&#62; Advanced Settings -&#62; All the way to the bottom)</em></li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Measuring Web Mapping Application Performance using YSlow - part 2]]></title>
<link>http://arkblog.wordpress.com/?p=36</link>
<pubDate>Sat, 24 May 2008 06:33:35 +0000</pubDate>
<dc:creator>sathyaprasad</dc:creator>
<guid>http://arkblog.wordpress.com/?p=36</guid>
<description><![CDATA[Sorry for the long delay in writing this post. Lots of you have emailed me asking for the concluding]]></description>
<content:encoded><![CDATA[<p>Sorry for the long delay in writing this post. Lots of you have emailed me asking for the concluding part of the performance analysis and here it is. This is a continuation from the last post so its highly recommended you read the earlier post first <a href="http://arkblog.wordpress.com/2008/01/13/measuring-web-mapping-application-performance-using-yslow-part-1/#more-35">(Click here for part1)</a></p>
<p>Here is the listing of YSlow 13 performance rules along with the ratings given to the default web mapping application template.</p>
<p>1. Make Fewer HTTP requests (F)<br />
2. Use a CDN (F)<br />
3. Add an Expires header (F)<br />
4. Gzip components (F)<br />
5. Put CSS at the top (B)<br />
6. Move scripts to the bottom (C)<br />
7. Avoid CSS expressions (A)<br />
8. Make JS and CSS external (-)<br />
9. Reduce DNS lookups (A)<br />
10. Minify JS (A)<br />
11. Avoid redirects (A)<br />
12. Remove duplicate scripts (A)<br />
13. Configure ETags (A)</p>
<p>Now lets analyze a few rules and its ratings to see where we as web developers or front end engineers can contribute to improve the performance of the web mapping application.<!--more--></p>
<p>1. Make Fewer HTTP requests (F)</p>
<p>The tools measures this with respect to how many http requests the application makes while loading in the browser. From a web mapping application perspective this cannot be controlled easily since the web mapping application downloads around 16 Javascript files and 2 css files which the YSlow does not like. Its hard to modify this since the Javascript files are injected to the html at initialization by the XSL files and you will have to modify a lot of XSL to reduce this. Not recommended.</p>
<p>2. Use a CDN (F)</p>
<p>CDN stands for Content Delivery/Distribution Network. Its not practical/economical for small scale web applications with less than 10,000 hits a day to be served from <a href="http://en.wikipedia.org/wiki/Content_delivery_network" target="_blank">CDN</a>.</p>
<p>3. Add an Expires header (F)</p>
<p>Here is where it gets interesting. This rule is suggesting that any web resource transported to the browser  for example images, javascript, css, html files can be and shoud be cached by the browser.</p>
<p>Oh well, what can we as Front End Engineers or Web Developers do to improve the grade and get a better performance and user experience. In the web application we can add custom headers such as "Expires" and "Cache-Control" to these resources so that the browser will download it once and until the user clears the browser cache the files are reused. A big performance gain and potentially saves lots of bandwidth.</p>
<p>Here is a snippet from web.xml where I have declared a filter to do the job.</p>
<p><code>&#60;filter&#62;<br />
&#60;filter-name&#62;ResponseHeaderFilter&#60;/filter-name&#62;<br />
&#60;filter-class&#62;<br />
com.esri.sample.ResponseHeaderFilter<br />
&#60;/filter-class&#62;<br />
&#60;init-param&#62;<br />
&#60;param-name&#62;Cache-Control&#60;/param-name&#62;<br />
&#60;param-value&#62;max-age=3600&#60;/param-value&#62;<br />
&#60;/init-param&#62;<br />
&#60;init-param&#62;<br />
&#60;param-name&#62;Expires&#60;/param-name&#62;<br />
&#60;param-value&#62;Thu, 14 Aug 2008 12:00:00 GMT&#60;/param-value&#62;<br />
&#60;/init-param&#62;<br />
&#60;/filter&#62;</code></p>
<p>Here is the actual implementation - "ReponseHeaderFilter.java"<br />
[code='java']<br />
package sample;</p>
<p>import java.io.IOException;<br />
import java.util.Enumeration;</p>
<p>import javax.servlet.Filter;<br />
import javax.servlet.FilterChain;<br />
import javax.servlet.FilterConfig;<br />
import javax.servlet.ServletException;<br />
import javax.servlet.ServletRequest;<br />
import javax.servlet.ServletResponse;<br />
import javax.servlet.http.HttpServletResponse;</p>
<p>public class ResponseHeaderFilter implements Filter {<br />
FilterConfig fc;</p>
<p>public void doFilter(ServletRequest req, ServletResponse res,<br />
FilterChain chain)<br />
throws IOException, ServletException {<br />
HttpServletResponse response = (HttpServletResponse) res;</p>
<p>// set the provided HTTP response parameters<br />
for (Enumeration e=fc.getInitParameterNames();e.hasMoreElements()) {<br />
String headerName = (String)e.nextElement();<br />
response.addHeader(headerName, fc.getInitParameter(headerName));<br />
}</p>
<p>// pass the request/response on<br />
chain.doFilter(req, response);<br />
}</p>
<p>public void init(FilterConfig filterConfig) {<br />
this.fc = filterConfig;<br />
}</p>
<p>public void destroy() {<br />
this.fc = null;<br />
}<br />
}<br />
[/code]</p>
<p>Here is the filter mapping in web.xml to identify the type of resources to add the headers</p>
<p>&#60;filter-mapping&#62;<br />
&#60;filter-name&#62;ResponseHeaderFilter&#60;/filter-name&#62;<br />
&#60;url-pattern&#62;*.js&#60;/url-pattern&#62;<br />
&#60;/filter-mapping&#62;</p>
<p>&#60;filter-mapping&#62;<br />
&#60;filter-name&#62;ResponseHeaderFilter&#60;/filter-name&#62;<br />
&#60;url-pattern&#62;*.css&#60;/url-pattern&#62;<br />
&#60;/filter-mapping&#62;</p>
<p>&#60;filter-mapping&#62;<br />
&#60;filter-name&#62;ResponseHeaderFilter&#60;/filter-name&#62;<br />
&#60;url-pattern&#62;*.gif&#60;/url-pattern&#62;<br />
&#60;/filter-mapping&#62;</p>
<p>&#60;filter-mapping&#62;<br />
&#60;filter-name&#62;ResponseHeaderFilter&#60;/filter-name&#62;<br />
&#60;url-pattern&#62;*.png&#60;/url-pattern&#62;<br />
&#60;/filter-mapping&#62;</p>
<p>&#60;filter-mapping&#62;<br />
&#60;filter-name&#62;ResponseHeaderFilter&#60;/filter-name&#62;<br />
&#60;url-pattern&#62;*.jpg&#60;/url-pattern&#62;<br />
&#60;/filter-mapping&#62;</p>
<p>&#60;filter-mapping&#62;<br />
&#60;filter-name&#62;ResponseHeaderFilter&#60;/filter-name&#62;<br />
&#60;url-pattern&#62;/tile/*&#60;/url-pattern&#62;<br />
&#60;/filter-mapping&#62;</p>
<p>&#60;filter-mapping&#62;<br />
&#60;filter-name&#62;ResponseHeaderFilter&#60;/filter-name&#62;<br />
&#60;url-pattern&#62;/mimedata/*&#60;/url-pattern&#62;<br />
&#60;/filter-mapping&#62;</p>
<p>4. Gzip components (F)</p>
<p>The time to send response from your application/web server across the network back to the browser can be significantly reduced by compressing certain types of responses. If you want to learn more on this for all the goodness and benefits of Compression, <a href="http://developer.yahoo.com/performance/rules.html#gzip">click here</a>. You will have to rely on the web server to provide this functionality for you and here is an example of modifying tomcat's configuration file to compress different types of responses based on their mime-type.</p>
<p>Note: In this case we are configuring the server.xml file of Tomcat (6.0.14 version) to compress using the GZip compression type for the following mime-types: text/html,text/xml,text/javascript,text/image,text/css</p>
<p>We are not compressing any image formats here since compression on image or pdf formats is not recommended since it is already in a compressed format.</p>
<p><code>&#60;Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"<br />
compression="on"<br />
compressionMinSize="512"<br />
noCompressionUserAgents="gozilla, traviata"<br />
compressableMimeType="text/html,text/xml,text/javascript,text/image,text/css"/&#62;<br />
</code></p>
<p>The server.xml can be found under the "{tomcat installationfolder}/conf" folder and by default will not have the compression turned on. Open the server.xml file in any text editor and find the  and add the compression attributes as shown above. In my example, I have asked Tomcat to compress any html, text, xml, javascript or css files which is over 512 bytes.</p>
<p>This change will significantly boost the performance of your application both at start up follwed by  every AJAX call made to the server since the Java ADF uses XML to send responses back to the calling web application. Also this change changes the YSlow grade of F to A for this category.</p>
<p>6. Move scripts to the bottom (C)</p>
<p>This is pretty simple change. YSlow checks to see if there are any external Javascripts files in the page and if yes then is it at the end of the body rather than at the head. The web mapping application has a few script tags in the mapviewer.jsp at the head. You can move them all the way to the end of the page before the html tag ends. This will imporive the loading of the page and also please the YSlow rating.</p>
<p>10. Minify JS (A)</p>
<p>Wanted to make a small comment here. In version 0.9.x YSlow gives grade A for this rule when the Javascript libraries of the Web Mapping application is not minified. This might be a bug with the YSlow plugin, anyways we should aim to minify the JS libraries as it will imporove the transport speed of the files and remember there are atleast 16 Javascript files transported in the web mapping application, so we should revisit this topic seperately. Its worth a post of its own.</p>
<p>So here it is folks, after making all these changes here is final screenshot of the new Yslow rating :</p>
<p><a href="http://arkblog.files.wordpress.com/2008/06/1.jpg"><img class="size-full wp-image-54 alignnone" src="http://arkblog.wordpress.com/files/2008/06/1.jpg" alt="" width="476" height="423" /></a></p>
<p>We can see a significant improvement in rating (from F to B), performance and responsiveness of the application by just following a few simple rules. If you try this out, please share the performance metrics so that others can comment on it.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ArcGIS Server 9.3 REST API First Looks, Part 1]]></title>
<link>http://ruprict.wordpress.com/?p=16</link>
<pubDate>Tue, 13 May 2008 20:52:35 +0000</pubDate>
<dc:creator>ruprict</dc:creator>
<guid>http://ruprict.wordpress.com/?p=16</guid>
<description><![CDATA[Image via Wikipedia

You may (or may not) know that I am one of the authors of the ArcDeveloper REST]]></description>
<content:encoded><![CDATA[<div class="zemanta-img" style="float:right;margin:1em;"><a href="http://en.wikipedia.org/wiki/Image:Esri-logo.png" target="_blank"><img style="border:medium none;display:block;" src="http://upload.wikimedia.org/wikipedia/en/3/3f/Esri-logo.png" alt="Esri-logo" /></a>Image via <a href="http://en.wikipedia.org/wiki/Image:Esri-logo.png" target="_blank">Wikipedia</a></p>
</div>
<p>You may (or may not) know that I am one of the authors of the <a title="One of my ArcDev posts" href="http://ruprict.wordpress.com/2008/03/11/arcdeveloper-rest-windsor-brings-the-party-that-rocks-the-body/" target="_blank">ArcDeveloper REST API</a>, which is an <a class="zem_slink" title="Open source" rel="wikipedia" href="http://en.wikipedia.org/wiki/Open_source" target="_blank">open source</a> <a class="zem_slink" title="Representational State Transfer" rel="wikipedia" href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a> <a class="zem_slink" title="Application programming interface" rel="wikipedia" href="http://en.wikipedia.org/wiki/Application_programming_interface" target="_blank">API</a> for <a class="zem_slink" title="ArcGIS Server" rel="wikipedia" href="http://en.wikipedia.org/wiki/ArcGIS_Server" target="_blank">ArcGIS Server</a> that can be used against ArcGIS Server (AGS) 9.2, right now, free to all comers, no waiting, etc.  If you know that, you probably know that <a class="zem_slink" title="ESRI" rel="homepage" href="http://www.esri.com/" target="_blank">ESRI</a> is releasing it's own REST API for AGS at 9.3, due out later this year.  So, I thought I'd take a few posts to show you how the REST API (in beta) is looking.  For the impatient, it looks great.  For others that may not have the beta, read on.</p>
<p>So, first off, we are just gonna check out the very basics of the REST API.  When you install 9.3, there is no real indication of anything all that different.  The AGS Service Properties dialogs look (basically) the same, except for some (hugely exciting, but beyond the scope of this article) changes to the Caching tab.  The real excitement comes when you start messing around with <a class="zem_slink" title="Uniform Resource Locator" rel="wikipedia" href="http://en.wikipedia.org/wiki/Uniform_Resource_Locator" target="_blank">URLs</a> against your map server.  BTW, I am using <a href="http://www.fiddler2.com" target="_blank">Fiddler2</a> with the <a href="http://www.codeplex.com/JsonViewer" target="_blank">JSON Viewer</a> plug-in to send requests to the server and look at the results.</p>
<p>AGS 9.0 and later have always exposed a <a class="zem_slink" title="SOAP" rel="wikipedia" href="http://en.wikipedia.org/wiki/SOAP" target="_blank">SOAP</a> endpoint for each service it publishes as well as service catalog.  There is a whole SOAP API, which is my preferred method to interact with AGS services, and the URL to the SOAP service catalog looks like:</p>
<p>http://server/arcgis/services</p>
<p>Following this pattern, the REST API brings along a similar service catalog endpoint:</p>
<p>http://server/arcgis/rest/services</p>
<p>The new-kid-on-the-block REST URL is even cooler, though, as it formats the results into a cool "ArcGIS Service Explorer" that looks like:</p>
<p><a href="http://ruprict.files.wordpress.com/2008/05/croppercapture2.png"><img class="alignnone size-medium wp-image-17" src="http://ruprict.wordpress.com/files/2008/05/croppercapture2.png?w=300" alt="ArcGIS Services Explorer at 9.3" width="300" height="150" /></a></p>
<p>Which allows you to look at metadata about your services, view them in <a class="zem_slink" title="Google Earth" rel="homepage" href="http://earth.google.com/" target="_blank">Google Earth</a> (how cool is that?), ArcMap, ArcGIS Explorer, or the new ArcGIS Javascript API (a subject of posts to come).  Also, you can drill-down into your service and get layer info, spatial reference, unit info, and tiling information.  In fact, on the tiling information, you can actually LOOK at some of the tiles.  Other information includes supported operations that you can execute within the Explorer, like Export Map or Identify.  Here's a picture of the service page:</p>
<p><a href="http://ruprict.files.wordpress.com/2008/05/croppercapture3.png"><img class="alignnone size-medium wp-image-18" src="http://ruprict.wordpress.com/files/2008/05/croppercapture3.png?w=300" alt="Tons of info right out of the box." width="300" height="287" /></a></p>
<p>Another item the Service page has is a "Supported Interfaces" section, which I would call supported formats.   The ones listed out of the box are REST and SOAP.  Clicking on the REST link will give you all (well, most of) the information just mentioned, but in <a class="zem_slink" title="JSON" rel="wikipedia" href="http://en.wikipedia.org/wiki/JSON" target="_blank">JSON</a> format .   Here, lemme show you:</p>
<p><a href="http://ruprict.files.wordpress.com/2008/05/croppercapture4.png"><img class="alignnone size-medium wp-image-19" src="http://ruprict.wordpress.com/files/2008/05/croppercapture4.png?w=300" alt="Fiddler (w/JSON Viewer) display of REST GET Request of AGS" width="300" height="168" /></a></p>
<p>The only difference between the URL to get to the cool HTML Services Explorer page and the URL that spits out JSON is the addition of a 'f' (for 'format') querystring parameter, like so:</p>
<p>http://server/arcgis/rest/services/ServiceName/MapServer?f=json</p>
<p>MMMMM....now, THAT's some good REST.</p>
<p>There is similar love for supported operations, allowing you to crank out a quick image or perform a Find and look at the results.   Also, the (impressively comprehensive) API reference is linked on the Services Explorer pages, which, oh by-the-way, takes you <a title="REST API docs" href="http://esi-gegvm93/arcgis/SDK/REST/index.html" target="_blank">here</a>.</p>
<p>Finally, the last thing I want to cover in this post is the REST admin inteface.  If you go to the following URL in your browser:</p>
<p>http://server/arcgis/rest/admin</p>
<p>you'll be hit with a login screen for the ArcGIS REST API Admin application.  It's pretty sparse right now, not even meriting a screen shot.  Currently, you can use the admin site to tell AGS when to recycle the cached service responses and to turn on the REST Services Catalog.  Now, that second option was nowhere to be found in my admin app, but the docs assure me it's there.</p>
<p>So far, the only disappointment I have had is that ESRI has chosen not to use GeoJSON as their format to return features in (or, for that matter, even as an option).  I don't profess to know why, but I'll try to float that to one of my contacts on the mother ship soon.</p>
<p>Summing up, the AGS REST API looks great before you even show a map on a site.  I am hoping to go that in future posts.</p>
<div id="zemanta-pixie" style="width:100%;margin:5px 0;"><a id="zemanta-pixie-a" title="Zemified by Zemanta" href="http://www.zemanta.com/"><img style="border:medium none;float:right;" src="http://img.zemanta.com/pixie.png?x-id=06e8c9db-7779-401b-bbea-6a36ada099ee" alt="" /></a></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[How to convert IFields  to Fields ]]></title>
<link>http://gisprog.wordpress.com/?p=103</link>
<pubDate>Tue, 15 Apr 2008 11:29:32 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=103</guid>
<description><![CDATA[ 
I am trying connect to external database (simple standalone DBF) to one of layer dynamically usin]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:10pt;font-family:Verdana;">I am trying connect to external database (simple standalone DBF) to one of layer dynamically using ADF. I wrote a method to connect to database and return the fields. I can able to join with database but retrieving fields seems bit tough!. The RelQueryTable class has method  getFields() which returns  IFields objects . How to convert to IFields to Fields object in com.esri.arcgisws which has getFieldArray() to obtain fields list. </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:10pt;font-family:Verdana;">Can anyone ping me or give me any clues? </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong>private</strong> Fields JoinTable(IServerContext pSC, IFeatureClass pFeatclass){</p>
<p><strong>try</strong>{                </p>
<p>ShapefileWorkspaceFactory filefactory = (ShapefileWorkspaceFactory)pSC.createObject(ShapefileWorkspaceFactory.<em>getClsid</em>());</p>
<p>Workspace ws = (Workspace) filefactory.openFromFile("C:/test/", 0);</p>
<p>IRelationshipClass pRelationshipClass ;              </p>
<p>ITable table = ws.openTable("1Z.dbf");</p>
<p>factory = (MemoryRelationshipClassFactory)pSC.createObject(MemoryRelationshipClassFactory.<em>getClsid</em>());</p>
<p>MemoryRelationshipClass rclass = (MemoryRelationshipClass)factory.open("test", pFeatclass, "ZONENO", <strong>new</strong> ObjectClass(table),"ZONENO", "forward", "backward", esriRelCardinality.<em>esriRelCardinalityOneToOne</em>);                     </p>
<p>RelQueryTableFactory relQueryTableFact = (RelQueryTableFactory)pSC.createObject(RelQueryTableFactory.<em>getClsid</em>());</p>
<p>RelQueryTable relQueryTab = (RelQueryTable) relQueryTableFact.open (rclass, <strong>true</strong>, <strong>null</strong>, <strong>null</strong>, "", <strong>true</strong>, <strong>true</strong>);</p>
<p>System.<em>out</em>.println("After Joining total Field count::::::"+ relQueryTab.getFields().getFieldCount())                        </p>
<p><strong>return</strong>  relQueryTab.getFields();        </p>
<p> }</p>
<p><strong>catch</strong>(Exception ex){</p>
<p>System.<em>out</em>.println("ERROR in JOINTable Method"+ ex.toString());</p>
<p><strong>return</strong> <strong>null</strong>;</p>
<p>}</p>
<p> </p>
<p>} </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[SP5 offers IBM Portal Server ArcGIS Portlet development ]]></title>
<link>http://gisprog.wordpress.com/?p=102</link>
<pubDate>Tue, 15 Apr 2008 10:44:50 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=102</guid>
<description><![CDATA[ArcGIS Server 9.2 Service Pack 5 includes an enhancement to the ArcGIS Server Java ADF which provide]]></description>
<content:encoded><![CDATA[<p><a href="http://support.esri.com/index.cfm?fa=downloads.patchesServicePacks.viewPatch&#38;PID=66&#38;MetaID=1377">ArcGIS Server 9.2 Service Pack 5</a> includes an enhancement to the ArcGIS Server Java ADF which provides support for IBM Portal Server ArcGIS Portlet development. This gives you the ability to create and publish GIS Mapping Portlets inside IBM Portal Server. In conjunction, SP5 includes a plug-in for the IBM Rational Application Developer (RAD) environment so that you can create and deploy those ArcGIS Portlets more efficiently. The following documents have been added related to this SP5 enhancement.</p>
<p><strong><a title="RAD plug-in" href="http://edndoc.esri.com/arcobjects/9.2/Java/6939ab10-a3d5-4312-b173-23ba36dc7436.htm" target="_blank">Install ArcGIS RAD plug-in</a></strong></p>
<p><a title="ArcGIS portlet" href="http://edndoc.esri.com/arcobjects/9.2/Java/7edfc4f6-7f31-4ae9-9fff-2acf7afc8dc5.htm" target="_blank"><strong>Developing ArcGIS portlet Applications in RAD</strong></a></p>
<p>Will ESRI upload these plug-in s as zip file who don't have internet connection. ESRI please awake!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Chart Renderering using Web ADF]]></title>
<link>http://gisprog.wordpress.com/?p=93</link>
<pubDate>Tue, 08 Apr 2008 06:34:23 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=93</guid>
<description><![CDATA[ 
These are days am working with ArcGIS Server [9.2+SP3]- Java edition. I&#8217;ve started with ESR]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:10pt;color:#000000;font-family:Verdana;">These are days am working with ArcGIS Server [9.2+SP3]- Java edition. I've started with ESRI samples and grown up to creating tasks for my application. Task framework is handy to create our own custom business logic with rich UI. I'm trying to recreate or mimic 'Charts' functionality similar to Arc Map.  User can select a layer (yet to code), field(s) and chart type to draw charts.   User has option to prevent overlap, change map base symbol color, field(s) color also. It works fine. No harm, charts draws fine.</span> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:10pt;color:#000000;font-family:Verdana;">While I try to remove the rendering, I couldn’t do so. Later, When I investigated, chart rendering has been applied to the map service (i.e. on server objects) since it is pooled one. I have searched in forum/developers help, I learnt that </span><span style="font-size:10pt;color:#000080;font-family:Verdana;">com.esri.adf.web.data.renderer </span><span style="font-size:10pt;color:#000000;font-family:Verdana;">package has ONLY five classes </span><span style="font-size:10pt;color:#000080;font-family:Verdana;">WebClassBreakInfo, WebClassBreaksRenderer, WebSimpleRenderer, WebUniqueValueInfo, and WebUniqueValueRenderer.  </span><span style="font-size:10pt;color:#000000;font-family:Verdana;">The Chart Rendering option is NOT available with the web ADF.  My senior colleague who attended Dev Summit has explained me that only ArcIMS has this functionality through ArcXML using Chart Symbol Object and not in 9.2. ESRI will incorporate in 9.3 ;adding charts in graphics layer or from other source. This helps me that am working in right direction.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:10pt;color:#000000;font-family:Verdana;">As a developer, you should not expect that everything can only done thru available methods/properties, sometimes we may need to use reverse logic to obtain desired result. One of my fellow colleague suggested that before applying chart rendering to layer object, feature renderer of the layer is stored temporarily once chart renderer is applied , web context is refreshed. Then now apply the feature renderer stored in temporary object to server object so that user can see the charts whereas a server object doesn’t get changed. This is simple and better idea for time being.</span> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:10pt;color:#000000;font-family:Verdana;">There are several other interesting learning’s/findings in creating this task. I've used custom xsl from <a title="Class Break Rendering" href="http://blogs.esri.com/Info/blogs/codechallenge/archive/2008/02/19/dynamic-adf-class-breaks-layer-renderer.aspx" target="_blank"><span>Daniel Garcia Roman</span></a> Class break rendering.</span> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:10pt;color:#000000;font-family:Verdana;">I'm facing some problems like how to update overview map dynamically when rendering type is changed, while changing radio events are not firing properly (I’ve to click twice). Yet to implement normalization, exclusions, orientation, size etc. For a developer who is fairly having good understanding of ArcObjects doing task is not so tough. Here, we are working with ArcObjects remotely. I always use VBA help to understand methods/properties of classes. Then try to migrate to java. Proper casting, creating objects in server context, error handling, using appropriate packages are very vital in server app development. I strongly feel that lack of samples in Developer help for Java as in .NET is a big handicap. We have depend on forums/experts  to understand certain basic issues.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p> <a href="http://gisprog.files.wordpress.com/2008/04/chart-task.jpg"><img class="alignleft size-medium wp-image-94" src="http://gisprog.wordpress.com/files/2008/04/chart-task.jpg?w=400" alt="" width="400" height="319" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[FAQ:  What are the build numbers for all the recent releases of ArcGIS?]]></title>
<link>http://gisprog.wordpress.com/?p=86</link>
<pubDate>Fri, 04 Apr 2008 03:59:14 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=86</guid>
<description><![CDATA[Question
What are the build numbers for all the recent releases of ArcGIS?
Answer (from ESRI Support]]></description>
<content:encoded><![CDATA[<h4>Question</h4>
<div>What are the build numbers for all the recent releases of ArcGIS?</div>
<h4>Answer (from ESRI Support )</h4>
<div>Build 535 = ArcGIS Desktop 9.0 final<br />
Build 550 = ArcGIS Desktop 9.0 Service Pack 1<br />
Build 560 = ArcGIS Desktop 9.0 Service Pack 2<br />
Build 580 = ArcGIS Desktop 9.0 Service Pack 3<br />
Build 589 = ArcGIS Desktop 9.0 Service Pack 3 + ArcGIS Desktop 9.0 Map Document Performance Patch</p>
<p>Build 722 = ArcGIS Desktop 9.1 final<br />
Build 750 = ArcGIS Desktop 9.1 Service Pack 1<br />
Build 780 = ArcGIS Desktop 9.1 Service Pack 2</p>
<div style="width:500px;"><img src="http://support.esri.com/common/style/graphics/icons/note.gif" /> ArcGIS Desktop 9.1 Service Pack 2 displays as build 766 from ArcMap Help &#62; About ArcMap.</div>
<p>Build 1324 = ArcGIS Desktop 9.2 final<br />
Build 1332 = ArcGIS Desktop 9.2 Service Pack 1</p>
<div style="width:500px;"><img src="http://support.esri.com/common/style/graphics/icons/note.gif" /> ArcGIS Desktop 9.2 Service Pack 1 displays as build 1324 from ArcMap and ArcCatalog Help &#62; About ArcMap/ArcCatalog.</div>
<p>Build 1350 = ArcGIS 9.2 Service Pack 2</p>
<div style="width:500px;"><img src="http://support.esri.com/common/style/graphics/icons/note.gif" /> ArcGIS Desktop 9.2 Service Pack 2 displays as build 1324 from ArcCatalog Help &#62; About ArcCatalog.</div>
<p>Build 1380 = ArcGIS Desktop 9.2 Service Pack 3<br />
Build 1420 = ArcGIS Desktop 9.2 Service Pack 4<br />
Build 1450 = ArcGIS Desktop 9.2 Service Pack 5</p>
<div style="width:500px;"><img src="http://support.esri.com/common/style/graphics/icons/note.gif" /> ArcGIS Desktop 9.2 Service Pack 5 still displays as build 1420 from ArcCatalog Help &#62; About ArcCatalog.</div>
</div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Eclipse plug-in for debugging ArcObjects code]]></title>
<link>http://gisprog.wordpress.com/?p=81</link>
<pubDate>Thu, 27 Mar 2008 03:44:05 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=81</guid>
<description><![CDATA[ Intro
Finally ESRI has made Eclipse plug-in for debugging ArcObjects Code. This is great news for ]]></description>
<content:encoded><![CDATA[<p><a href="http://gisprog.wordpress.com/files/2008/03/untitled1.jpg" title="untitled1.jpg"></a><strong> Intro</strong></p>
<p>Finally ESRI has made Eclipse plug-in for debugging ArcObjects Code. This is great news for java devlopers who uses print line statements.  One of the most important aspect of any tool is debugging.I strongly feel that Mircosoft products brings great developer productivity.  This is also one of  reasons why many huge fans for MS products than java.  Its better late than never, ESRI shown some concern to java developers!. Kudos ESRI :)</p>
<p><strong>About the plug-in</strong></p>
<p>One of the most valuable tools that developers have at their disposal is a debugger through which they can step through code one statement at a time and inspect objects in the application. As many of you may already know, Java classes in the ArcObjects API are really only proxies to underlying COM ArcObjects. As a result, examining these proxies in the debugger only reveals their internal details and not the state of the ArcObjects. This makes it difficult to find out information such as the coordinates of a geometry, or the layers in a map service. Consequently, developers have to sprinkle their code with System.out.printlns and analyze traces on the console to get this information. This approach can be inconvenient and time consuming.</p>
<p>With this new Eclipse plug-in, Java developers can examine the state of the underlying ArcObjects right in Eclipse IDE's Debug Perspective by enabling the "Show Logical Structure" option on the Expression and Variables window. Here's an example of a Point object without the "Show Logical Structure" option enabled.</p>
<p><a href="http://gisprog.wordpress.com/files/2008/03/untitled.jpg" title="untitled.jpg"><img src="http://gisprog.wordpress.com/files/2008/03/untitled.jpg" alt="untitled.jpg" /></a></p>
<p>This information provides little insight into the underlying ArcObject and is not helpful in reasoning through a workflow while debugging. Now here's the logical representation of the same object with the "Show Logical Structure" option enabled.</p>
<p><a href="http://gisprog.wordpress.com/files/2008/03/untitled1.jpg" title="untitled1.jpg"><img src="http://gisprog.wordpress.com/files/2008/03/untitled1.jpg" alt="untitled1.jpg" /></a></p>
<p>The logical representation presents more comprehensible information about the underlying ArcObject's state. This state is defined by the no-argument getter methods on it. You might sometimes see exception messages like "Exception Occurred: com.sun.jdi.InvocationException occurred invoking method" in the logical representation. This is normal and happens when some property of the ArcObject is not valid in the current context of the application.</p>
<p>The underlying ArcObjects could be running remotely in a separate process as in the case of ArcGIS Server web applications, or in the same process like in ArcGIS Engine applications. Thus, both Engine and Server developers can take advantage of this plug-in to debug their applications.</p>
<h3>How to get the plug-in</h3>
<p>Follow these steps to download and install the plug-in from the EDN Website:</p>
<ol>
<li>In the Eclipse workbench, go to <b>Help</b> &#62; <b>Software Updates</b> &#62; <b>Find and Install</b></li>
<li>Select <b>Search for new features to install</b>, and click Next</li>
<li>Create a <b>New Remote Site</b> for the URL "http://downloads.esri.com/EDN/java/plugins/eclipse"</li>
<li>Enable this remote site and click Finish.</li>
<li>Expand the EDN tree in <b>Search Results</b>, and select the ArcGIS Debug feature.</li>
<li>Proceed to install the plug-in, and restart the workbench when prompted.</li>
</ol>
]]></content:encoded>
</item>
<item>
<title><![CDATA[FedUC Plenary - 47:53]]></title>
<link>http://geobabble.wordpress.com/?p=161</link>
<pubDate>Tue, 25 Mar 2008 14:24:27 +0000</pubDate>
<dc:creator>Bill Dollins</dc:creator>
<guid>http://geobabble.wordpress.com/?p=161</guid>
<description><![CDATA[For those of you keeping track at home, the reference to OpenLayers in Jack Dangermond&#8217;s FedUC]]></description>
<content:encoded><![CDATA[<p>For those of you keeping track at home, the reference to <a href="http://www.openlayers.org/">OpenLayers</a> in <a href="http://www.esri.com/news/podcasts/audio/speaker/feduc08_dangermond.mp3">Jack Dangermond's FedUC plenary talk</a> comes at approximately 47:53.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Dev Summit: Ahhhh, the APIs (and Security)]]></title>
<link>http://geobabble.wordpress.com/?p=160</link>
<pubDate>Fri, 21 Mar 2008 13:44:47 +0000</pubDate>
<dc:creator>Bill Dollins</dc:creator>
<guid>http://geobabble.wordpress.com/?p=160</guid>
<description><![CDATA[ArcGIS 9.3 looks really good all the way around. ESRI seems to have really put a lot of work into ma]]></description>
<content:encoded><![CDATA[<p>ArcGIS 9.3 looks really good all the way around. ESRI seems to have really put a lot of work into making this a quality release. Basically, it's all about consolidating the vision of 9.2 while also improving the execution of that vision. To be sure, there are some new capabilities (PostgreSQL support, Javascript API, REST API, etc.) but there has been a huge effort on shoring up the quality of the product. The ESRI developers themselves seem really excited as well. It seems as if they can't wait for the beta to get in our collective hands. But, this being the Dev Summit, the real star of the show was the APIs.</p>
<p>I didn't attend anything on the Java ADF or the Flex API. Neither of those are things I'll be using anytime soon so I didn't check them out but <a href="http://fantomplanet.wordpress.com/">Fantom Planet</a> did attend the Flex API session and seemed duly impressed. So, if you want details on that, you should probably nag him.  ;)</p>
<p>I sat in on a session about the .Net Web ADF. I've already read <a href="http://blog.davebouwman.net/2008/03/20/ArcGISServerNETADFSession.aspx">Dave's post</a> on the same session and his notes read almost exactly like the ones I have in my notebook so, rather than retype my notes (which would essentially duplicate Dave's post), I'll refer you there. BTW, congrats Dave!</p>
<p>The .Net Web ADF definitely seems to have a lot of improvements. The things I'm most excited about are a) all of the web controls being scriptable, b) the client-side JavaScript now being exposed, documented and supported, c) the re-engineering to use ASP.NET AJAX and d) resource-level tiling. ESRI put a lot of focus on reducing the number of server round-trips and reducing the need to execute the full page life-cycle. This will speed things up a lot. All of the items I just listed will have direct, immediate benefits on our Server projects. Oh yeah, using JSON to serialize their objects is cool as well. Additionally, the ADF is designed to use .Net 3.5 but you can toggle back to 2.0 if you need to. I see SilverLight in my future.</p>
<p>I've already talked a little about the REST API. I think that one is going to be huge. It really expands the scope of potential clients for ArcGIS Server services to just about anything. As I said, they even hit services from Ruby and Python during the session. "Everything is a URL" was the big take-away from that session. So, pretty much anything that can call a URL and understand the response can be a client. A lot of my clients have standardized on SOAP web services (didn't get to anything about the SOAP API but I'll catch up on that during the beta) but I plan on leveraging the REST API as much as I can outside of those areas.</p>
<p>The JavaScript API looks pretty good too. Using this, developers will be able to integrate ArcGIS Server services into Virtual Earth and Google Maps and other mashups. <a href="http://mandown.co.nz/events/day-1-building-mashups-using-the-arcgis-javascript-api-s-at-the-esri-developer-summit-2008/">Mandown</a> has an good summary of the session. Most of my customers will not be able to take advantage of ESRI hosting the API but that shouldn't be a huge issue. However, it (along with the SOAP and REST APIs) fit in well with the mobile code policies we have to adhere to.</p>
<p>When I went to the FedUC, Jack articulated a vision of ArcGIS providing advanced GIS analysis to whatever client you wanted to use. The Dev Summit really brought that home in a way that you could see it. The various APIs give lots of options that should fit into any environment.</p>
<p>Lastly, I attended the session on securing .Net web applications. The security model is essentially an extension of what we did at 9.2 but a whole lot easier to administer. They generally follow the ASP.NET model (OS security, Forms, custom provider). That'll make it easier to to get systems accredited. However, with regard to AGS web services, they've made one significant change for the better (IMHO). Security for web services is now managed by the SOM rather than being defined in the web.config. This has one huge advantage in that security is now applied consistently to web services regardless of which API you are using to access the services. This means that whether you use the Java ADF, .NET ADF, REST API, JavaScript API, SOAP API or whatever, web service security will be the same. I'll need to educate some of the security types I deal with on the SOM (and they'll want to red-team it, I'm sure) but I think it'll end up being an easy sell.</p>
<p>So, this'll be an exciting release for developers. I think it could be as significant as when we were all introduced to ArcObjects at 8.0. Now, I've just got to get into the office and set up the beta....</p>
<p>UPDATE: <a href="http://www.spatiallyadjusted.com/2008/03/21/reflection-on-the-2008-esri-developer-summit/">James raises a good point</a> about the demos. They do make it look like you can do really cool stuff with just a little bit of code. It's important to remember that calling the service from the API is just one part. You'll still need to implement your complex logic in the service. Also, more sophisticated behaviors on the client will require more code there. It's important not to get caught up in the sales hype. 9.3 will offer some powerful options but it's important to keep the total level of effort in mind. The new APIs give you more options for developing your applications, but they don't obviate the need to actually write the code.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mmmm... Kooool-Aid! DevSummit With the Goggles On]]></title>
<link>http://fantomplanet.wordpress.com/?p=348</link>
<pubDate>Thu, 20 Mar 2008 05:55:34 +0000</pubDate>
<dc:creator>FantomPlanet</dc:creator>
<guid>http://fantomplanet.wordpress.com/?p=348</guid>
<description><![CDATA[So, I went back. Back to the Kool-Aid stand that is the ESRI DevSummit. I got smarter, I got excited]]></description>
<content:encoded><![CDATA[<p>So, I went back. Back to the Kool-Aid stand that is the ESRI DevSummit. I got smarter, I got excited, I got even more hooked on the Kool-Aid.</p>
<p>First I'd like to note that I'm a geographer, not <i>really</i> a programmer, but... I learned a lot at the DevSummit and I got a lot of crazy ideas for my post-Redlands life.  I did realize that to understand the mechanism that is ESRI GIS you can be a dope like me, but to develop the mechanism it's hard work. I guess any development is really. Putting up with the client/user's griping and complaining, their clueless ideas and so on. I commend a lot of developers for putting up with that crap, and most other geographers should too.</p>
<p>So, yes, my first DevSummit opened up a new world to me. One that f'in nuts!  Still, I like building things, designing things, seeing the happy smiles of users. So, I think I'll not only keep up with the tech and the processes that are new in buttonology, but also keep up with the tech that makes working with GIS "so fun."</p>
<p><i>Bottom line:  ArcGIS Server 9.3... F'in rocks. It's off the hook, fool.</i></p>
<blockquote><p><b>Side notes:</b></p>
<p>1) Jeremey B. said he should have made a "HTTP Goodness" t-shirt. I mentioned they would probably sell like hot cakes at the UC or next year's DevSummit. I also recommended that he make "GET" and "POST" shirts too.</p>
<p>2) I spent the afternoon in the Microsoft Lounge charging my laptop, doing some homework, and found myself consulting with Ed Katibah and a Redlands alumn from back East. I tell you, that Ed sure is awesome. Always fun to chat with, always a ball of energy. Though I felt kind of bad about holding him up from his FAQ work that he did for the Microsoft SIG. I told him though that he's lucky he hasn't suffered from "Adult Onset Internet ADD" like I have. That's what GIS and blogging will do to you.</p>
<p>3) The Flex API for AGS was "demonstrated today. Slick, slick, slick. In the three weeks that they've worked on it, it has some great visualization capabilities in the browser. The interesting thing is that you can not only build web RIAs but you can also export your work to Adobe Air for a light weight desktop app.  Licensing? No clue. It's built to mimic the AGS 9.3 JavaScript API, so any changes to either one, the other should be updated as well. So, a pretty nice presentation layer for the Flex/Flash folks. BTW: The Flex API isn't in beta yet. Notice I said they worked on it for three weeks? So, Flex and AWX devs/designers will have to wait.</p>
<p>4) Congrats to Dave Bouwman. He won second place in the Code Challenge. Just think if he would have reminded us to vote for him?</p></blockquote>
]]></content:encoded>
</item>
<item>
<title><![CDATA[REST: Simple Explanation]]></title>
<link>http://gisprog.wordpress.com/?p=78</link>
<pubDate>Wed, 19 Mar 2008 05:23:38 +0000</pubDate>
<dc:creator>iamlaksh1</dc:creator>
<guid>http://gisprog.wordpress.com/?p=78</guid>
<description><![CDATA[We ESRI folks hearing word &#8216;REST&#8217; often when we discuss about ArcGIS Server. What is RES]]></description>
<content:encoded><![CDATA[<p>We ESRI folks hearing word 'REST' often when we discuss about ArcGIS Server. What is REST, how it works, what it does?. Here is a link, which gives great explanation about REST archiecture.  "<font color="#ff0000"><a target="_blank" href="http://tomayko.com/writings/rest-to-my-wife" title="REST Archiecture in Simple language">How I Explained REST to My Wife</a></font>" by  <a rel="index" href="http://tomayko.com/" class="author">Ryan Tomayko</a>. This is a wonderful post on REST.  Hope this helps you lot!</p>
]]></content:encoded>
</item>

</channel>
</rss>
