En direct du Developer Summit ESRI à Palm Springs, Californie.
C'est le 3ème Developer Summit d'ESRI et le succès est clairement au rendez-vous : plus de 1300 développeurs réunis pour 3 jours de présentations, d’échanges et de discussions enflammées !
L’actualité du Summit est essentiellement tournée vers la version 9.3 d’ArcGIS, en bêta depuis la semaine dernière et bien sur, vue sous l’angle développeur.
Dans cet article, je vais faire un focus sur ce que je considère comme les deux nouveautés les plus commentées et les plus importantes pour la communauté des développeurs ESRI.
1. L’API REST pour ArcGIS Server 9.3Il s’agit clairement de la nouveauté la plus remarquée et certainement la plus significative pour les développeurs autour d’ArcGIS Server.
REST signifie que, dans l’API, « tout est URL » : le client s’adresse au serveur par le biais d’URL incluant la totalité du contexte de la requête. Une URL peut demander une carte, peut interroger une couche, peut récupérer la géométrie d’un objet (sous un formalisme JSON), géocoder une adresse et bien sur, et c’est la grande puissance du système, exécuter une tâche de géotraitement. Toute la richesse fonctionnelle des géotraitements d’ArcGIS est la portée d’une URL.
Exemple : retrouver la parcelle AB102 de la couche Parcelles (id=0) du service Cadastre avec l’URL suivante :
http://monserver/arcgis/rest/services/maps/cadastre/MapServer/find?searchText=AB102&&layers=0&f=json&returnGeometry=truecette fonction renvoie les attributs et la géométrie de la parcelle suivant le formalisme JSON :
{"results" : [
{ "layerId" : 0,
"layerName" : "Parcelles",
"Numéro" : "AB102", },
"geometryType" : "esriGeometryPolygon",
"geometry" : {
"spatialReference" : {"wkid" : 4326},
"rings" : [[[-118.35,32.81],[-118.42.806],[-118.511,32.892],[-118.35,32.81]]]}
]}
La portée de l’API est très importante, elle ouvre et expose ArcGIS Server et ses ressources de données et fonctionnelles à tous les environnements ouverts du Web d’aujourd’hui : Python, Ruby peuvent adresser des requêtes à ArcGIS Server, de même pour les frameworks cartographiques Open Source ou non (Openlayers, Virtual Earth, …), et si vous ajouter &f=kmz à la fin de l’URL, vous obtenez la réponse sous forme d’un fichier KMZ/KML, le format de Google Earth, vous suivez mon regard ?
2. Les API Javascript d’ArcGIS 9.3Construire une application avec ArcGIS Server 9.2 requiert l’utilisation des Web ADF Java ou .Net. Bien que puissants, ces environnements nécessitent la mise en œuvre de compétences et d’outils souvent surdimensionnés pour certaines applications légères. En version 9.3, le développeur Javascript va pouvoir construire des application simples et légères en quelques lignes de code avec un éditeur de texte. On retrouve ici la simplicité des API cartographiques à la Google Maps et Virtual Earth, basiques, mais simples et rapides. L’API Javascript d’ArcGIS Server 9.3 dispose de toutes fonctionnalités nécessaires à la mise en place d’applications de webmapping modernes et liée à l’API REST, toute la puissance des géotraitements d’ArcGIS est à portée d’une URL…
Cette API est accompagnée de ses deux sœurs : l’API Javascript ArcGIS Server pour Google Maps et l’API Javascript ArcGIS Server pour Virtual Earth. Ces deux API sont en fait des extensions des API Javascript cartographiques des deux éditeurs. Elle permettent de fusionner (mashup) les services ArcGIS Server avec les cartographies Google et Microsoft et tirer partie de la richesse des données proposées tout en respectant bien sur les conditions d’utilisation… Encore une fois, le mariage avec l’API reste REST est ici obligatoire !
Une application mixant Virtual Earth et ArcGIS Server 9.3, exploitant une tâche de géotraitement
Voila, la suite au prochain numéro !