Le blog francophone consacré
aux technologies Esri

DevSummit 2019: Un résumé des principales annonces

A l'occasion de la Partner Conference et du Developer Summit Esri qui ont eu lieu la semaine dernière à Palm Springs, les équipes d'Esri ont pris le temps d'échanger et d'écouter les feedbacks des partenaires et des développeurs mais aussi de présenter la stratégie technologique à court et moyen termes du système ArcGIS. Beaucoup d'annonces ont donc été faites durant la session plénière et la centaine de workshops qui ont suivi. Je vous propose d'en faire une (longuesynthèse qui ne sera évidement pas exhaustive et, pour toutes les infos de road map, soumise à d'éventuels changements.

    
  
Durant la session plénière du DevSummit, avant de s'adresser plus spécifiquement aux développeurs, Sud Menon (Directeur Dévelopement Produit chez Esri) a pris le temps de repositionner ce qu'est aujourd'hui le Cloud Geospatial Esri. Au delà du noyau d'applications SIG traditionnels, Esri propose un écosystème complet d'APIs et de SDKs dédié aux développeurs. Ce dernier s'appuie sur un socle de fonctionnalités de cartographie et traitement de données géospatiales (Mapping and Location) accessible à travers une interface Rest dont les spécifications sont ouvertes. Ces capacités sont utilisées par les développeurs d'applications personnalisées mais aussi par Esri pour proposer des applications qui permettre d'intégrer de la "géo" dans d'autres métiers de l'organisation (planification urbaine, BI, bureautique, PAO, collaboration citoyenne, mobilité indoor, ...) qui ne sont pas des utilisateurs SIG mais qui ont besoin d'accéder au SIG. 
  
        
 
Développer avec ArcGIS

Le DevSummit est avant tout un rendez-vous de développeurs, d'architectes/administrateurs de SI et de data-scientists. Cette conférence est donc essentiellement orientée vers les outils de développement et les composants serveur du système ArcGIS.

  
Les options permettant de créer de nouvelles applications ou d'étendre les applications ArcGIS existantes sont bien établies depuis quelques années maintenant:
  • Automatiser et personnaliser des géotraitements avec des scripts Python réalisés à l'aide les modules ArcPy.
  • Etendre d'ArcGIS Pro avec des Add-In développés avec le SDK .Net d'ArcGIS Pro.
  • Automatiser des tâches d'administration et d'analyse des portails ArcGIS avec des scripts Python réalisés avec l'API Python ArcGIS.
  • Etendre du générateur d'applications web (Web AppBuilder for ArcGIS) avec l'API JavaScript ArcGIS.
  • Développer des 'applications web personnalisées avec l'API JavaScript ArcGIS.
  • Etendre le générateur d'applications natives (AppStudio for ArcGIS) avec le SDK ArcGIS Runtime for Qt/QML
  • Développer des applications natives personnalisées avec les SDKs ArcGIS Runtime (iOS, Android, .Net, Java, Qt).
   
      
Bien que les options de développement restent les mêmes, beaucoup de choses ont évolué pour les développeurs depuis le dernier DevSummit, aussi bien en termes de capacités technologiques que d'accessibilité à ces technologies.

Avec le nouveau programme d'abonnement ArcGIS for Developer, un modèle de prix plus simple et accessible permet aux développeurs d'intégrer progressivement, selon leur besoin, les capacités des APIs et SDKs du système ArcGIS.
 
    
En termes d'outils, une refonte complète du site développeur permet un accès rapide et efficace aux ressources documentaires de chaque APIs et SDKs ArcGIS dont la richesse (living atlas, geoenrichment, routing, geocoding, trafic, geoprocessing, ...) est tout simplement incomparable dans le domaine du géospatial.
 
 
Un nouveau tableau de bord permet à chaque développeur de gérer les contenus qu'il héberge sur ArcGIS Online, des applications déployées, des licences et des crédits à travers une interface unique.


Sur le plan des capacités fonctionnelles, quelques points clés ont été soulignés par Esri lors de la plénière du DevSummit pour rappeler que les capacités suivantes sont gratuites et illimitées pour les développeurs d'applications ArcGIS:

  • l'usage des APIs et des SDKs, 
  • la publication, le stockage (dans une certaine limite de volumétrie) et la consommation de services web, 
  • la consommation et la personnalisation des fonds de cartes mondiaux Esri et OSM,
  • l'accès à l'imagerie mondiale d'Esri,
  • l'accès aux données thématiques du Living Atlas,
  • l'usage du GeoSearch (localisation par géocodage),
  • ...

Esri a également annoncé la disponibilité en tuiles vectorielles de la basemap OSM actualisée très régulièrement (au moins 2 fois par mois) pour prendre en compte les mises à jour continues de ce fond de carte. Associé à ces fonds de carte vectoriels, Esri a rappeler la disponibilité du Vector Tiles Style Editor depuis l'interface du site développeur. De nombreuses évolutions technologiques ont également été mises en avant sur la richesse des fonctionnalités de représentation cartographiques d'analyse spatiale, de machine learning, de deep learning et la diversités des plateformes adressées par les APIs et SDKs ArcGIS.

Différents focus ont été fait lors de la plénière sur certaines caractéristiques uniques des APIs et SDKs ArcGIS. On pourra citer la facilité aujourd'hui de développer des applications 2D et 3D dans un environnement unique et homogène ou encore la simplicité de construire des applications fonctionnant en mode connecté et/ou déconnecté pour répondre à la variété des workflows d'une organisation.

Un autre aspect important rappelé lors de plusieurs ateliers techniques concerne la performance d'accès, d'interrogation et d'affichage de grosses volumétries de données, en particulier sur les couches d'entités en 2D comme en 3D. Plusieurs évolutions récentes (sur lesquelles je reviendrai prochainement sur ce blog) comme le mécanisme de tuilage à la volée, la quantisation, l'usage d'HTTP/2 ou encore le support du format pbf sont désormais combinés pour des gains de performances remarquables.
 
 
ArcGIS 10.7 au coeur de l'actualité

Globalement, le thème principal et l'actualité de ce DevSummit 2019 c'est l'arrivée de la version 10.7 d'ArcGIS. Celle-ci sera disponible avant la fin de ce mois. Dans le même temps, une mise à jour d'ArcGIS Online sortira ainsi que la version 4.11 de l'API JavaScript et la version 100.5 d'ArcGIS Runtime. Cette version 10.7 sera suivie d'une version 10.7.1 début juillet.

   
ArcGIS 10.7 est une version majeure pour ArcGIS Enterprise avec de très nombreuses évolutions fonctionnelles aussi bien sur le coeur (GIS Server) que pour certains rôles serveur (GeoEvent, GeoAnalytics, Image Server notamment).


Le portail ArcGIS

On notera tout d'abord l'intégration dans le portail d'ArcGIS Enterprise des récentes évolutions apportées au portail ArcGIS Online concernant le support des nouveaux types d'utilisateurs (Viewer, Editor, Field Worker, Creator, Professional), les évolutions des interfaces utilisateurs, les filtres spatiaux pour les vues sur les couches d'entités hébergées ou encore les capacités d'extraction de zones de cartes pour les usages "offline".

ArcGIS Enterprise 10.7 proposera le support de Webhooks sur certains événements du portail. Ceci  permet le déclenchement et le traitement d'événements spécifiques lors, par exemple, de la création ou de la modification d'éléments, d'utilisateurs ou de groupes du portail.
 
  

Le GIS Server

Le GIS Server continue aussi à évoluer en version 10.7 avec le nouveau concept de "Shared Instances" qui permettra à plusieurs Map Service ou Feature Service de partager les mêmes processus ArcSOC. ArcGIS Enterprise 10.7 supportera le format PBF pour les services d'entités publiés depuis ArcGIS Pro. On pourra également signalé l'ajout d'un "Request ID" pour toutes les requêtes envoyées au serveur, permettant ainsi un filtrage plus fin dans les fichiers de logs d'ArcGIS Enterprise.

En termes de collaboration entre portails, il sera désormais possible de mettre en pause puis de réactiver des collaborations. A partir de la version 10.7, celles-ci supporteront les éléments de l'application "Insights for ArcGIS" (Classeurs, Pages).

ArcGIS Pro pourra désormais être utilisé pour publier, via Python, des services web sur un ArcGIS Server autonome.
              
GeoAnalytics Server

Le rôle serveur GeoAnalytics Server évolue également de manière significative en version 10.7. Au delà des améliorations de stabilité et de performance, ce sont 7 nouveaux outils qui ont été ajoutés (Clip Layers, Describe Dataset, Dissolve Boundaries, Enrich from Multi-Variable Grid, Forest-based Classification and Regression, Generalized Linear Regression, Merge Layers). Ces outils complètent ceux introduits en version 10.6.1 (Append Data, Build Multi-Variable Grid, Overlay Layers, Find Point Clusters). Une autre nouveauté importante, un outil plus générique "Run Python Script" permet désormais de déployer, dans l'environnement de traitement parallélisé de Big Data ArcGIS, des scripts Python personnalisés. Ceci pourra aussi permettre d'enchaîner plusieurs outils de base de GéoAnalytics.

GeoAnalytics Server 10.7 permet d'écrire les résultats de son traitement dans un BigData File share (en plus du Data Store et du Spatio-Temporal BigData Store).

De nombreuses autres évolutions arriveront dans GeoAnalytics en version 10.7.1 comme le support de bases de données relationnelles (Oracle, PostgreSQL et SQL Server) mais aussi de nouvelles sources de données comme HBase, Accumulo ou Google Cloud Storage. Pour mémoire, GeoAnalytics supporte déjà de nombreuses sources de données (csv, tsv, parquet, orc, shapefiles, HDFS, Hive, Amazon S3 buckets, Azure Blob Store et Azure Data Lake).
   
GeoEvent Server
 
GeoEvent continue d'évoluer en version 10.7 avec un gros effort apporté à l'interface utilisateur et à la documentation. Les utilisateurs disposeront désormais d'une aide contextuelle lors du paramétrage des processors (comme dans les outils d'ArcGIS Pro par exemple).
 
   
On notera également l'arrivée de 6 nouveaux processors: Event Joiner, Bearing Calculator, Range Fan, Calculator, Event Volume Controller, Feature to Point, Add XYZ Values

