Présentation rapide des services ArcSDE
Cette rubrique explique le fonctionnement d'un service ArcSDE et ce qui se produit lorsqu'un client se connecte à l'aide d'un service ArcSDE.
Fonctionnement du service ArcSDE
Quand vous vous connectez à la base de données avec un service ArcSDE (aussi appelé un serveur d'applications ArcSDE), chaque service ArcSDE écoute les connexions utilisateur sur un numéro de port et un nom de service TCP/IP dédiés, par l'intermédiaire du processus giomgr. Le nom du service par défaut est esri_sde et le numéro de port par défaut est 5 151.
Sur les systèmes UNIX ou Linux, le nom du service et le numéro de port se trouvent dans le fichier $SDEHOME/etc/services.sde. Pour en savoir plus sur ce fichier, reportez-vous à la rubrique Le fichier services.sde.
Sur les systèmes Windows, le service ArcSDE est créé comme un service Windows au cours de la configuration post-installation d'ArcSDE. Ce service ArcSDE est configuré pour démarrer automatiquement quand l'hôte serveur est relancé. Comme tous les services Windows, le service ArcSDE se démarre et s'arrête dans le menu des services Windows. L'assistant de post-installation saisit automatiquement le nom du service et le numéro de port pour le nom du service par défaut dans le registre, ainsi que dans les fichiers des services Windows et ArcSDE.
La plupart des systèmes de gestion de bases de données (SGBD) pris en charge permettent d'avoir plus d'une base de données sur un serveur. Chaque base de données doit disposer de son propre service ArcSDE, mais plusieurs connexions client à la base de données peuvent être établies à l'aide de ce service ArcSDE.
Que se passe-t-il lorsqu'une application cliente se connecte en utilisant un service ArcSDE ?
La séquence d'événements suivante se produit lorsqu'une application cliente ArcSDE se connecte à une géodatabase ArcSDE à l'aide d'un service ArcSDE.
-
Le processus giomgr écoute les connexions sur son port TCP/IP.
Le giomgr doit être à l'écoute pour pouvoir traiter une demande de connexion. Assurez-vous que vous avez démarré le service ArcSDE et qu'il est à l'écoute. Sous UNIX et Linux, utilisez la commande sdemon –o status pour déterminer l'état du processus giomgr.
Sous Windows, examinez l'état du service de l'application ArcSDE dans le menu Services. Ouvrez les outils d'administration Windows. Double-cliquez sur l'icône Services pour invoquer le menu correspondant. Le statut du service ArcSDE doit être STARTED sous la zone d'état. Sous Windows, vous pouvez également utiliser la commande sdemon –o status à partir d'une commande MS-DOS au lieu du menu Services.
-
Les applications soumettent des demandes de connexion au service ArcSDE.
Le processus giomgr répond de façon sérielle aux demandes de connexion. Selon le SGBD sous-jacent, le processus giomgr prend de 1 à 5 secondes pour valider une demande de connexion. Lorsque de nombreuses applications essaient d'obtenir une connexion ArcSDE en même temps, il arrive parfois que le délai d'expiration standard TCP/IP de 75 secondes soit dépassé.
-
Le giomgr compare le temps horloge de l'ordinateur avec le temps horloge de son hôte.
Si la différence entre le temps horloge de l'ordinateur d'application et le temps horloge du serveur est supérieure à la valeur MAXTIMEDIFF en secondes, le processus giomgr ne laisse pas l'application se connecter. MAXTIMEDIFF est défini dans la table SERVER_CONFIG. Reportez-vous à la rubrique Le fichier giomgr.defs et la table système SERVER_CONFIG pour en savoir plus.
-
Le giomgr compare la version de l'application cliente avec la version du service ArcSDE.
Si la version de l'application cliente est antérieure à celle du serveur d'applications, la connexion est refusée, sauf dans le cas de clients ArcGIS 9.2 SP5 ou de clients 9.2 disposant de Service Packs ultérieurs. En général, les applications ArcSDE sont à compatibilité descendante. Par exemple, les applications développées avec l'interface de programmation d'applications (API) d'ArcSDE 9.2, comme ArcGIS Desktop 9.2, peuvent se connecter aux géodatabases ArcSDE version 9.1 ou antérieure avec un service ArcSDE. Les applications créées avec une version antérieure d'API ArcSDE ne peuvent pas se connecter aux serveurs d'applications ArcSDE 9.2. Par exemple, ArcGIS Desktop 9.0 ne peut pas se connecter à une géodatabase ArcSDE 9.2. Reportez-vous au site de support technique ESRI pour les versions d'ArcSDE prises en charge.
-
Le processus giomgr lance un processus gsrvr qui diffuse l'application.
Le processus giomgr doit être capable d'engendrer un processus gsrvr. Si le nombre maximal de processus déterminé par les restrictions du système d'exploitation a été atteint, cette opération échoue et aucun processus gsrvr n'est créé.
-
Le processus gsrvr se connecte au SGBD.
L'application cliente doit fournir un nom d'utilisateur, un mot de passe et un nom de base de données valides (le nom de la base de données n'est pas nécessaire pour les SGBD Oracle) lorsqu'elle soumet la demande de connexion au processus giomgr. Les entrées incorrectes sont rejetées et une erreur -9 SE_INVALID_USER s'affiche.
-
Le processus giomgr relie l'application au processus gsrvr.
Une fois que le processus giomgr a relié l'application au processus gsrvr, il continue à écouter les nouvelles connexions et à effectuer d'autres tâches de gestion du service ArcSDE. Toute la communication de l'application avec le SGBD passe par le processus gsrvr.