Pratiques de codage concernant l'extension d'objets serveur
La création d'une extension d'objet serveur (SOE) de service de carte ou d'imagerie implique habituellement la rédaction du code qui met en œuvre des interfaces requises et exécute votre logique métier. Si vous travaillez dans Java, vous pouvez commencer par créer une extension d'objet serveur à l'aide d'un assistant de plug-in Eclipse. Si vous travaillez dans .NET, vous démarrerez dans Visual Studio avec un projet de modèle. Avec l'assistant et les modèles, vous avez la garantie que votre extension d'objet serveur implémente les interfaces requises et qu'elle peut répondre à des appels de service Web REST ou SOAP à l'aide des classes de SOESupport.
Pour ce faire, reportez-vous aux instructions relatives aux codages d'extensions SOE disponibles dans le SDK ArcObjects :
- Aide pour l'écriture d'extensions d'objet serveur Java
- Aide pour l'écriture d'extensions d'objet serveur .NET
Il est également possible de créer une extension d'objet serveur en langage C++ sous Windows ; un échantillon est inclus dans le SDK ArcObjects .NET pour C++.
Utilisation des services de carte
Les extensions d'objet serveur ne sont prises en charge que pour étendre des services d'imagerie et de carte. Les services de carte et d'imagerie utilisent un fichier de définition de service et n'accèdent pas directement à un document ArcMap (MXD). Par conséquent, vous devez éviter certaines classes, et en préférer d'autres, lors de la rédaction d'extensions d'objet serveur.
Les objets ArcObjects de la bibliothèque Carto étant conçus spécialement pour être utilisés avec des fichiers MXD, il est conseillé de les éviter. Il s'agit notamment d'IMap, ILayer et des éléments liés aux blocs de données et aux mises en page. Utilisez plutôt des objets ArcObjects conçus pour les services de cartes, tels que MapServer, MapLayerInfos et MapDescription. Utilisez l'interface IMapServerDataAccess pour accéder aux jeux de données sous-jacents à chaque couche de votre carte.
L'utilisation des bibliothèques qui ne sont pas directement associées au document ArcMap, telles que ESRI.ArcGIS.Geometry et ESRI.ArcGIS.Geodatabase pour .NET ou com.esri.arcgis.geometry et com.esri.arcgis.geodatabase pour Java, est toujours autorisée dans les extensions d'objets serveur.
Création d'un fichier .soe
Depuis la version ArcGIS 10.1 for Server, les extensions d'objet serveur sont encapsulées dans un fichier .soe. Si vous utilisez .NET, le fichier .soe est créé lors de la génération de votre projet à partir du modèle SOE. Si vous utilisez Java, la création du fichier .soe s'effectue à l'aide d'un assistant intégré dans Eclipse. Le fichier .soe contient toutes les informations nécessaires pour inscrire votre extension auprès d'ArcGIS Server.