Programación SIG

martes, abril 03, 2007

ArcGIS Server code challenge

Ya se han fallado los premios para el ArcGIS Server Code Challenge, que ha tenido lugar en la Conferencia de Desarrolladores de ESRI (ESRI Developer Summit).

Se pueden ver los scripts / programas que han sido enviados, así como los ganadores, en la siguiente URL:

http://esricodechallenge.wordpress.com/

Viendo lo que ha enviado la gente, me asalta una duda.

¿Nadie desarrolla en Java por allí?. Sabía que .NET era mayoritario, pero no me imaginaba que no iba a encontrar ninguna entrada desarrollada en la plataforma de desarrollo empresarial más extendida.

Desde luego, desarrollar con ArcGIS Server en Java es una aventura no apta para cobardes. Por fin está empezando a aparecer documentación en la web, después de llevar el producto varios meses en el mercado. Y ahora resulta que se hace todo con AJAX, como no podía ser de otra forma, está bastante bien a nivel técnico, la verdad.

Aún así, faltan por pulir muchos aspectos, hay zonas de la API que no están documentadas, por ejemplo el tema del manejo de Geodatos, imposible encontrar un ejemplito en Java (si en .NET), y hasta que han empezado a aparecer los ejemplos en la web (http://edn.esri.com/index.cfm?fa=java.gateway), es difícil imaginarse que alguien "adivine" todo el tinglado de los PhaseListener de JSF y su integración con AJAX así como por arte de magia. Escribiré otro post sobre este tipo de desarrollos más adelante, pues tienen su miga.

En el caso de ArcGIS Server, y en igualdad de circunstancias, es mejor optar por .NET pues es un producto mucho más acabado y completo a todos los niveles, y se nota que ESRI va de la mano de Microsoft.

Sin entran a valorar esto, pues daría para un largo y encendido post, lo que tengo claro es que cada día me gusta menos la arquitectura de bajo nivel de este producto precisamente por este motivo, demasiado objeto COM por ahí debajo haciendo la puñeta. Llamar a estos señores desde Java se hace a través de una librería intermedia que actúa como pasarela o "bridge", y aunque ha mejorado mucho en la versión 9.2, nos sigue obsequiando con unas magníficas excepciones nativas (AutomationException) que me recuerdan a los mejores tiempos del "Segmentation Violation" de ArcView 3.x.

La recomendación que he escuchado alguna vez, "pues hazlo en .NET", desgraciadamente no me sirve. En España y gran parte de Europa se utiliza la plataforma JEE de forma exclusiva, y por unos buenos motivos, en mi opinión. Que te cambias a .NET y descubres que funciona fenomenal, pero que te tienes que apoyar en un servidor Windows con IIS, si o si.

Bufff.