Le blog francophone consacré
aux technologies Esri

Retour sur le Developer Summit Esri 2020

  
En cette période exceptionnelle d'épidémie du Coronavirus, Esri avait décidé la semaine dernière de maintenir le Developer Summit 2020 mais dans un format allégé et virtuel. Je n'étais donc pas à Palm Springs cette année, pour vous faire vivre depuis la Californie ce rendez-vous incontournable des partenaires et des développeurs Esri. Malgré tout, mercredi dernier se tenait la plénière du Developer Summit, à huis clos.
 
   
Comme chaque année, ce fut l'occasion pour Esri de faire passer les informations importantes sur la stratégie et les évolutions technologiques du système ArcGIS pour les intégrateurs, développeurs et data-scientists réalisant des développements avec les outils et les solutions Esri. Je vous propose de voir quelques thématiques et annonces importantes abordées durant cette plénière.


Le système ArcGIS

Comme vous le savez, ArcGIS est le socle technologique qu'Esri fait évoluer depuis presque 10 ans, brique par brique, avec le souci d'innover tout en garantissant l'homogénéité et la cohérence de ses différentes composantes. Esri démarre donc toujours la plénière du Developer Summit en repositionnant ces différents composants dans un schéma dont la structure varie finalement assez peu.

Le premier tiers serveur concerne le stockage et la gestion des données dans différents Data Stores. Cette terminologie de Data Stores permet de regrouper différentes typologies de sources de données: SGBD, Serveurs de fichiers (Imagerie, Géodatabases fichiers, shapefiles, ....), Relational Data Stores ArcGIS, Tiles Data Stores, Spatio Temporal Big Data Stores, Cloud Data Stores (Amazon, Azure, ...). Ces derniers étants plus (Hosted) ou moins (User Managed) gérés par ArcGIS.

Un second tiers serveur concerne la diffusion de services web géospatiaux (contenus ou fonctionnalités) opérés par les différents rôles serveurs d'ArcGIS Enterprise ou d'ArcGIS Online.

Le dernier tiers serveur prend en charge la documentation et le partage des éléments de contenus de votre SIG Web à travers un portail assurant le catalogage, les capacités de recherche et l'accès sécurisé à ces contenus. Ce portail joue également un rôle essentiel pour mise en valeur et la collaboration autour de ces contenus avec la configuration de cartes, de scènes, modèles, d'outils et d'applications.

   
La partie supérieure du schéma du système ArcGIS concerne les applications "sur étagère" ou "personnalisées" qui consomment les contenus et les fonctionnalités de votre SIG Web. Ces applications sont construites, par Esri ou par vous, à partir des SDKs et des APIs ArcGIS ou des composants de développement externes capables d'interagir en HTTPS Rest/JSON avec le portail ArcGIS.


L'API JavaScript ArcGIS toujours plus riche et performante

Une tendance forte en cartographie sur le web aujourd'hui réside dans l'affichage et l'analyse de jeux de données toujours plus volumineux et dynamiques. Que l'on parle de flux de données temps-réel ou de Big-Data, ces nouvelles générations de données géographiques doivent être représentées à la fois dynamiquement et de manière performante dans votre navigateur. C'est un des axes majeur de développement de l'API JavaScript ArcGIS 4.x. Esri a largement rappelé les récentes innovations apportées sur les couches d'entités et sur l'API JavaScript pour diviser de manière impressionnante les temps d'affichage et de traitement coté client dans un navigateur web.


Esri a multiplié les démonstrations sur ce sujet en montrant à la fois la richesse des capacités de rendu (Smart Mapping) qui s'étendent à chaque version mais aussi le potentiel redoutable du filtrage à la volée (coté client) des données pour créer des applications web au comportement ultra-dynamique.

Un message important également autour de l'API JavaScript ArcGIS c'est qu'elle permet aujourd'hui l'utilisation de données très variées et bien au delà des services web Rest ArcGIS et notamment un support complet en natif des flux CSV et GeoJSON prisés par les développeurs exploitant des sources de données en Open Data.


La session plénière a été également été l'occasion pour Esri de montrer les nombreux avancement en termes de représentation 3D et l'homogénéité de l'API entre la 2D et la 3D. Esri a largement montré les nouvelles capacités de rendus 3D sur les couches de points, de lignes et de polygones qui n'ont désormais plus de limites en termes de volume ou de symbologie 3D mais aussi sur des modèles plus évolués comme les couches d'imagerie, les couches de tuiles vectorielles ou les couches de scènes nativement 3D (objets 3D, BIM, Lidar, Mesh 3D, ...).


