Over the past few weeks I have been switching between working with ArcGIS Server and ArcIMS. As a consequence of this I’ve been thinking more and more about AXL and its role in defining maps for a generation of ArcIMS web mapping applications. For those that don’t know, ArcXML or AXL is a protocol for dealing with ArcIMS Spatial Servers, it is also used for defining map services within ArcIMS. Because it’s XML anybody can read and interpret and for that matter create AXL files that represent a configuration for the map which you want ArcIMS to serve. No one said the process of creating and managing AXL files was painless, it is anything but (to a beginner), but anybody could create an AXL file and this is a very important point.
A little while after ArcIMS appeared a new type of service was introduced – ArcMap Image Services, these differ from standard ArcIMS Image Services as they use the proprietary map document format from ESRI to author the map service. Now there was no doubt valid motivation for this and it assists GIS administrators by linking their desktop authored map documents directly to Internet mapping services. Many people stuck with AXL configuration – it was faster, they had grown used to it and didn’t see the need to use desktop GIS software to create map configuration files, some people even created converters which converted the map document files (mxd’s) into AXL files so you could have the best of both worlds.
Then ArcGIS Server came along, brilliant, we can leverage all that rich GIS goodness from ArcObjects on the server, but what about creating map services? How do i do that? Well to create a map service, and expose its contents and functionality (including the useful geoprocessing framework functionality) I need to create a map document. Is there another way? Not that I know of. So suddenly I’m coupled to my desktop GIS. The core way in which a map is configured for viewing is tightly integrated into the ESRI GIS desktop software, I can’t export my map document to a humanly readable configuration. The service understands the map document file, reads it upon service creation and then does not use it again (until the service needs to be amended and restarted i.e. the addition of a new map layer)
It doesn’t matter how much i hated AXL i still recognise its openness and whilst ESRI continues to support open standards I really would like to see the ability to be able to create my own map configurations without the need for a desktop GIS seat. But why – why hack at AXL when you can use a swish desktop mapping software to set up layers, complex symbology, queries, geoprocessing tools etc? Well here are a number of reasons INHO:
- AXL provides a transparent and open protocol
- Because AXL was open anybody could create an AXL files or AXL editors as long as they understood the protocol
- That same openness, promotes choice for users
- I never had an AXL file crash on me or even worse crash and become corrupt as a result of the crash (even with MXDDoctor you could still loose a lot of work)
- AXL helped me understand what was beneath a map service, map documents obscure that, in much the same way IDE’s obscure the complexity of WSDL creation for example, but to understand SOAP services you really should spend some time understanding the WSDL definition
I’m not crying over spilt milk here, the last thing i really want to do is spend an afternoon crafting XML to get a map with 5 layers one of which is blue….I use ESRI Desktop GIS to create my map configurations every-time, but i have no choice so I just put my trust in the black box.
[...] reminded me a while back I was lamenting about AXL, which i received some grief [...]