ArcGIS Desktop facilita la publicación de servicios de inmediato porque establece muchas de las propiedades del servicio por usted. Sin embargo, si cientos o miles de usuarios van a acceder a sus servicios, deseará cambiar los valores predeterminados de las propiedades de los servicios para que se ajusten mejor a la implementación. Este tema ofrece una vista general de algunas de las propiedades y técnicas que puede utilizar para configurar sus servicios de una forma más óptima.
Agrupación
Todos los servicios publicados con ArcGIS Server están agrupados. Esto significa que las instancias del servicio se pueden compartir entre varias sesiones de aplicación.
Una aplicación que utiliza una instancia de un servicio agrupado lo utiliza únicamente durante el tiempo que tarda en completar una solicitud (por ejemplo, para trazar un mapa o geocodificar una dirección). Después de completar la solicitud, la aplicación libera su referencia en el servicio y la devuelve directamente al grupo de instancias disponibles.
Reciclaje
Con el reciclaje del servicio se pueden eliminar los servicios que han quedado inutilizables y su sustitución por servicios nuevos, además de solicitar los recursos empleados por servicios obsoletos.
Los servicios suelen compartirse entre varias aplicaciones y sus usuarios. La reutilización puede provocar que determinados servicios no estén disponibles para las aplicaciones. Por ejemplo, una aplicación podría de forma incorrecta modificar el estado de un servicio o retener la referencia de un servicio, lo que provocaría que no estuviera disponible para otras aplicaciones o sesiones. En determinados casos, los servicios podrían dañarse y quedar inutilizables. Con el reciclaje se mantiene el grupo de servicios actualizado y se eliminan del ciclo los servicios obsoletos o inutilizables.
Durante el reciclaje, el servidor destruye y, después, vuelve a crear cada instancia utilizando la configuración de servicios. El reciclaje se produce como un proceso en segundo plano en el servidor. Aunque en la pantalla no aparece ningún mensaje que notifique la realización del reciclaje, puede ver los eventos asociados con el reciclaje en los archivos de registro.
El reciclaje destruye y vuelve a crear todas las instancias en ejecución de un servicio, independientemente de si esas instancias se encuentran o no por encima del mínimo especificado. Para devolver periódicamente el número de instancias en ejecución al mínimo especificado, el servicio deberá detenerse y reiniciarse. Para automatizar este proceso se puede crear un script de lote de Windows, de capa o de Python que ejecute un archivo ejecutable de línea de comandos API administrativos de ArcGIS Server personalizado. Este archivo ejecutable personalizado tomará el nombre del servidor, el nombre del servicio, el tipo del servicio y si el servicio debe iniciarse o detenerse como argumentos de la línea de comandos.
El tiempo transcurrido entre los eventos de reciclaje es el intervalo de reciclaje. El intervalo de reciclaje predeterminado es de 24 horas, que puede cambiar en el cuadro de diálogo Editor del servicio. También puede elegir el tiempo que la configuración se reciclará inicialmente. A partir de esa hora, el reciclaje se producirá cada vez que se alcance el intervalo de reciclaje.
Los servicios reciclan una instancia a la vez para garantizar que siempre hay instancias disponibles y para extender los accesos de rendimiento causados por la creación de una nueva instancia de cada servicio. El reciclaje se produce de forma aleatorio; sin embargo, las instancias de los servicios en uso por parte de los clientes no se reciclan hasta que se liberan. De esta forma, el reciclaje se produce sin tener que interrumpir al usuario de un servicio.
Si no hay suficientes instancias disponibles durante el reciclaje, se pone en cola una solicitud hasta que esté disponible una instancia. Si el tiempo máximo de espera del servicio se alcanza durante este período, los registros registran el mismo mensaje que harían normalmente.
Buscar conexiones de datos no válidas
Cuando una instancia de servicio se encuentra inactiva, puede resultar difícil para un administrador del servidor determinar si las conexiones con los datos de origen se mantienen correctamente. ArcGIS Server tiene mecanismos integrados para comprobar las conexiones no válidas a las geodatabases corporativas. Con estas comprobaciones se evita que el servicio deje de responder después de que una conexión con la base de datos se elimine o se interrumpa.
Nota:
La compatibilidad de la comprobación de conexiones de datos no válidas no incluye las geodatabases de archivos.
Puede habilitar las comprobaciones de validez de la conexión de datos abriendo la pestaña Procesos del cuadro de diálogo Editor del servicio en ArcGIS Desktop o Manager y marcando la casilla de verificación Comprobar periódicamente y reparar las conexiones de datos para instancias inactivas. También es necesario especificar un intervalo en minutos en el que se validarán automáticamente las conexiones de servicio (y se repararán si fuera necesario). El valor predeterminado de 30 minutos se considera adecuado.
Habilitar estas comprobaciones también le puede ayudar en el caso de que el firewall cierre los puertos en geodatabases corporativas después de que los servicios permanezcan inactivos durante un determinado período de tiempo. En esta situación, la elección del intervalo de tiempo puede estar influenciada por los ajustes del tiempo de espera del firewall.
Tiempos de espera
La comprensión de los distintos valores de tiempo de espera del servicio disponible puede ayudarle a mantener sus servicios funcionando y disponibles. Estos valores están disponibles en la pestaña Agrupación del cuadro de diálogo Editor de servicio.
Una vez un cliente obtiene una referencia a un servicio, utiliza el servicio durante un período de tiempo antes de liberarlo. La cantidad de tiempo transcurrido desde que un cliente obtiene la referencia de un servicio y hasta que éste es liberado es el tiempo de uso. Para asegurarse de que los clientes no mantienen las referencias a los servicios durante demasiado tiempo (por ejemplo, en caso de que no liberen los servicios correctamente), cada servicio tiene un tiempo máximo que el cliente puede utilizar. Si un cliente retiene un servicio durante un tiempo de uso mayor que el permitido, el servicio será liberado automáticamente y el cliente perderá su referencia al servicio.
Explorar:
Cuando cree un nuevo servicio, el valor predeterminado para el tiempo de uso máximo es 600 segundos (10 minutos). Sin embargo, en el servicio PublishingTools generado previamente que viene con cada sitio de ArcGIS Server, el tiempo máximo de uso ha sido establecido en 3600 segundos (60 minutos). Esto es para acomodar los trabajos de publicación que tienen lotes de datos copiados en el servidor.
El tiempo de uso máximo también evita que los servicios se utilicen para procesar volúmenes de trabajo más elevados que los previstos por el administrador. Por ejemplo, un servicio utilizado por una aplicación que realice comprobaciones de geodatabases puede tener un tiempo de uso máximo de 10 minutos. En cambio, un servicio con una capa que solo se utiliza para dibujar mapas en una aplicación puede tener un tiempo de uso máximo de 1 minuto.
Cuando el número máximo de instancias de un servicio está en uso, el cliente que solicita un servicio se envía a la cola hasta que otro cliente libere uno de sus servicios. La cantidad de tiempo transcurrido entre la solicitud de un servicio por parte de un cliente y la obtención del mismo se llama tiempo de espera. Cada servicio tiene un tiempo máximo durante el que un cliente esperará para obtener un servicio. Si se supera el tiempo de espera máximo de un cliente para un servicio, la solicitud se interrumpe.
Un tercer tiempo de espera dicta el tiempo máximo que una instancia inactiva se puede mantener en ejecución. Cuando los servicios dejan de utilizarse, se mantienen en ejecución en el servidor hasta que otro cliente necesita la instancia. Una instancia en ejecución que aún no se encuentra en uso consume memoria en el servidor. Puede minimizar el número de servicios en ejecución y conservar así la memoria acortando el tiempo de espera inactivo, el valor predeterminado es de 1.800 segundos (30 minutos). El tiempo de espera inactivo de corta duración tiene el inconveniente de que cuando todos los servicios en ejecución se interrumpen, los siguientes clientes tendrán que esperar a que se creen nuevas instancias.
Cuando se crean las instancias de los servicios en el servidor SIG, ya sea como resultado del inicio del servidor o en respuesta a una solicitud de servidor por parte de un cliente, el tiempo necesario para inicializar la instancia del servicio se denomina hora de creación. El servidor SIG incluye un tiempo de espera de inicio que indica la cantidad de tiempo que puede transcurrir en un intento de inicio antes de que el servidor SIG asuma que el inicio está suspendido y cancele la creación de la instancia del servicio. El valor predeterminado es 300 segundos (5 minutos).
El servidor SIG incluye las estadísticas tanto en memoria como en los registros acerca del tiempo de espera, tiempo de uso y otros eventos que se producen dentro del servidor. El administrador del servidor puede utilizar estas estadísticas para determinar si, por ejemplo, el tiempo de espera de un servicio es muy elevado, lo que podría indicar que es necesario aumentar el número máximo de instancias para dicho servicio.
Puede haber tiempos de espera adicionales en su arquitectura que creen discrepancias entre los valores de tiempo de espera del servicio especificados y los tiempos de espera reales experimentados por los clientes. Por ejemplo, el servidor Web que aloja ArcGIS Web Adaptor o un balanceador de carga de red puede imponer tiempos de espera que afecten a sus servicios.
Nota:
Si su sitio se encuentra bajo una carga muy pesada, se prevén discrepancias entre los valores de tiempo de espera especificados y los tiempos de espera hallados por los clientes.
Limitar lo que pueden hacer los usuarios con un servicio
Para facilitar el control del uso de sus servicios Web, cada tipo de servicio tiene un conjunto de operaciones permitidas. Cada operación está formada por un conjunto de métodos que se puede habilitar o deshabilitar como grupo. Los clientes del servicio Web solo pueden realizar llamadas a los métodos de las operaciones para las que dispongan de permiso.
Supongamos que permite el consumo de un servicio Web de representación cartográfica para trazar el mapa pero no para consultar las fuentes de datos de las capas del mapa. En este caso, tendrá que deshabilitar la operación de datos y asegurarse de que se permite utilizar la operación Mapa.
Los servicios de entidades son de especial interés en este debate porque se utilizan para realizar la edición de los datos SIG basada en la Web. Los servicios de entidades tienen un conjunto adicional de operaciones que se pueden utilizar para restringir las funciones de edición. Puede habilitar o deshabilitar estas en la pestaña Acceso a entidades del cuadro de diálogo Editor del servicio en ArcGIS Desktop. También puede evitar que los usuarios editen entidades que no había creado originalmente al hacer cumplir el control de acceso basado en la propiedad.
Consulte la sección Tipos de servicios de la sección de la ayuda para obtener información sobre las operaciones permitidas en los distintos tipos de servicios.