Ampliar ArcGIS con SDK y API

Por lo general, los sistemas ArcGIS se construyen sobre una base estable de componentes de software existentes y bien comprendidos. Estos componentes pueden implementarse de diversas formas, configurarse para admitir flujos de trabajo y requisitos y, para muchos sistemas, las aplicaciones, servicios, herramientas y entidades existentes son suficientes. En otros casos, los requisitos o criterios de diseño pueden requerir la personalización del software o del flujo de trabajo para alcanzarlos, y la plataforma ArcGIS proporciona una variedad de kits de desarrollo de software (SDK), motores de scripting y automatización, e interfaces de desarrollo de aplicaciones (API) que pueden ayudar a lograr estos objetivos. El sitio para desarrolladores de Esri proporciona documentación y orientación exhaustivas sobre algunas de estas API y SDK, junto con documentación de las demás REST API y entidades de los componentes fundamentales de ArcGIS.

Algunos proyectos y equipos pueden comenzar un proceso de diseño con una idea clara del rol del desarrollo de software o de la personalización, mientras que otros procesos de diseño pueden poner de manifiesto la necesidad de personalización a través de la revisión de los requisitos o de pasos posteriores del proceso de diseño. En cualquier caso, un planteamiento claro es importante para decidir cómo y dónde ampliar ArcGIS.

Criterios de decisión para la personalización de la aplicación

La decisión de agregar el desarrollo de software a medida a un proyecto tiene un rango de implicaciones, ventajas y consideraciones. Lo mejor es pensar en el rol del desarrollo en los sistemas ArcGIS como un espectro con valiosas opciones a lo largo del mismo, que van desde sistemas principalmente listos para usar que se configuran ligeramente mediante configuraciones emergentes, scripts de Arcade u otras técnicas, pasando por flujos de trabajo habilitados para Python para el movimiento de datos o el geoprocesamiento, hasta aplicaciones extensibles con poco código que permiten agregar Arcade, CSS y HTML a la interfaz, y que conducen a sistemas totalmente personalizados con un frontend cuidadosamente diseñado, servicios web personalizados y una importante automatización de datos y procesos.

Este espectro puede desglosarse de muchas maneras, pero una forma de verlo es a través de tres planteamientos principales:

  • Configurar las aplicaciones para satisfacer las necesidades de su empresa. ArcGIS proporciona un conjunto de aplicaciones configurables que permiten flujos de trabajo básicos a avanzados con experiencias de configuración sencillas y basadas en navegador. El uso de estas aplicaciones requiere el menor esfuerzo y el menor coste continuo, pero puede estar limitado por las configuraciones que se admitan. Entre las aplicaciones de esta categoría se incluyen las Instant Apps, los story maps, los Dashboards, los Field Maps o la Survey 123.
  • Utilizar constructores de aplicaciones con poco código. Esri ofrece una gran variedad de generadores de aplicaciones que incluyen una experiencia con poco código, como ArcGIS Experience Builder, StoryMaps, Dashboards, ArcGIS Hub, Enterprise Sites y ArcGIS Instant Apps. Todas estas aplicaciones permiten configurar cierto grado de HTML y CSS personalizados, junto con otras implementaciones o perfiles de Arcade, y pueden utilizarse para crear aplicaciones cuidadosamente adaptadas y alineadas con la marca que tengan el aspecto y la sensación de una aplicación totalmente personalizada, conservando al mismo tiempo la opción de realizar cambios o ajustes rápidos en la funcionalidad. Experience Builder también permite la creación de widgets personalizados, que pueden desarrollarse y luego estar disponibles para su uso en varias aplicaciones diferentes.
  • Personalizar completamente las aplicaciones con los SDK de ArcGIS. Esri crea SDK para una gran variedad de entornos y lenguajes de programación, cada uno de los cuales ofrece un sólido soporte para la creación de aplicaciones basadas en datos y mapas que contengan capas de ArcGIS, interacciones de interfaz de usuario, autenticación segura y funciones cartográficas complejas. Al no tener que codificar usted mismo cada una de estas partes específicas, puede crear aplicaciones centradas en la empresa para aprovechar las funcionalidades de ArcGIS disponibles en su organización, reduciendo los gastos generales de desarrollo y mantenimiento de la aplicación. El sitio para desarrolladores de Esri proporciona información completa sobre la selección de SDK disponibles, junto con flujos de trabajo comunes, descripciones de funciones y ejemplos de código. Esri también proporciona una serie de componentes de aplicación para facilitar el desarrollo web mediante planteamientos de interfaz de usuario normalizados.

No existe una única mejor opción a lo largo de este espectro que va desde la configuración hasta el desarrollo completo, la decisión debe basarse en la capacidad del equipo para el desarrollo, la filosofía arquitectónica de la organización hacia la personalización y la comprensión de las implicaciones a largo plazo para cualquier decisión que se tome en esta área.

Motivadores y factores comunes del desarrollo de software