Enfin, un dernier point important, GeoEvent 10.7 permettra d'exporter facilement tout ou partie d'une couche d'entités du SpatioTemporal Big Data Store vers des Cloud Data Store (Amazon, Azure) sous la forme d'un fichier .
   
Autres évolutions en 10.7

On notera également l'arrivée de nouvelles capacités importantes font leur apparition dans ArcGIS Enterprise 10.7:
  • Un nouveau rôle serveur "ArcGIS Notebook Server" qui permettra l'exécution de script Python dans une interface Jupyter Notebook intégrée au portail. Ces derniers pourront utiliser l'ensemble de l'API Python ArcGIS, les modules ArcPy et des librairies Python externes (Data-science, Machine Learning, Deep Learning, ...), tout cela en mode serveur.


       
  • Une nouvelle application premium nommée "Tracker for ArcGIS" permettra le suivi d'appareil mobile, ainsi que le stockage, la gestion et l'analyse des traces des utilisateurs suivis. Une application mobile Android et iOS sera disponible ainsi qu'une application web d'hypervision exploiteront ces nouvelles capacités du serveur.
     

        
  • Une nouvelle application web premium nommée "ArcGIS Excalibur" permettra la gestion et l'analyse de services d'imagerie en exploitant tout le potentiel d'Image Server.

    
