Le blog francophone consacré
aux technologies Esri

"Tiles on the Cloud" (3/3)

Dans ce troisième et dernier article je souhaitais illustrer l'externalisation de caches au travers d'un exemple simple et concret. L'objectif est de déployer une application (ici en Flex) superposant un fond de carte (service caché) et des équipements liés à l'activité touristique (service dynamique).



Dans cet exemple, on a décidé d'externaliser le stockage du cache en dehors de l'infrastructure du serveur d'arcOrama. Pour cela on a choisi de stocker les fichiers de ce cache sur la plateforme Amazon S3 mais la démarche serait exactement la même pour n'importe quel autre serveur.



Je décris donc ci-dessous la démarche permettant de réaliser cette application:

1. Publication du service de carte dynamique contenant les équipements touristiques
  • Créer un premier document ArcMap
  • Ajouter les couches contenant les équipements touristiques
  • Toujours dans ArcMap, utiliser la barre d'outils de publication de service afin de créer un service de carte optimisé (depuis la version 9.3.1 d'ArcGIS)

2. Création du cache du fond de carte

  • Créer un deuxième document ArcMap
  • Ajouter les couches constituant le fond de carte
  • Toujours dans ArcMap, utiliser la barre d'outils de publication de service afin de créer un service de carte optimisé (depuis la version 9.3.1 d'ArcGIS)
  • A partir d'ArcCatalog, spécifier les paramètres du cache (échelles, taille et format des tuiles, …) dans les propriétés du service de carte
  • Lancer la création du cache

3. Copier le cache sur la plateforme Amazon S3

  • Créer votre compte sur Amazon S3
  • Installer un outil de gestion de fichiers pour Amazon S3, par exemple Bucket Explorer ou S3Fox Organizer
  • A l'aide de cet outil, copier l'ensemble de l'arborescence de votre cache
  • Vous penserez ensuite à bien spécifier les autorisations (ACL) sur l'ensemble des fichiers pour s'assurer que les tuiles seront accessibles à tous les utilisateurs
  • Vous penserez également à copier les fichiers crossdomain.xml ou clientaccesspolicy.xml à la racine de votre Bucket si vous utilisez des applications clientes Flex ou Silverlight
  • Vous pouvez vérifier que vos tuiles sont accessibles en saisissant l'URL d'une tuile comme celle-ci.


4. Développer l'application cliente

  • Créer le projet Flex puis ajouter le contrôle Map
  • Développer le connecteur permettant d'accéder au cache.
  • Dans cet exemple, nous avons choisi de créer une application Flex. Pour pouvoir accéder directement aux tuiles du cache sans utiliser le mécanisme standard de l'API Flex ArcGIS, un développement spécifique est nécessaire. En particulier, vous devez développer une classe étendant la classe ArcGISTiledMapServiceLayer qui prendra en charge l'accès aux tuiles copiées sur Amazon S3. Pour plus d'informations, reportez-vous au fichier S3ArcGISTiledMapServiceLayer.as du code source de l'application.
  • Dans la fonction clé de cette classe est la fonction getTileURL puisqu'elle prend en charge la récupération de l'URL des tuiles. Vous penserez à bien spécifier la structure de base des URL en fonction de votre arborescence de fichier dans Amazon S3.
    - Ajouter ensuite les références au service dynamique (ArcGISDynamicMapServiceLayer) et au nouveau type de service (S3ArcGISTiledMapServiceLayer) dans le fichier MXML de votre application.
  • L'application peut maintenant est exécutée.

Conclusion

Au travers de ces trois articles j'ai montré qu'une application web ArcGIS Server peut facilement tirer profit d'une architecture de type "Cloud". Dans mon modeste exemple, l'objectif était simplement d'optimiser la gestion et la performance d'affichage des caches en l'externalisant sur une plateforme de Cloud Computing. Bien entendu, on peut aller plus loin dans l'intégration de ce type de plateforme avec les technologies ArcGIS. C'est une tendance lourde qui s'affirme et qui sera un des axes de développement de la plateforme ArcGIS dans les prochaines années. Nous aurons l'occasion d'en reparler…

Partager cet article:

Rejoindre la discussion

    Les commentaires à propos de cet article: