Qu'est-ce qu'une extension d'objet serveur ?

Les extensions d'objet serveur (SOE) vous permettent d'étendre les fonctionnalités de base des services de carte et d'imagerie d'ArcGIS for Server. Aucun autre type de service n'est pris en charge. La plupart des SOE utilisent du code ArcObjects pour travailler avec les données et cartes SIG. Les objets ArcObjects sont les composants principaux sur lesquels ArcGIS est conçu. Ils vous permettent d'écrire des fonctions SIG avec la plus grande souplesse.

Les SOE sont appropriés si vous devez exécuter une logique métier bien définie ne pouvant pas facilement être accomplie à l'aide des API Web ArcGIS. Les SOE présentent les avantages suivants :

Vous pouvez développer une extension d'objet serveur pour présenter des fonctionnalités ArcObjects non disponibles autrement ou devant être exécutées très rapidement.

Les SOE sont destinées aux développeurs expérimentés et requièrent une connaissance de plusieurs plates-formes de développement. Le SDK ArcObjects pour Java contient plusieurs exemples de SOE que vous pouvez examiner.

Précisions à connaître pour le développement d'une extension d'objet serveur

Pour développer une extension d'objet serveur, vous devez pouvoir utiliser ArcObjects via Java Cela nécessite également de comprendre les principes REST ou SOAP.

En outre, si vous souhaitez rédiger des pages de propriétés personnalisées pour vos extensions d'objets serveur en plus des pages générées automatiquement, vous devez avoir des connaissances en matière de Java Swing (pour les pages ArcCatalog) ou de développement de formulaires Web en langage HTML (Hypertext Markup Language) et JavaScript (pour les pages du gestionnaire).

Avez-vous besoin d'une extension d'objet serveur ?

Les SOE peuvent requérir la connaissance du développement de services Web et ArcObjects et elles doivent passer par un processus de déploiement pour être mises à disposition sur votre serveur. Avant de développer une extension d'objet serveur, envisagez de choisir d'autres options plus simples.

L'alternative la plus simple au développement d'une extension d'objet serveur peut consister à créer un modèle de géotraitement exécutant votre logique métier et à le publier en tant que service. Vous pouvez utiliser ModelBuilder pour glisser-déplacer et connecter les outils nécessaires de manière interactive plutôt que d'écrire du code ArcObjects. Les services de géotraitement vous permettent également de procéder à une exécution asynchrone. Vous pouvez alors lancer une tâche, passer à autre chose et y revenir plus tard pour vérifier les résultats.

L'un des inconvénients des services de géotraitement réside dans leur impact relativement important sur la mémoire. De plus ils peuvent s'exécuter plus lentement que les extensions d'objet serveur. Si vous n'exécutez un processus que quelques fois par jour, cela ne pose pas de problème. En revanche, si vous exécutez un processus de nombreuses fois par jour, ou si beaucoup d'utilisateurs l'exécutent simultanément, il peut valoir la peine de prendre le temps de créer une extension d'objet serveur.

De nombreux développeurs ont écrit du code ArcObjects pour différentes tâches qui sont désormais accessibles sans ArcObjects. Pour en savoir plus sur la résolution de problèmes de cartographie Web sans recours à l'utilisation d'ArcObjects, reportez-vous à la rubrique Alternatives aux extensions d'objet serveur.

6/13/2014