Con un amplio espectro de opciones de personalización y desarrollo de software, es importante comprender también algunas de las motivaciones para optar por una de estas opciones, cada una de las cuales puede contribuir a un conjunto diferente de criterios de decisión sobre qué planteamiento de personalización o extensión podría ser adecuado.

  • Las motivaciones de funcionalidad e integración se refieren principalmente a la falta de una funcionalidad específica en una aplicación o flujo de trabajo existentes, o a la necesidad de ofrecer soporte a una integración con otro sistema para el que no existe una aplicación existente. Otra motivación es el deseo de reunir varios conjuntos de funciones en una única interfaz unificada.
  • Rendimiento y escalabilidad Si el rendimiento de los servicios, interfaces o flujos de trabajo existentes no satisface sus necesidades, es posible que una opción personalizada introduzca nuevas opciones para alcanzar el nivel de servicio deseado o aporte un acceso directo a un proceso que ahorre mucho tiempo y mejore la satisfacción del usuario.
  • Diseño Si una aplicación necesita una imagen de marca más allá de lo que admiten las ofertas de estilos y temas de las aplicaciones existentes de ArcGIS, una aplicación personalizada puede lograr las interfaces específicas o los objetivos de diseño de la organización. El Calcite Design System de Esri es una base común para unas interfaces bien diseñadas y utilizables.
  • Audiencia y experiencia de usuario La usabilidad es un criterio clave para el éxito de la mayoría de los esfuerzos de diseño de aplicaciones, y comprender las diferentes necesidades de funcionalidad que tienen los distintos grupos de usuarios es un paso importante. Los flujos de trabajo guiados pueden ayudar incluso a los usuarios experimentados a encontrar su camino desde la apertura de la aplicación hasta ser productivos lo más rápidamente posible.
  • Cultura organizacional y capacidad Su organización puede tener preferencias o una tendencia hacia determinadas formas de utilizar el desarrollo en el proceso de diseño de aplicaciones. Los equipos de liderazgo, administración de proyectos y técnicos pueden tener preferencias, memoria muscular o experiencia relevante a la hora de tomar una decisión sobre las opciones de personalización, y pueden utilizar esto para informar la toma de decisiones para una nueva oportunidad. Considerar cuidadosamente la capacidad de la organización para asumir una personalización y el mantenimiento de ese trabajo, así como el mantenimiento nada desdeñable de aplicaciones muy configuradas, garantizará que se tomen decisiones intencionadas que preparen su aplicación para el éxito futuro.
  • Costes Ningún proceso de creación de una aplicación se lleva a cabo sin un coste, y es importante no dar por sentado que la personalización tiene un coste más elevado: una aplicación adaptada puede tener una vida útil más larga y satisfactoria que una aplicación configurada, en función de la vida útil de la aplicación configurada, la funcionalidad requerida y los cambios previstos. Las consideraciones sobre los costes deben tener en cuenta los costes iniciales de construcción, pero también el mantenimiento continuo y cualquier riesgo introducido por la decisión.
  • Duración Las aplicaciones no deben diseñarse para ser utilizadas para siempre: un intervalo de sustitución saludable, en el que se consideren otras opciones o planteamientos, garantiza que no se ignoren las nuevas opciones de aplicación y que no se permita que una aplicación existente continúe indefinidamente cuando puede existir una opción mejor. En algunos casos, actualizar una aplicación personalizada es tan sencillo como introducir una nueva versión de un SDK, pero otras actualizaciones pueden ser más significativas o suponer una inversión mayor en función del momento del desarrollo inicial de la aplicación y del ciclo de vida del SDK utilizado para crearla.

Prácticas recomendadas para trabajar con SDK y API

Cuando el desarrollador de software va a desempeñar un rol en la creación de una aplicación o la construcción de un sistema, se pueden aplicar unas cuantas prácticas recomendadas a la mayoría de los escenarios:

  • Utilice herramientas que resulten familiares al equipo: es posible que su organización o equipo de colaboradores tenga experiencia con lenguajes específicos, metodologías de desarrollo de software o formas de crear aplicaciones, y resulta beneficioso seguir estos patrones existentes en la mayoría de los escenarios. Esto favorece la eficiencia al confiar en las habilidades existentes, aprender de experiencias anteriores y no pedir al equipo que asuma una nueva tecnología simplemente por la novedad.
  • Manténgase al día con la versión más reciente: al igual que los componentes de software fundamentales, los SDK y las API de ArcGIS se actualizan con regularidad, y es una práctica recomendada mantenerse al día con las versiones más recientes de cualquiera de estos productos, ya que incorporan nuevas funcionalidades junto con mejoras de seguridad y rendimiento. Con cada versión, Esri documenta cuidadosamente las nuevas entidades y cualquier cambio de última hora para ayudar a los desarrolladores a mantenerse al día con las últimas versiones con el menor trastorno posible.
  • Desarrolle teniendo en cuenta los pilares de la arquitectura: los pilares de la arquitectura descritos en esta sección son igual de relevantes para los sistemas impulsados por el desarrollo de software que para los sistemas más «listos para usar». Tenga en cuenta la importancia de la seguridad, el rendimiento, la escalabilidad y la observabilidad a la hora de desarrollar una nueva aplicación o función, para garantizar que la aplicación resultante pueda ser admitida y operada eficazmente por el equipo durante su vida útil prevista.

Resumen

La ampliación de ArcGIS, ya sea mediante la personalización de las interfaces existentes o la creación de nuevas aplicaciones con los SDK de ArcGIS Maps, constituye una excelente opción para alcanzar algunos de los objetivos mencionados. Durante el proceso de diseño de un sistema Enterprise, considere cuidadosamente la pertinencia de ampliar y personalizar la solución en cuestión puede tener un impacto significativo en la futura entrega y el coste del sistema. En caso de duda, tenga en cuenta las capacidades y la preparación de la organización, para saber si una experiencia existente o una solución a medida (o, lo que es más habitual, una combinación de ambas) pueden encajar mejor.

Top