Autres évolutions à plus long terme
  
Esri a confirmer son projet de R&D consistant à proposer une nouvelle architecture pour ArcGIS Enterprise, basée sur des microservices exécutés sur des containers (Docker) géré par un système d'orchestration (Kubernetes). Cette dernière ne remplacera pas l'architecture existante, il s'agira d'une option supplémentaire de déploiement (un peu comme si ArcGIS Enterprise supportait "un troisième OS") et qui supportera exactement les mêmes fonctionnalités d'ArcGIS Enterprise. A l'heure actuelle, Esri estime pouvoir proposer une version beta de cette nouvelle architecture dans la deuxième moitié de l'année prochaine.
  

Machine Learning et Deep Learning à l'honneur 

Les utilisateurs d'ArcGIS les plus exigeants en termes d'analyse de données connaissent les différentes capacités de Machine Learning dont ArcGIS (Desktop et Enterprise) disposent depuis de nombreuses années et qu'Esri complète à chaque version. Ces outils de Machine Learning se classent en 3 grandes familles: Classification, Clustering et Prediction.


Aujourd'hui Esri continue d'investir en R&D sur ces 3 familles d'outils de Machine Learning mais aussi sur des capacités de Deep Learning.
 
Outils de Machine Learning et deDeep Learning d'ArcGIS 10.7 / Pro 2.3
  
Concernant le Deep Learning, la stratégie consiste à proposer une solution complète mais ouverte . Cela consiste tout d'abord à tirer profit d'ArcGIS Pro pour la préparation des données (intégration, exploration, nettoyage, ...) et la génération des données d'apprentissage (outil "Export Training Sample"). Le Data-Scientist peut alors utiliser les outils et frameworks de son choix (CNTK, PyTorch, TensorFlow,  Keras) pour paramétrer et entrainer son modèle de Deep Learning. De nouvelles capacités d'ArcGIS permettent ensuite d'utiliser directement ces modèles dans l'environnement pour les inférer à de nouvelles images. Ceci peut désormais se faire depuis ArcGIS Pro 2.3 ou ArcGIS Enterprise 10.7 à l'aide notamment des nouveaux outils "Classify Pixels Using Deep  Learning" et "Detect Objects Using Deep Learning".


Des intégrations avec d'autres frameworks de Deep Learning peuvent également se faire via l'API Python ArcGIG, via ArcPy ou encore à l'aide de R-ArcGIS Bridge. Plusieurs ateliers techniques sur le sujet durant la semaine ont montré des cas d'usages très intéressant autour de l'analyse d'images ou de vidéo: comptage de piétons, comptage de véhicules, détection de changement, détection de contours de bâtiments, détection automatique d'arbres, recherche d'équipement ou de type de végétation spécifique, estimation de dégâts sur des bâtiments, occupation des sols à haute-résolution, détection automatique de fissures sur des voies à l'aide de vidéos, recherche de sites cibles, détection de piscines, comptage de places de parking disponibles,...


 
Python is everywhere !

Depuis de très nombreuses années, Esri encourage ses utilisateurs à prendre en main le langage Python pour automatiser et personnaliser leurs tâches dans ArcGIS. Ce choix technologique est largement confirmé aujourd'hui en continuant à se généraliser dans différentes composantes de la plateforme géospatiale d'Esri. Au delà de l'environnement de géotraitement (ArcPy) et de l'API Python ArcGIS qui permet de piloter l'ensemble de votre SIG Web, Python peut désormais être utilisé pour connecter ArcGIS à toute la sphère des librairies ouvertes de Data Science et de Machine Learning. Python pourra également être utilisé pour déployé vos propres scripts de géotraitement dans GeoAnalytics Server, l'environnement de traitement parallélisé de Big Data d'ArcGIS, via le package PySpark intégré en version 10.7. La création de "raster functions" personnalisées dans Image Server pourra dorénavant se faire avec l'API Python ArcGIS.
 
 
IoT et Temps-Réel à la portée de tous

GeoEvent Server est la solution qui offre à votre serveur SIG la possibilité de collecter des flux de données temps-réel en entrée (géographiques ou non), de les traiter à la volée (filtrage,  découpage, agrégation, enrichissement, géolocalisation, ....), puis de les diffuser vers des flux en sortie (messages, services web de données temps-réel, archivage en fichiers ou bases de données, ...). Aujourd'hui, cette solution s'installe "on-premises" (dans votre infrastructure).


Esri finalise actuellement le développement de capacités équivalentes de gestion, de traitement et d'analyse de flux temps-réel sur la plateforme Cloud ArcGIS Online. Cette application nommée "ArcGIS Analytics for IoT" permettra aux utilisateurs d'ArcGIS Online de se connecter à des flux ou des API de données temps-réel, de leur appliquer des modèles de traitements dynamiques et d'analyser les données archivées et publiées sur le portail de leur organisation. Disponible mi-2019, cette offre permettra une montée en charge progressive et très scalable, avec des coûts "pay as you use", du suivi et de l'analyse des flux de vos capteurs et autres objets connectés.

     
    
Une Road-Map ambitieuse pour l'API JavaScript