Par ailleurs, l'API JavaScript ArcGIS continue de se simplifier et se moderniser à chaque nouvelle version. Tout d'abord avec une orientation "mobile-first" dans la conception des widgets d'IHM mais aussi avec l'élimination presque totale désormais des dépendances à Dojo (fin des "declare" et "promise" Dojo en 4.16). Enfin, on notera une intégration quasi totale à TypeScript qui devient un langage cible pour permettre aux développeurs JavaScript ArcGIS de sécuriser et d'améliorer la production.


Enfin, l'équipe de l'API JS annonce d'ici la fin de l'année l'implémentation que l'API sera accessible sous la forme de modules JS (ES modules).

  
   
Des apps natives mobiles toujours plus puissantes

Les capacités de développement d'applications natives bureautiques ou mobiles (Java, .Net, iOS, Android, Qt, C++) n'ont jamais été aussi larges avec la dernière version des SDKs ArcGIS Runtime. Ils constituent aujourd'hui la meilleure option pour le développement d'application métiers riches, transportables sur différents appareils, et surtout supportant des processus métiers connectés et/ou déconnectés au portail SIG Web ArcGIS.


Durant la plénière, Esri a pris le temps de démontrer la palette de tous les types et formats de contenus (données locales, paquetage de données ou services web) qu'ArcGIS Runtime est capable de supporter en 2D et en 3D sur des volumétries potentiellement très importantes. On notera une innovation intéressante sur le support du format KML qui devient une source de données modifiable dans votre application ArcGIS Runtime.

   
Depuis la version 100.6, ArcGIS Runtime supporte le puissant modèle de données des "Utility Networks" ainsi que l'accès aux capacités d'analyse associées, ce qui permet le développement d'applications métiers puissantes dans les métiers liés à la gestion de réseaux de distribution de gaz, d'électricité, d'eau ou des réseaux télécom.
   
    
De nombreuses innovations ont également été apportées à ArcGIS Runtime pour la prise en charge complète du "offline" sur tous les types de données 2D/3D en vecteur et en raster. On notera notamment le support complet d'extractions de cartes à la demande (ou préalablement préparées) depuis un portail ArcGIS. Dans ce contexte d'usage de contenus en mode déconnecté, la capacité remarquable d'ArcGIS Runtime est de permettre non seulement la consultation des données mais aussi leur mise à jour pour une synchronisation une fois reconnecté au portail ArcGIS. De même pour les capacités d'analyse tels que le calcul d'itinéraire, le géocodage, les analyses de visibilités, ... peuvent être exploitées en mode déconnecté.

Plusieurs démonstration ont également été réalisées pour montrer les capacités d'AR/VR désormais incluses depuis la version 100.7 d'ArcGIS Runtime.

ArcGIS Runtime évolue désormais plus rapidement avec 3 versions par an et des axes d'évolution guidés par les évolutions du système ArcGIS, les besoins des partenaires et des développeurs ainsi que par les besoins fonctionnels identifiés pour certains métiers spécifiques.
         
    
Python, Notebook et Data-Science

La manipulation des données, leur analyse (spatiale ou non) et leur représentation devient un enjeu essentiel dans la transformation digitale des entreprises. Vous le constatez depuis plusieurs années maintenant, le système ArcGIS s'enrichit considérablement, à chaque version de nouveaux outils de "Data-Science". Plus que les années précédentes, la plénière du Developer Summit a consacré une partie très importante à démontrer leur usage.
 
Ces évolutions concernent tout d'abord l'introduction de nouveaux algorithmes de machine learning (classification, clustering, prediction) intégrant la dimension spatiale et conçus par les équipes IA d'Esri. On notera également l'ajout dans ArcGIS 10.8 de plusieurs innovations en termes d'analyse de données rasters multi-dimensionnelles.
 
Mais les efforts d'Esri ne s'arrêtent pas là. En effet, pour fournir un environnement de "Data-Engineering" et de "Data-Science", Esri intègre dans le système ArcGIS l'environnement de scripting "Notebook" désormais disponible dans ArcGIS Enterprise, ArcGI Pro et très prochainement ArcGIS Online. Cette intégration repose également sur une base technologique clairement annoncée depuis des années par Esri qui est d'utiliser le langage Python pour tout ce qui est traitement et analyse des données, et d'offrir en conséquence l'accès à tout l'écosystème de librairies et de frameworks Open-Source de "Data-Engineering" et de "Data-Science" directement dans ArcGIS.
 
 
On notera également l'engagement d'Esri à fournir aux utilisateurs de R, une intégration étroite avec le système ArcGIS via le connecteur "R-ArcGIS". Ce dernier permet à la fois l'accès aux contenus ArcGIS mais aussi l'exécution de géotraitement ArcPy depuis les workflows R. A l'inverse des workflows R peuvent être exécutés dans ArcGIS via les Notebooks ou directement dans certaines a application comme ArcGIS Insights.
 

    
arcgis.learn, un environnement de Deep Learning intégré 

  
Pour faciliter l'usage des algorithmes de Deep Learning et de les appliquer à des données géographiques, Esri a commencé il y a un peu plus d'un an à intégrer dans l'API Python ArcGIS un module nommé arcgis.learn pour permettre à la fois la préparation des données d'apprentissage, l'apprentissage du modèle mais aussi le déploiement et l'inférence de ce modèle.
 
    
Avec la dernière version de l'API Python ArcGIS, le module arcgis.learn propose de nouvelles capacité allant au delà des capacités existantes de Deep Learning sur des sources de données raster mais adresse également les contextes de vidéo (voir cette démo), de nuages de points Lidar (voir cette démo), des sources d'imagerie multi-spectrales ou sur des données textuelles non-structurées avec des algorithme de traitement du langage naturel (voir cette démo).
 
   
Big Data
    
Le Developer Summit fut également l'occasion pour Esri de montrer la poursuite de sa stratégie de traitement des Big Data géographiques (ou non) avec la technologie ArcGIS GeoAnalytics Server. Basée sur le framework Spark, GeoAnalytics Server a largement évolué depuis la version 10.5 non seulement en termes d'outils d'analyse et de traitement de données qui s'enrichissent à chaque mais aussi en termes d'ouverture des formats en entrée et en sortie exploitables (partage de fichiers .shp ou .csv ArcGIS Enterprise, HDFS, buckets Amazon S3 et Microsoft Azure Data Lakes.

Le choix de Spark par Esri prend aujourd'hui tout son intérêt avec l'implémentation de PySpark. C'est un potentiel important d'évolution pour vos wokflows Big Data avec la possibilité désormais d'exécuter des scripts Python personnalisés dans un processus contenant d'autres outils GeoAnalytics Server (notamment avec l'utilisation des DataFrames Spark) et d'enchainer différents outils sans produire de couches intermédiaires.
 
   
Autre innovation annoncée et démontrée la semaine dernière à Palm Springs, c'est l'arrivée des mécanismes de GeoAnalytics dans une architecture mono-poste dans ArcGIS Pro. Bien que moins scalable et mono-utilisateur, elle constitue un progrès énorme pour le traitement de très gros volumes de données en divisant par 10 (ou même plus selon votre machine) le temps de certains géotraitements, et ceci sans aucune extension supplémentaire dans ArcGIS Pro. 
    
   
Il ne reste plus pour Esri qu'a proposer les capacité de GeoAnalytics en mode Saas sur le Cloud. Ce sera en partie le cas avec la nouvelle solution ArcGIS Analytics for IoT.
    
   
ArcGIS for Games Engines
   
Depuis longtemps, à travers notamment l'application CityEngine, Esri permet aux concepteurs de jeux vidéos de construire des environnements urbains réalistes à l'aide d'un moteur de règles procédurales pour ensuite les exporter vers des environnements d'animation, de jeu vidéo ou de réalité virtuelle.
 
 
Aujourd'hui, des standards de formats et d'outils émergent sur ce marché avec, en particulier, des game engines comme "Unity" et "Unreal" qui constituent de véritables environnements de développement. Esri souhaite rendre accessibles les contenus et les capacités du système ArcGIS aux développeurs sur ces environnements.
 
L'objectif est d'offrir un accès simple à des contenus tels que les couches de tuiles raster (imagerie, fond de carte, couche d'élévation,...) ou encore des couches de scènes (objets 3D, mesh, nuages de points, ...) ou simplement des couches d'entités (points, lignes, polygones) issues de votre SIG Web. Plus encore, l'idée est de permettre aussi l'accès, depuis l'application immersive finale, à des service web comme le géocodage ou le calcul d'itinéraires !


Pour cela, Esri va proposer "ArcGIS for Game Engines", un ensemble de 2 plugins (un pour Unity et pour Unreal). Ils permettront, directement depuis ces environnements de se connecter à un portail ArcGIS pour consommer les contenus dont ils ont besoin dans leur application de jeu, d'animation scientifique, de réalité virtuelle, ...

Connexion à un portail ArcGIS depuis l'environnement Unity
    
Utilisation d'une couche d'élévation et d'une couche géologique issues d'ArcGIS
dans l'environnement Unity
    
Animation dans Unreal consommant des points d'incendie issus d'ArcGIS
 
ArcGIS for Game Engines sera bientôt accessible en version Beta. Si ce projet vous intéresse, vous pouvez participer à cette phase Beta (qui débutera au début de l'été) en vous inscrivant sur cette page. L'objectif est une sortie en version finale à la fin de l'année 2020.
   
   
Les générateurs d'application
 
Enfin, je ne peux pas terminer cette synthèse sans évoquer les générateurs d'applications. Il en existe aujourd'hui 3 qu'Esri a pris le temps de représenter car ils sont souvent un excellent moyen construire ou de prototyper une application sans écrire la moindre ligne de code.

Le premier "Web AppBuilder" permet la création d'une application mono-page dédiée à un besoin métier spécifique réunissant différents widgets fonctionnels interagissant avec la carte. WEb AppBuilder va continuer d'évoluer à chaque version d'ArcGIS Online et ArcGIS Enterprise avec des mises à jour sur les différents widgets comme avec l'arrivée récente du widget "Business Analyst" ou le widget "Calcul de visibilités"

Le second "Experience Builder" est nouveau, il a été annoncé et démontré lors de ce Developer Summit. Experience Builder permet de créer des "Expérience web", c'est à dire un ensemble composé d'une ou plusieurs pages totalement personnalisables avec différents widgets alimentés par des flux de données. Ces widgets (dont des cartes 2D/3D) communiquent les uns avec les autres pour créer un site web très interactif et dynamique.

Le troisième "AppStudio for ArcGIS" concerne la création d'applications natives (bureautiques, tablettes, smartphones) cross-plateformes, avec pas ou peu de code. Basé sur SDK ArcGIS Runtime for Qt/QML il permet de configurer rapidement une application à partir de modèles, puis de les personnaliser. Une fois compilées, ces applications peuvent être diffusées via les App Stores des plateformes iOS, Android, Windows et MacOS.



Quelques annonces supplémentaires...
   
Au delà des SDKs et APIs ArcGIS évoqués ci-dessus qui sont directement utilisés par les développeurs et les Data-Scientists, d'autres évolutions transverses à toute la plateforme ont été mises en avant par Esri lors de cette plénière du Developer Summit 2020.

Par exemple, Esri confirme sa stratégie de proposer une spécification ouverte pour décrire le contenu d'une carte et la représentation cartographiques de ses différentes couches: le CIM (Cartographic Information Model). Déjà implémenté par ArcGIS Pro (dans les fichiers .lyrx, .mapx, et .pagx), par ArcPy, par le SDK .Net d'ArcGIS Pro, par l'API JavaScript ArcGIS 4.x et par les SDKs ArcGIS Runtime, ce format JSON est pour Esri le moyen d'assurer une cohérence et une interopérabilité en termes de capacité de représentation cartographique entre les différents applications internes ou externes au système ArcGIS.

On notera également beaucoup de présentations autour d'Arcade, le langage d'expression qui se généralise dans de nombreux contextes (étiquettes, calcul de champs, règles attributaires, fenêtre contextuelles,...) et dans toutes les applications de la plateforme. Esri a, par exemple, annoncé le support d'Arcade dans la prochaine version d'Operations Dashboard for ArcGIS sur tous les widgets (et non plus uniquement pour la carte) afin d'appliquer des expressions sur les valeurs restituées dans vos tableaux de bord mais aussi sur le rendu des widgets (couleurs, polices, ...). Des capacités très puissantes, j'en reparle très bientôt...

Utilisation d'Arcade dans Operations Dashboard for ArcGIS
  
  
Revoir la plénière en vidéo

Toutes les vidéos de la plénière du Developer Summit 2020 se trouvent dans cette playlist YouTube. Un certain nombre de workshop techniques vont être réalisés et mis en ligne dans les prochaines semaines. Je tacherai d'en faire la liste et de vous les signaler dès que possible sur ce blog.
    

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: