Tengo un enigma de que estoy recibiendo consejos mixtos sobre cómo hacerlo. Por lo tanto, me gustaría ponerlo en GIS-SE para obtener algunas respuestas justificadas.
Guión:
El cliente tiene una aplicación de mapeo web. No quiere dividirse en múltiples aplicaciones más pequeñas. Aunque esto va en contra de lo que el enfoque moderno es para los mapas en la web (es decir, muchas aplicaciones de mapas web enfocadas en un mapa web principal), creo firmemente que para algunos usuarios, intentar replicar una aplicación SIG en la web es ok (a veces )
El cliente ha almacenado en caché la mayor parte de sus capas de mapa base en servicios separados.
- El cliente aún requiere 600-700 capas adicionales en un servicio de mapas dinámicos ...
- El servicio se publicará con todas estas capas desactivadas .
- No se anticipa que los usuarios activen más de 10-40 capas a la vez.
Me imagino que tu reacción inicial a esto es similar a la mía (¡¿600+ ?! WTF ?!)
Sin embargo, el requisito se establece en piedra y ¿por qué no? Su aplicación ArcIMS anterior tenía una funcionalidad similar, entonces, ¿por qué este nuevo producto ArcGIS Server no puede hacer lo mismo? Los usuarios potencialmente necesitan poder comparar y realizar análisis cruzados en todo el rango de capas, incluso si las capas pertenecen a otros departamentos.
Antes de llegar a conclusiones, el cliente es un administrador de ArcGIS Server.
Han administrado las 600 capas según todas las reglas de mejores prácticas: por ejemplo, rangos de escala combinados con consultas de definición; anotación sobre etiquetado; generalizar capas complejas a escalas pequeñas; publicar como MSD; etc.
Problema :
¿Cuál es el mejor enfoque aquí?
Publique las 600 capas en un servicio de mapas dinámicos.
Divida las capas en agrupaciones lógicas (hidrología, planificación, ecología, servicios públicos, etc.)
Si va con el # 1, y tiene algunas capas complejas activadas. Si desea activar una capa de puntos simple, ArcGIS Server aún tendrá que mostrar las capas completas nuevamente.
Si va con el n. ° 2, cada vez que realiza una solicitud, la aplicación web podría tener que realizar varias solicitudes GET para ExportMaps desde los servicios de mapas individuales (esto es malo o crea una carga adicional para ArcGIS Server sobre el n. ° 1) ?)
Y luego esto lleva a la configuración y ajuste para garantizar que todo sea lo más rápido posible. Podemos escalar el back-end de ArcGIS Server a múltiples hosts y tener un buen hardware para instalarlo.
Si va con el # 1, puede arrojar el número máximo de instancias que AGS puede manejar.
Si va con el n. ° 2, supongo que evalúa el rendimiento de los servicios de mapas (prueba de carga y mira los tiempos de espera) y aborda las instancias mín / máx en consecuencia para asegurarse de que no haya un solo servicio que sea un 'enlace débil'.
Actualmente me estoy inclinando hacia el enfoque # 2, ya que mi cabeza aún me dice que tener 600 capas en un servicio es una locura, pero si todas están desactivadas por defecto, realmente no hay problema.
Me encantaría conocer tu opinión. Avíseme si necesita más información a través de los comentarios, pero no busca respuestas como "usar una aplicación de escritorio" o "educarlos para que hagan las cosas de manera diferente"
De las discusiones en los comentarios, no mencioné otra consideración. La aplicación dentro de la cual se consumirá el servicio tiene la capacidad de seguridad de nivel de capa (en el nivel de aplicación). Por lo tanto, el grupo de usuarios (que es bastante grande) está asignado a un rol particular, y ese rol tendrá acceso a las 600 capas completas. Otros roles serán limitados.