L'API JavaScript ArcGIS est au coeur du système ArcGIS, pour les développeurs d'applications cartographiques mais aussi et avant tout pour Esri qui base l'ensemble de ses applications web sur ce socle. La version 4.x est la nouvelle génération de l'API qui permet de tirer profit pleinement des capacités des navigateurs modernes pour créer des applications web 2D et 3D performantes et innovantes. La version 4.11 arrive globalement à l'iso-fonctionnalité avec la version 3.x notamment avec l'arrivée du widget "Editor".

Widget Editor dans l'API JavaScript ArcGIS en 4.11
 
Mais l'API 4.x en fait beaucoup plus que la génération 3.x. C'est une API plus moderne, plus modulaire et plus riche fonctionnellement. Au delà de la prise en charge de la 3D, Esri a largement démontré lors de la plénière les performances exceptionnelles d'affichage en 2D avec une exploitation conjointe de WebGL, des différents mécanismes de quantisation et de cache sur les couches d'entités même très volumineuses. Ces performances se retrouvent aussi sur les capacités de filtrage, de statistiques et d'exécution d'opérations géométriques à la volée coté client.
   
Filtrage et statistique à la volée coté client
       
De nombreuses innovations arrivent en 4.11 et dans les prochaines versions en 2019 (4.12 en juin, 4.13 en septembre et 4.14 en décembre).
   
Parmi les évolutions de la version 4.11, on notera un nouveau type de rendu par densité de points sur les couches d'entités surfaciques pour représenter des données quantitatifs sous la forme de nuages de points.
 
 
Représentation "Dot Density" dans l'API JavaScript ArcGIS 4.11
   
Les développeurs pourront également accéder directement à des flux de données GeoJSON via un nouveau de type de couche "GeoJSONLayer".

Affichage d'un flux GeoJSON, dans une scène 3D, dans l'API JavaScript ArcGIS 4.11
   
Plusieurs évolutions également à noter en 4.11 sur le support d'Arcade dans les fenêtres contextuelles ainsi que pour définir la visibilité de certains champs dans les formulaire de saisie du widget "Editor".
 
Beaucoup d'autres évolutions arrivent en 4.11, je les détaillerai lors de la sortie de cette dernière dans quelques jours.

Au delà de cette version de mars, beaucoup de travaux de développement sont en cours sur l'API JavaScript, en voici quelques exemples :

  • clustering et binning des couches d'entités
  • animation, time slider, temporal tracking
  • des capacités de création et de mise à jour de Web Map, 
  • de nouvelles fonctions pour le moteur géométrique, 
  • la prise en charge de fonctions sur les FeatureSet en Arcade, 
  • l'accès aux enregistrements liés, 
  • un widget Slider pour n'importe tout type d'usage (smart mapping, filtrage, histogrammes, ...), 
  • des capacités de sketching en 3D, un widget de type "Loupe" exploitant la carte graphique du poste client, 
  • capacité de snapping, 
  • jointures, champs calculés
  • clipping, blending, masking de couches à la volée
  • effet de textures, de lumières, d'ombres sur les entités 3D
  • création de vector marker symbols à partir des fichiers CIM d'ArcGIS Pro
  • ...

Exemple de sketching et de gestion de graphiques 3D avec l'API JavaScript ArcGIS

 
Web AppBuilder... next generation !

Le DevSummit fut également l'occasion pour Esri de lever un bout de voile sur les travaux en cours pour porter le générateur d'applications Web AppBuilder (basé sur l'API JavaScript 3.x) vers la génération 4.x de l'API JavaScript. Ce nouveau générateur d'applications web se nommera "Experience Builder". Il élargira la vision actuelle de Web AppBuilder en proposant un environnement complet pour concevoir non seulement votre application web mais aussi l'ensemble de la page (voir du site) avec des interactions entre la carte, la scène, les widgets de l'application et d'autres éléments de la page (une liste, un formulaire Survey123, un calendrier, des liens, ...). Une version beta devrait être disponible en fin d'année.

Aperçu de l'interface d'Experience Builder
 
 
En espérant que cela vous donne un peu de visibilité sur le futur des solutions de développement, je reviendrai en détails sur les évolutions de chacun de ces composants au fur et à mesure de leur sortie. 
  

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: