Les flux de données personnalisés sont une fonctionnalité d’ArcGIS Enterprise qui permet à un développeur de créer et de publier des services Web à partir de sources de données qui ne sont pas prises en charge en mode natif par ArcGIS. Les données accessibles via un flux de données personnalisé sont présentées sous forme de point de terminaison REST de service d’entités et peuvent être envoyées aux clients Web, aux applications de bureau et aux applications de terrain ou à tout autre client REST. Voici des scénarios où l’utilisation d’un flux de données personnalisé peut être judicieuse :
Les flux de données personnalisés utilisent l’outil de ligne de commande cdf fourni avec ArcGIS Enterprise SDK. L’outil vous permet d’utiliser JavaScript pour créer et tester des fournisseurs de données personnalisés qui extraient les données de vos sources de données. Il intègre également votre code dans des fichiers de paquetage de données personnalisées qui peuvent être utilisés pour inscrire les fournisseurs de données auprès d’ArcGIS Server. Une fois inscrites, vos données peuvent être mises à la disposition des clients ArcGIS sous la forme de services d’entités faisant référence à vos fournisseurs de données.
Les flux de données personnalisés peuvent être utilisés par n’importe quel client en tant que services HTTP REST et sont spécifiquement conçus pour prendre en charge les clients ArcGIS existants, où l’utilisateur peut interagir avec les données d’un flux personnalisé, créer des fenêtres contextuelles, voire soumettre des modifications d’entités, sans déterminer que le service est basé sur une source de données externe ou tierce.
Les flux de données personnalisés ne peuvent être créés que dans ArcGIS Enterprise. Ils peuvent être utilisés dans ArcGIS Pro et dans les applications Web d’ArcGIS Enterprise et ArcGIS Online.
| Fonctionnalité | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| Flux de données personnalisés | N/D |
Prise en charge complète Prise en charge partielle
Lors du développement d’une intégration de flux de données personnalisés, tenez compte de ces bonnes pratiques :
Gérez attentivement les requêtes de données plus importantes : la pagination, les grandes tailles de requête et les délais d’attente pour la sérialisation ou la conversion peuvent tous entraîner une dégradation des performances d’un flux de données personnalisé si le jeu de données interrogé est trop volumineux. Si la source de données ou l’API distante prend en charge l’indexation, les filtres basés sur les attributs ou les filtres spatiaux, la logique peut être écrite dans le flux de données personnalisé pour traduire les paramètres de requête entrants de la couche d’entités (comme une étendue) en requêtes optimisées vers le système back-end.
Bien que les flux de données personnalisés implémentent un point de terminaison de service d’entités que la plupart des applications ArcGIS peuvent utiliser, faites preuve de discernement lors du test des applications prévues pour votre système : certaines applications envoient des requêtes complexes ou attendent des fonctionnalités supplémentaires d’un service d’entités, et peuvent ne pas fonctionner parfaitement avec des flux de données personnalisés. Consultez la documentation REST API et collaborez avec Esri pour comprendre les limitations spécifiques à votre processus, votre flux de données personnalisé et votre fournisseur.
N’incluez que les attributs nécessaires dans un flux. Bien qu’une source de données ou une API distante puisse fournir un grand nombre d’attributs, n’incluez que ceux qui sont nécessaires dans la réponse aux clients ArcGIS pour optimiser les performances.
Utilisez les bibliothèques NodeJS existantes lorsque cela est possible. Si l’API ou le service distant est accessible via une bibliothèque ou un module NodeJS connu, par exemple depuis npm, utilisez ces modules et maintenez-les à jour, car ils implémenteront souvent les dernières normes de sécurité et d’authentification pour ce système distant. Ces modules peuvent être développés par les fournisseurs (comme le module arcgis-rest-js géré par Esri) ou gérés par une communauté open source.
Les flux de données personnalisés attendent un identifiant basé sur des nombres entiers pour chaque enregistrement. Si possible, incluez-le dans la structure back-end ou générez-le, afin d’éviter un scénario où le CDF doit générer un ID, ce qui peut entraîner une incohérence lors de l’utilisation de certaines applications ArcGIS.