29 mars 2010

Forums SIG 2010

Depuis plusieurs années maintenant ESRI France organise une série de 8 journées de rencontre dans 8 villes de France pour présenter la plateforme ArcGIS et les solutions de quelques uns de ses partenaires. Ces journées sont également l'occasion d'échanger et de faire témoigner des clients locaux ayant mis en place les outils d'ESRI dans des contextes métiers différents à chaque étape.


J'aurai, pour ma part, le plaisir de participer aux étapes de Lyon le 1er avril et à Paris le 27 mai, en espérant y croiser quelques lecteurs d'arcOrama !

27 mars 2010

Developer Summit 2010, The End

Le Developer Summit vient de s'achever par la traditionnelle session de clôture. Rassemblés une dernière autour d'un convivial repas, les 1200 participants ont pu assister à la séance de questions/réponses ouvertes. Les différents responsables produits d'ESRI étaient tous sur scène pour dissiper les dernières interrogations restées en suspend à l'issue de cette semaine.




En particulier, les prochaines échéances pour la sortie d'ArcGIS 10 ont été annoncées:
- ArcGIS 10 Pre-Release, disponible le 1er avril
- Tous les abonnés EDN auront accès à cette Pre-Release
- ArcGIS 10 version finale, Fin juin (en langue anglaise)


L'actualité produit d'ESRI va être riche dans les prochains mois et j'aurai l'occasion de revenir en détails sur la plupart des sujets évoqués rapidement à l'occasion de cette conférence. En attendant, il est temps pour moi de reprendre l'avion pour la France et de quitter le chaleureux climat californien pour retrouver le frileux printemps parisien !

Developer Summit 2010, Les vidéos des sessions techniques


Les vidéos des sessions techniques et les sessions utilisateurs du Developer Summit sont progressivement mises en ligne. Compléter vos connaissances sur ArcGIS 9.3 ou découvrir en avant première les évolutions techniques d'ArcGIS 10, vous avez le choix !

25 mars 2010

Developer Summit 2010, les vidéos sont en ligne

A quelques heures de la clôture de cette semaine de conférence, vous pouvez déjà visualiser toutes les démonstrations de la session plénière de la BPC (Business Partner Conference). Vous y retrouverez entre autres celles concernant:
- ArcGIS.com,
- ArcGIS Desktop 10,
- ArcGIS Mobile for Windows,
- ArcGIS Mobile for iPhone,
- ArcLogistics Online
- ArcGIS Server for Amazon



Vous retrouverez également une première partie des vidéos de la session plénière du Developer Summit.

Developer Summit 2010, Platforms in the Cloud

Au cours de conférences à caractère technique comme le Developper Summit, il y souvent un thème qui prend le pas sur les autres et occupe, d'un seul coup, toutes les conversations. Parfois ce phénomène est le résultat d'une annonce ou d'un fait d'actualité. Cette année, il semble que sont les plateformes de Cloud Computing et leur exploitation dans la sphère des SIG qui constituent le thème "très tendance" à Palm Springs. Ceci n'est pourtant pas l'effet d'une annonce particulière de la part d'ESRI qui, sur le sujet, confirme simplement que depuis quelques mois la préparation d'une offre ArcGIS sur des plateformes de Cloud qui devrait se finaliser au cours de cette année.

Pour en avoir suivi une hier, les quelques sessions techniques traitant du sujet étaient pleines à craquer. L'intérêt pour le sujet s'apprécie également par la quantité de messages sur Twitter rédigés par les participants de la conférence durant ces derniers jours.

Le sujet est assez complexe et le Cloud est une notion encore imprécise pour la plupart des développeurs ou des utilisateurs de SIG. C'est pour cette raison qu'ESRI avait demandé cette année à David Chappell d'intervenir en tant que keynote speaker sur le thème "Platforms in the Cloud : Where will your next application run ?". Ses talents d'orateur et de vulgarisateur déjà appréciés l'an dernier avec son intervention sur le thème "Rest vs. SOAP" ont permis à chacun de bien comprendre les particularités de chaque plateforme ainsi que le positionnement des solutions ESRI dans tout cela.

Les modèles de Cloud utilisés aujourd'hui par les solutions ESRI


La présentation de David Chappell


Durant 2 heures ce matin, David Chappell a captivé une salle d'environ 900 personnes en présentant les différentes plateformes de Cloud. L'objectif était de poser les bases de ce qu'est une plateforme de Cloud Computing pour ensuite essayer de les classifier selon leur nature et de leur usage ce qui n'est pas si évident étant donné la diversité des offres. Sans rentrer dans le détail de sa présentation (elle sera en ligne dans quelques jours sur le site de la conférence), une première distinction importante doit être faite entre les plateformes de Cloud "Private" et "Public" pour lesquels les enjeux de garantie de sécurités et de disponibilité de ressources peuvent être différentes. Ensuite, une deuxième distinction à faire concerne les offres de type Iaas (Infrastructure as a Service) des offres de type PaaS (Platform as a Service).


Pour une bonne introduction, je vous conseils la lecture d'un document rédigé par David Chappell en 2008 sur ces différentes familles de solutions.

Après avoir présenté et expliqué les fondements des offre d'Amazon, de Google, de Microsoft ou encore de SaleForces, la présentation s'est terminée quelques explications sur ce que peut fournir un éditeur de logiciel comme ESRI au delà des plateformes existantes comme Business Online, ArcLogistic Online ou ArcGIS Online. Dans sa conclusion , il a notamment exposé pourquoi et comment les clients ESRI pourront tirer profit de ces plateformes sur des technologies comme ArcGIS Server.


Si le sujet vous intéresse, je vous recommande donc la vidéo de cette présentation qui sera publié très prochainement.

24 mars 2010

Developer Summit 2010, Plenary Session 2/2

...je continue mon récapitulatif des principales annonces de la session plénière du Developer Summit.

Python

Depuis plusieurs années, le langage de scripting d'ArcGIS c'est Python. Langage simple, open-source, mature et richement documenté, Python est interopérable entre Windows et Linux et s'intègre totalement à l'environnement de Géotraitement d'ArcGIS. ArcGIS Desktop étant la dernière version à proposer l'éditeur de macro en VBA, Python devient incontournable pour la personnalisation et l'automatisation des tâches dans ArcGIS. ESRI annonce qu'en version 10, les librairies Python d'ArcGIS ont été repackagées pour plus de cohérence avec l'écosystème Python. Une organisation en Site-Package (ArcPy) et Modules (core, spatial analyst, geostatistical analyst et mapping) ainsi que l'introduction des Classes et des Fonctions rendent le développement de scripts ArcGIS plus simple et intégré (intellisense, documentation, syntaxe du code, …).

ArcGIS Desktop 10 proposera également une fenêtre d'exécution Python directement dans les applications (ArcMap, ArcCatalog, ….) afin de pouvoir rédiger des séquences de code Python directement exécutables sans compilation préalable.



Map automation

Un point important d'ArcGIS 10 concerne les fonctionnalités d'automatisation cartographique. Le module Python Arcpy.mapping permet d'automatiser par géotraitement (outils, modèles ou scripts) la modification des couches, des cartes et des mises en pages de vos documents ArcMap. Ceci permet par exemple de produire de manière automatique des atlas de cartes, d'exporter des cartes en PDF en mode batch ou encore de modifier de manière systématique la source de données d'une couche se trouvant dans plusieurs documents cartographiques. Plusieurs démonstrations ont été faites sur différents scenarii, les possibilités sont largement à la hauteur de ce que 'lon pouvait faire en AML avec le module ArcPlot d'ArcInfo Workstation, très prometteur.



Add-In


Durant la plénière, ESRI a présenter la notion d'Add-In, nouveau mécanisme de déploiement des développements ArcObjects pour la personnalisation d'ArcGIS Desktop (et Engine). Les Add-In peuvent contenir les principaux types de personnalisation généralement réalisés par les développeurs ArcGIS Desktop comme les Tools, Commands, ToolBar, Extensions, Editor Extension, Dockable Windows, ToolPalette, … Les Add-In peuvent être développés en .Net ou en Java et sont créer à partir d'assistants Visual Studio ou Eclipse.


Ils sont simples à développer (dérivation d'une des classes de ESRI.ArcGIS.Desktop.AddIns) et se déploie de manière rapide en distribuant d'un seul fichier (*.esriaddin) packageant à la fois les ressources (dll, images,…) et les métadonnées (XML). Le développeur n'a pas à gérer l'installation/désintallation de l'AddIn, elle est prise en charge par l'AddIn Manager d'ArcGIS Desktop ou Engine.


Un énorme travaille de simplification du codage et du workflow de déploiement de la part d'ESRI dans cette version 10 et une ouverture vers Java intéressante pour tous les développeurs ArcObjects sur la plateforme bureautique.

Simplification et ouverture de la Géodatabase

La version 10 d'ArcGIS marque également une étape importante pour le modèle de données de la Géodatabase vers la simplification et l'ouverture. Comme l'explique bien la récente série d'articles du blog "Inside Géodatabase", le nombre des tables systèmes de la Géodatabase a été considérablement réduit et la structure de ces dernières complètement repensée. Les informations clés de la Géodatabase (domaines, sous-types, relations, …) contenues dans les tables GDB_* sont désormais accessibles en SQL sans passer par les composants ArcGIS. Une ouverture de la Géodatabase qui s'affirme également avec l'arrivée dans quelques moins de l'Open API pour la File Geodatabase qui permettra la lecture et l'écriture de données sans utiliser les librairies ArcObjects.


Voilà un rapide résumé des annonces faites hier par ESRI à l'occasion de l'ouverture de la conférence. D'autres sujets on été évoqués en particulier les évolutions fonctionnelles d'ArcGIS Server en ce qui concerne la gestion des caches, je prendrai le temps d'en parler plus en détail dans les prochaines.

Un autre grand sujet important cette année est l'évolution de la plateforme ArcGIS vers le Cloud. Après l'intervention mercredi matin du keynote David Chappell, j'aurai l'occasion de revenir sur le sujet.

Developer Summit 2010, Plenary Session 1/2


Le Developer Summit à commencé ce matin par la traditionnelle session plénière. Une salle bondée d'environ 1200 participants, la communauté des développeurs est donc au rendez-vous pour cette 5ème édition. L'actualité des produits n'est probablement pas étrangère à ce succès puisque dans quelques mois sortira la version 10. Pour les développeurs, tout en restant dans la continuité d'ArcGIS 9.3, cette nouvelle version de la plateforme technologique d'ESRI va offrir de nouvelles opportunités d'implémentation, de développement et de déploiement. Ce sont toutes ces innovations qui étaient présentées durant ces 3 heures. Brièvement je vous en livre quelques unes et reviendrai sur certaines d'entre elles dans mes prochains articles.

ArcGIS.com

ESRI a présenté ce matin, pour la première fois, la plateforme ArcGIS.com qui est la future plateforme collaboratif de la communauté ArcGIS mais également le point d'entrée de l'offre ArcGIS dans le Cloud. Reprenant en partie la philosophie d'ArcGIS Online concernant toute la partie "Sharing", ArcGIS.com va aller beaucoup plus loin en proposant non seulement le partage des layers et des maps ArcGIS, mais également le partage d'applications web et d'Add-In. Dans quelques semaines, la plateforme sera accessible à tous.

Présentation de la plateforme http://www.arcgis.com/

ArcGIS Explorer Online

Disponible à la fin du mois d'avril, une version "en ligne" d'ArcGIS Explorer sera disponible (gratuitement). Cette version web du géonavigateur d'ESRI est un exemple assez impressionnant de ce que l'on peut développer avec l'API Silverlight. ArcGIS Explorer Online reprend une grande partie des fonctionnalités de la version bureautique y compris la partie "PowerPoint géographique" très appréciée par les utilisateurs d'ArcGIS Explorer.

ArcGIS Explorer Online (dans un navigateur web)

Les APIs Web ArcGIS en version 2.0

Les APIs Web ArcGIS passeront en version 2.0 pour prendre en charge les évolutions de l'API Rest d'ArcGIS Server 10. Parmi les points importants:
- notion de FeatureLayer pour la gestion d'entités vectorielles coté client.
- les FeatureLayer implémentent les fonctions des Feature Services (filtrage, symbologie, mise à jour, …)
- nouveaux contrôles liés aux nouvelles fonctions d'editing (attribute inspector, editing toolbar, feature template selector, attachment,….)
- prise en charge des Time Enabled Layers, nouveauté d'ArcGIS 10, permettant d'animer les couches en fonction d'informations temporelles
- nouveau contrôle Time Slider pour animer les Time Enabled Layers
- prise en charge du format AMF (pour l'API Flex)

Présentation d'une application API FLex 2.0 avec animation temporelle

ArcGIS Mobile for Windows

La technologie ArcGIS Mobile for Windows continue d'évoluer en version 10 avec l'arrivée d'une application "out-of-the-box" pour Windows. Une IHM conçu en WPF, ArcGIS Mobile for Windows reprend les mêmes principes que l'application ArcGIS Mobile for Windows Mobile. L'objectif est le même, embarquer une interface simple permettant de réaliser les tâches très métiers de consultation et/ou de saisie de données du serveur SIG par des opérateurs sur le terrain. Au-delà des applications "out-of-the-box", comme en version 9.3, le SDK ArcGIS Mobile permet de développer des applications personnalisées. ESRI a également présenté les nombreuses évolutions fonctionnelles d'ArcGIS Mobile en version 10, on en reparlera plus en détails.

ArcGIS Mobile for iPhone

Très attendue depuis l'annonce faite à l'automne, ESRI a détaillé le contenu d'ArcGIS Mobile for iPhone qui fera partie d'ArcGIS Server 10. Une application "out-of-the'box" configurable sera proposée gratuitement sur l'Apple Store. Cette application permettra la consultation et la mise à jour de données servies par des serveurs ArcGIS Server. La démonstration faite par ESRI montrait la remontée d'informations sur la dégradation des revêtements sur un réseau routier avec des informations descriptives textuelles et des photos prises avec l'iPhone et directement envoyées vers la Géodatabase via ArcGIS Server. Un SDK sera également disponible pour les développeurs qui souhaitent construire une application sur mesure en Objective-C.

Démonstration de l'application ArcGIS Mobile for iPhone


A suivre...

23 mars 2010

Developer Summit 2010, Ready to go !

La délégation française (une trentaine de personnes cette année) est arrivée sur place durant le week-end. Répartis entre la conférence des partenaires ESRI (Business Partner Conference) et, pour les profils plus techniques, le Developper Summit. La conférence des partenaires se termine aujourd'hui et la conférence des développeurs commence demain et je la suivrai très largement dès la session plénière de demain. 

 
En attendant, je vous livre quelques annonces faites par ESRI ces dernières heures:

ESRI Partner Network

Aujourd'hui ESRI a construit un large réseau de partenaires de différentes natures (intégrateurs, éditeurs de solutions métiers, producteurs de données, partenaires technologiques, …) qui développent des solutions autour de la plateforme ArcGIS. Pour aider ses partenaires à développer leur activité en optimisant l'usage de ses technologies, ESRI lance un nouveau programme mondial de partenariat répartissant les partenaires en trois niveaux: Silver, Gold et Platinium.

L'API JavaScript ArcGIS 2.0 beta accessible à tous

L'API JavaScript (comme celle pour Silverlight et Flex) vont passer en version 2.0 pour tirer profit des évolutions de l'API Rest d'ArcGIS Server 10. ESRI a décidé de rendre d'ores et déjà accessible la version béta de l'API JavaScript. Même si vous ne disposez pas d'ArcGIS Server 10 beta, vous pouvez tout de même la tester sur ArcGIS Server 9.3.1 ou sur les serveurs ArcGIS Server 10 beta d'ESRI (http://sampleserver3.arcgisonline.com/ArcGIS/rest/services).

L'API Silverlight ArcGIS 1.2 est disponible

Depuis samedi dernier, une nouvelle version de l'API Silverlight est disponible. Il s'agit d'une version mineure corrigeant quelques problèmes et apportant quelques améliorations comme l'arrivée des templates (Standard et Showcase) dans Visual Studio Express 2008 ou encore la prose en charge des services de carte et de géocodage Bing en HTTPS. Pour plus d'infos, voir la page suivante.

19 mars 2010

ESRI Developer Summit 2010, J -4


Dans 4 jours se déroulera le Developer Summit 2010 à Palm-Springs qui, depuis maintenant 5 ans, rassemble la communauté des développeurs travaillant sur les technologies ESRI ou projetant d'intégrer le SIG dans le développement de leurs applications. Durant toute la semaine, partenaires métiers, architectes, designers, développeurs et autres responsables de projets vont pouvoir échanger avec les équipes techniques d’ESRI Inc. et s'informer sur les dernières évolutions technologiques de la plateforme ArcGIS. 

Cette année quelques thèmes en particulier baliseront la conférence :
- simplifier et ouvrir les workflows de mise à jour des données SIG (web editing, crowd sourcing, user generated content, …)
- des nouveaux patterns de développements autour du socle ArcObjects et de la Géodatabase
- intégrer le SIG aux nouvelles plateformes de mobilité (Windows Mobile 7, iPhone, iPad,…)
- tirer partie du Cloud Computing dans son architecture SIG
- les nouveautés d'ArcGIS 10

Bien entendu, arcOrama se rendra sur place, en Californie, dès ce week-end, pour vous rendre compte des principales informations à retenir de cet événement.

17 mars 2010

Social Media Mapper

Aussi variées soient-elles dans leur nature et leur finalité, les plateformes de réseaux sociaux se dotent toutes les unes après les autres d'API permettant la géolocalisation. De Panoramio à Twitter en passant par celle de YouTube ou Facebook, ces APIs sont plus ou moins sophistiquées dans les types de requêtes qu'elles autorisent. Cependant, elles permettent toutes, à minima, la localisation géographique (latitude/longitude) et la recherche dans un certain rayon des informations, contenus ou messages que ces plateformes permettent de diffuser.

Il est donc assez simple de construire des applications exploitant ces informations de géolocalisation. J'avais évoqué, il y a quelques mois, les exemples de l'application GeoTwitter réalisée avec l'API Silverlight ArcGIS et du complément Twitter pour ArcGIS Explorer. Aujourd'hui, Social Media Mapper est un autre exemple intéressant (réalisé avec l'API Flex ArcGIS et les fonds ArcGIS Online) qui permet de cartographier, à partir d'un lieu et d'un rayon de recherche, les vidéos YouTube, les messages Twitter et les contenus Facebook qui viennent d'être diffusés.


15 mars 2010

Nouveaux suppléments français disponibles

Les suppléments français d'ArcIMS 9.3.1 et d'ArcGIS Server 9.3.1 pour .Net sont disponibles sur le site du support d'ESRI France depuis aujourd'hui. Vous pouvez télécharger ces suppléments sur cette page pour ArcIMS et sur cette page pour ArcGIS Server.

13 mars 2010

Inventorier vos MXD avec ArcCrawler

Parcourir tous les documents ArcMap d'un arborescence de votre disque, inventorier les couches qu'ils contiennent et signaler les sources de données manquantes, c'est ce que propose l'outil ArcCrawler. Développé par Eric O'Neal et publié sur ArcScript, ArcCrawler permet de construire rapidement un rapport détaillé du contenu et de la santé de vos MXD. 


Le setup installe une nouvelle barre d'outils dans ArcCatalog 9.3 (ou 9.3.1). 

12 mars 2010

ESRI Mashup Challenge 2010

J'évoquais il y a quelques semaines le lancement du concours "ESRI Mashup Challenge 2010" dont l'objectif est de présenter des applications de mashup exploitant totalement ou partiellement les technologies ESRI (API Flex, API Silverlight, API JavaScript, Extension Google Maps de l'API ArcGIS, Extension Bing Maps de l'API ArcGIS, Services ArcGIS Online, ...). Les résultats de ce concours seront annoncés dans 2 semaines lors du Developer Summit. La date limite est maintenant passée et les vidéos de démonstration sont en ligne sur YouTube. Vous pouvez les visualiser via cette Playlist:

11 mars 2010

Flex vs. Silverlight - Conclusion


Certains aspects de Flex et de Siverlight n'ont pas été évoqués dans cette série d'article. En particulier, je vous ai épargné les comparatifs concernant les formats vidéo et audio, les codecs pris en charge, les capacités 3D ou encore les mécanismes de streaming qui sont évidement important pour ces deux technologies mais qui compte surtout dans des contextes d'intégration de données multimédia, ce qui n'était pas tout à fait le propos de mes articles. En effet, j'ai évoqué en priorité le développement d'application d'entreprise et je vous laiise consulter les nombreux sites web qui traitent volontiers de ces sujets.

En résumé



Pendant des années, et encore aujourd'hui, Flex/Flash a démontré sa maturité, sa performance et sa capacité à adresser de nombreux types d'application. Silverlight, malgré le retard avec lequel la première version est sortie, a sû le rattraper en réutilisant la CLR du framework .Net, plus avancée que le Player Flash, mais surtout qui s’appuye sur tout l’ecosystème .Net tant en terme de langage avec C#, qu’en terme d’outillage.

Ainsi, les deux technologies ont aujourd’hui (en version 3) des capacités équivalentes et quand une fonctionnalité n’existe pas dans l’une, la version suivante comble rapidement le vide. Les perspectives de la version 4 beta de l'une et de l'autre le démontre bien.
En terme de développement, Flex semble plus simple à aborder lorsque l’on s’attarde sur le code écrit, tant en XML (MXML est globalement moins verbeux que XAML), qu’en AS et C# (pour l’appel de services par exemple ou la création/le parsing de XML en C# qui utilise une API plus complexe qu’en AS).

Même si l'usage d'APIs comme celles d'ArcGIS Server rendent cette question moins cruciale (car pas ou peu de développement coté serveur), l’écosystème dans lequel ces applications seront déployées est souvent le critère déterminant. En effet, même si Flex et Silverlight s’intègrent parfaitement partout où il est possible de faire au moins du XML / HTTP, leur technologie de communication respective avec le serveur facilite grandement le développement mais, du coup, elle relie la technologie cliente avec la technologie serveur. Ainsi, la culture et les choix technologiques de l'entreprise en termes de plateforme de développement deviennent un critère essentiel. On verra plus rarement des développeurs Java ou PHP s'orienter vers Silverlight alors que Flex s'intègre plus naturellement avec ces environnements. De la même manière, le choix de Flex sera moins naturel dans un contexte où la plateforme de développement .Net est déjà largement adoptée.

Enfin, la cible des utilisateurs est egalement un critère déterminant sachant que pour une cible grand public, le Flash Player reste le plus déployé à l’heure actuelle alors que pour des applications internes, la disponibilité du plugin Silverlight ou Flash est beaucoup plus maitrisable et peu plus facilement s'anticiper.

En conclusion

Outre le caractère difficile de la tâche, trancher de manière définitive sur ces technologies serait quelque peu péremptoire et au final un mauvais conseil. Choisir l'une ou l'autre de ces deux technologies n'est de toute manière pas une erreur. Flex comme Silverlight sont des solutions complètes, éprouvées et évolutives. La vrai question est donc: quelle est la bonne technologie RIA pour mon projet ? Au-delà des critères techniques évoqués dans mes différents articles, c'est sans aucun doute la culture et l'expérience des équipes qui travailleront sur le projet qui sera décisif.

Les technologies de RIA vont encore évoluer dans les prochaines années et dans ce domaine les tendances et les leaderships peuvent rapidement changer. JavaFX est récent mais peut encore séduire et JavaScript avec HTML 5 n'a probablement pas fini de surprendre sur ces capacités. Le développement des RDA (Rich Desktop Application) est également un axe de développement à suivre avec une volonté des éditeurs, à assez court termes, de faire converger les deux environnements.

Dans les prochains mois, arcOrama reviendra sur ce vaste sujet en se recentrant sur les enjeux plus spécifiques aux APIs web ArcGIS.

10 mars 2010

ArcGIS Explorer 1200 est disponible

La nouvelle version d'ArcGIS Explorer (Build 1200) est disponible depuis aujourd'hui. En français, elle téléchargeable gratuitement à partir de la page suivante. Cette version est essentiellement une mise à jour de la version actuelle (Build 900) introduisant quelques fonctionnalités intéressantes que je vais rapidement décrire.


Tout d'abord, la galerie des fonds de carte a été remaniée pour prendre en compte les récentes actualisations des services ArcGIS Online produits par ESRI et ses partenaires (i-Cubed, Tele Atlas, AND, et autres). Par exemple, vous accédez désormais directement aux nouveaux fonds World Streets, World Imagery et World Topographic (désormais publiés en Web Mercator). Dans cette galerie, vous noterez également la mise à disposition gratuite et illimitée des fonds de cartes Microsoft Bing Maps for Enterprise (imagerie, imagerie+étiquettes, carte). Ces fonds de carte ont d'ailleurs été placés en tête de la galerie.

Les utilisateurs peuvent ajouter plus facilement leurs propres fonds de carte et réorganiser cette galerie grâce à une boîte de dialogue complètement repensée.


Une autre évolution notable est l'arrivée de la galerie "Analyse" qui permet très facilement de se connecter à des services SIG sans avoir à écrire la moindre ligne de code ou à définir la moindre configuration. La galerie "Analyse" est un moyen simple d'étendre les fonctionnalités d'ArcGIS Explorer avec des modèles de géotraitements créés dans ArcGIS Desktop et servis par ArcGIS Server.




La galerie "Analyse" peut également être utilisée pour ajouter et gérer les compléments ArcGIS Explorer (fichier EAZ) que l'on trouve, entre autres sur l'ArcGIS Explorer Labs d'ArcGIS Online.

09 mars 2010

Flex vs. Silverlight – Les plug-in (2)


Dans l'article on a évoqué les différences entre le plug-in Flash et le plug-in Silverlight. Au-delà des différences techniques du plug-in, le choix de Flex ou de Silverlight doit aussi se faire de manière très pragmatique sur la diffusion du plug-in, en particulier lorsque l'application d'adresse au grand public. Sur ce point les choses sont beaucoup moins équilibrées; les 11 années qui séparent la naissance de Flash (1996) et de Silverlight (2007) pèsent incontestablement sur les parts de marché actuelles.

Le site RIAStats.com trace depuis plusieurs années la répartition des plug-in Flash, Silverlight et Java dans les navigateurs. L'intérêt de site est d'offrir une vision plus neutre que les chiffres que peuvent annoncer les éditeurs respectifs des technologies en concurrence. Basé sur l'installation d'un code JavaScript dans une cinquentaine de site web, ce sont les statistiques d' 1 500 000 de navigateurs par jours qui sont collectés et présentée en temps réel sur le site. Le site propose ensuite des représentations assez intéressantes avec des possibilités de filtrage par OS, par version de plug-in, par date, par langue,… Pour ceux qui souhaitent apporfondir ces chiffres, sachez que le site connait quelques soucis ces derniers jours mais cela semble temporaire.


J'ai comparé la répartition des plug-in Flash et Silverlight à un an d'intervalle (janvier 2009 et janvier 2010). On constate qu'il y un an, le Flash player (version 9 et version 10) était présent sur 90% des machines auditées (quel que soit leur système d'exploitation). A cette date, le plug-in Silverlight (version 1 + version 2) n'était présent sur 20% des machines auditées. Un an après, la part de marché de flash à gagné quelques points avec 93% ce qui est assez logique. En revanche, le plug-in Silverlight (version 2 + version 3) atteint en janvier dernier 50% (et même 55% en ce début de mois de mars) ce qui constitue une croissance considérable.

Même si Silverlight se diffuse rapidement, l'avantage revient donc largement au Flash player et cela devrait se vérifier pendant encore au moins un à deux ans.

Si on prend l'exemple concret d'une application web cartographique développée avec les API web ArcGIS (en prennant en compte les versions des plug-in supportées):

  • en déployant une application Flex, moins d'1 visiteur sur 10 devra installer préalablement le plug-in Flash
  • en déployant une application Silverlight, 5 visiteurs sur 10 devront installer préalablement le plug-in Silverlight

08 mars 2010

Flex vs. Silverlight – Les plug-in (1)



Point important dans notre comparaison, sur quelle plateforme vais-je pouvoir déployer mon application Flex ou Silverlight ? L'archtecture de Flex comme celle de Silverlight repose sur la présence d'un plug-in, ce petit programme complémentaire qui doit être installé dans le navigateur du client préalablement à l'exécution de l'application web.

Les plug-in

Dans les deux cas, ils ont le même objectif: permettre l'exécution de l'application dans le navigateur. Le Flash-player est la machine virtuelle qui exécutera vos applications Flex, le plug-in Silverlight est la machine virtuel le qui exécutera vos applications Silverlight. Dans la grande majorité des cas, la page hébergeant votre application contiendra les tests nécessaires pour identifier si le plug-in est présent (ou quelle version est présente) sur le poste du client. Le cas échéant, le lien de téléchargement est proposé à l'utilisateur.

Tailles

La taille du Flash-player (10.0.45) est de 1.86 Mo et celle du plug-in Silverlight (3.0.5) est de 4.7 Mo. Cette différence de taille, qui n'est générallement pas un enjeu majeur, s'explique par le contenu de chaque plug-in.
Le plug-in Flash ne contient que la machine virtuelle (l'API bas-niveau de Flash) alors que le plug-in Silverlight inclue la machine virtuelle ainsi que la bibliothèque de composants (assemblies) de base nécessaires dans la plupart des applications. Cette stratégie de Microsoft peut se discuter mais elle permet d'économiser le téléchargement répété des mêmes librairies pour chaque application Silverlight.

Coté Flash/Flex, la solution n’incluant pas la bibliothèque de base dans le plugin a pour avantage de décorréler le cycle de vie du Player Flash et du SDK Flex mais ce n’est pas la seule raison. En effet, la stratégie de compilation Flex, et notamment la phase de link avec les bibliothèques, diffère de celle de Silverlight. Par défaut, lors de la compilation d’une application Flex, les composants disponibles dans les bibliothèques utilisées (dont le SDK et donc les composants de base) ne sont inclus dans le fichier SWF final que s’ils sont effectivement utilisés par l’application, ce qui peut également s'avérer un avantage. Flex implémente d’autres stratégies de compilation dont une équivalente à la stratégie Silverlight dans laquelle les librairies sont téléchargées à la volée et mise en cache coté client pour être partagées entre différentes applciations. Flex offre donc une plus grande souplesse dans ce domaine en permettant de maitriser plus finement la taille de l’application.

Les plateformes

La question des plateformes est directement liée à la portabilité. Sur ce point des différences importantes distinguent les deux technologies.

Le Flash-player est disponible sur la plupart des systèmes d'exploitation du marché: Windows, Linux, Macintosh et même Unix Solaris. C'est un atout important comparé à Silverlight qui donne une véritable longueur d'avance à Flex/Flash en termes de portabilité. Aucun système d'exploitation mobile n'est encore supporté pour le Flash-player mais Adobe annonce pour 2010 la disponibilité du Flash-player 10.1 sur plusieurs plateformes mobiles (Palm's WebOS, Android, Windows Mobile, SymbianOS mais malheureusement pas iPhone). Le tableau ci-dessous reprend le détail des plateformes et navigateurs supportés:



Pour le plug-in Silverlight, la portabilité est plus réduite puisque seules les systèmes d'exploitation Windows et Macintosh sont aujourd'hui raisonnablement utilisables. Pour ce qui est de Linux et Unix, Microsoft nous demande de nous en remettre à Moonlight... une implémentation open-source se faisant dans le cadre du projet Mono soutenu par Novell et Microsoft. Moonlight 2 (supportant Silverlight 2) est disponible depuis décembre 2009 mais n'assure pas 100% d'interopérabilité par rapport aux autres plateformes. En ce qui concerne le support des systèmes d'exploitation d'appareils mobiles, Microsoft annonce et montre des versions alpha depuis 2007 un Silverlight Mobile qui pour l'instant brille par son absence ! Le tableau ci-dessous reprend le détail des plateformes et navigateurs supportés:


05 mars 2010

Flex vs. Silverlight – Communications avec le serveur


Toute application Web d'entreprise, cartographique ou non, a besoin d'échanger des informations avec un ou plusieurs serveurs (base de données, résultat d'un traitement, communication, messagerie, flux temps réel, …). Dans le cadre d'une application Web développée avec les API Flex ou Silverlight ArcGIS, la communication avec le serveur SIG est basée sur des mécanismes Rest implémentés par API Rest d'ArcGIS Server. Les classes des API Flex et Silverlight permettent au développeur d'accéder très simplement aux fonctionnalités Rest du serveur SIG. Ceci étant dit, toutes les fonctionnalités de votre application Web ne sont pas fournies par ArcGIS Server. Quelles sont donc les solutions natives de Flex et de Silverlight pour communiquer efficacement avec des composants serveur ?

Flex

Les applications Flex supportent plusieurs techniques de communication distante, basées sur des standards. Voici les trois grandes catégories de communication avec des données distantes:

Communication par Requête/Réponse HTTP

En utilisant le composant HTTPService, le composant WebService du framework Flex ou la classe API URLLoader de FlashPlayer, vous pouvez envoyer ou charger de la donnée non-compressée comme des blocs de texte, de la data encodée dans une URL ou des paquets XML, ou encore des paquets SOAP en utilisant le composant WebService du framework Flex. En utilisant Flash Remoting, pour envoyer et recevoir des paquets AMF, qui utilise un protocole binaire similaire à SOAP (mais beaucoup plus léger). Quelle que soit la technique utilisée, elle pourra s'appuyer sur de l'HTTP ou de l'HTTPS. C'est ce type de communication qui est utilisée par l'API Flex ArcGIS qui proposera en version 2.0 d'utiliser AMF (plutôt que JSON) comme format des paquets échangés.

Communication temps réel

Flex propose également des solutions de connexion de type socket, c'est-à-dire un canal de communication dédié entre le client et le serveur. Pour cela, fin 2007, Adobe a mis en Open Source une partie de sa solution Live Cycle Data Services en nommant cette solution BlazeDS. Basée sur un serveur Java gérant le Remoting et le Messaging, BlazeDS permet de faire du "push" de données en temps réel dans l'application cliente ce qui est impossible en utilisant les techniques standard de requête/réponse HTTP.

Communication par téléchargement de fichiers

L'API FileReference du Flash Player permet l'upload (ou le download) de fichiers directement à partir d'une application Flex vers (ou depuis) un serveur. Pour l'utilisation de l'upload, une configuration spécifique est à mettre en place sur le serveur (script + type de contenu).


Silverlight

Une fois de plus, l'héritage du framework .Net permet aux applications Silverlight de supporter différentes solutions de communication pour l'échange de données avec des serveurs distants:

ADO .Net Data Services

ADO .Net Data Services est le mécanisme de fourniture de données distantes proposée par Microsoft pour les applications Silverlight. Ce mécanisme permet l'accès et la mise à jour de bases de données distantes exposées sous la forme de ressources REST que l'application cliente manipule via des requêtes HTTP. Les classes DataServiceContext et DataServiceQuery des librairies Silverlight encapsulent les opérations sur les ADO .Net Data Services. L'usage de Linq dans ce contexte se révèle particulièrement efficace.

Services Web

Une application Silverlight peut accéder à des données distantes en accédant à des services web SOAP. Qu'il soit exposé via WCF (Windows Communication Fundation) ou par une autre couche serveur (Java, ASP .Net, …), l'application silverlight construira un proxy généré à partie des métadonnées du service SOAP. Silverlight peut également se connecter des services REST utilisant différents formats de données : XML, JSON, RSS et Atom. Ces différents formats peuvent être facilement manipulés par les composants de sérialisation Linq to XML, Link to JSON ou les composants Syndication.

WCF RIA Services

Technologie très récente (Visual Studio 2008 SP1), les WCF RIA Services permettent de ressoudre des problèmes classiques rencontrés lors du développement d'applications n-tiers comme les RIA. En particulier, les WCF RIA Services permettent de coordonner les logiques d'application entre le middle-tier et le presentation-tier. Ainsi, dès que les règles métiers sont modifiées au niveau du middle-tier, la logique d'application du presentation-tier est automatiquement mise jour (au moment de la compilation).

Communication temps réel

Silverlight propose des solutions de connexion de type socket pour établir un canal de communication dédié entre le client et le serveur. L'espace de nom System.Net.Sockets de Silverlight 3 fournit une implémentation managée basée sur l'interface Windows Socket s (Winsock) et sur UNIX BSD sur Mac OS X.

Communication par téléchargement de fichiers

Silverlight 3 dispose de fonctionnalités pour le téléchargement (upload et download) de ressources comme par exemple des fichiers de contenu XAML, des assemblies .Net, des fichiers multi-médias (images, vidéos, sons, …) ou encore des fichiers de données.

04 mars 2010

Flex vs. Silverlight - Productivité et IDE


Dans le choix d'une technologie de développement, la productivité dans l'écriture du code et la description de l'interface utilisateur de l'application constituent un aspect primordial. Les technologies RIA sont par nature exigeantes dans ce domaine tant l'articulation entre le développeur et le designer doit se faire avec le plus de fluidité possible. La qualité et la productivité de l'IDE (Integrated Development Environment) doit être considérée avec vigilance. Dans ce domaine, Adobe et Microsoft proposent des approches assez différentes.

Flex

Coté Flex, on se rend vite compte que les outils sont matures et probablement les plus productifs pour la conception d'interface. Flex Builder est à la fois complet, efficace et simple à prendre en main en un seul outil permettant aussi bien de gérer l'IHM que de coder en ActionScript. Avec peu de formation, on arrive donc à développer rapidement une première application. On se méfiera tout de même de cette simplicité qui, sur des projets conséquents, peu conduire à un codage mal structuré et s'avérer catastrophique à maintenir. On notera également que Flex étant une technologie uniquement cliente il faut souvent la coupler à des technologies de développement serveur (PHP, .Net, Java, …). Celles-ci étant impossible à intégrer dans Flex Builder, vous devrez manipuler différents outils de développement pour un même projet.

Une application Web ArcGIS dans Flex Builder

Flex Builder (en application complète ou en tant que plug-in pour Eclipse) est donc l'outil incontournable, payant mais assez complet pour ne pas nécessiter d'autres produits. On notera enfin que l'API Flex ArcGIS propose des composants graphiques (ou non) complètement intégrés à Flex Builder ainsi que des templates d'applications.

Silverlight

Coté Silverlight, on retrouve le savoir-faire de Microsoft en terme d'outils de développement avec Visual Studio 2008 (payant) ou Visual Web Developper (gratuit). Outil exceptionnel pour la partie codage, Visual Studio offre l'énorme atout de pouvoir combiner les développements client et serveur si ces derniers sont basés sur la plateforme .Net (ASP .Net, WCF, …). On mettra aussi l'accent sur des fonctionnalités avancées qui peuvent s'avérer extrêmement importante sur des applications complexes comme le Refactoring, Unit Testing ou rofiling pauvres ou innexistantes dans Flex Builder. En revanche, Visual Studio se révèle vite très insuffisant pour la gestion de la partie IHM de votre application et l'outil Expression Blend s'avère rapidement indispensable.


Une application Web ArcGIS dans Microsoft Expression Blend

Avec une approche complètement graphique et très puissante en termes de créativité, l'application Expression Blend produit à la volée le code XAML. Blend (pour les intimes) fonctionne en parallèle de Visual Studio et permet véritablement la mise en place de workflows collaboratifs entre les développeurs et les designers. Chacun son outil, c'est donc l'approche proposée par Microsoft. Pour l'avoir tester sur un véritable projet, cette approche est vraiment payante si vous acceptez d'investir un peu en temps et en licences. On notera également que l'API Silverlight ArcGIS propose des composants graphiques (ou non) complètement intégrés à ces deux outils ainsi que les mêmes templates d'application pour Visual Studio et pour Blend.

03 mars 2010

Flex vs. Silverlight - Les composants


Dans le domaine des composants d'interface (data grid, video player, sliders, …), Flex dispose depuis longtemps de sérieux arguments. En effet, la liste des composants disponibles "out-of-the-box" avec Flex est plus fournie qu'avec Silverlight.

Les composants en standard dans Flex 3

Microsoft a fait de gros efforts en version 2 pour combler son retard et offrir la même richesse de composants d'interface prêt à l'emploi. Les quelques manques de Silverlight ont été comblés en version 3 à part pour les contrôles permettant de gérer l'enregistrement audio et vidéo et la toujours problématique question de l'impression. On notera également l'absence de contrôles en standard pour créer des diagrammes (charting) mais ce manque est largement comblé par les composants (gratuits) disponibles dans le Silverlight Toolkit.

Les composants en standard dans Silverlight 3

En revanche, même si il est souvent plus simple d'utiliser ces composants en Flex, il est beaucoup plus fastidieux de les dériver pour implémenter des comportements complexes par rapport à Silverlight notamment en ce qui concerne la gestion des événements.
Les composants tiers

S'il y a bien un point sur lequel Microsoft peut être fier c'est sur l'offre de composants proposés par des éditeurs tiers. On pourrait citer par exemple les offres d'Infragistics, de Syncfusion ou de Telerik pour illustrer, comme avec ASP .Net, leur complémentarité et le gain apporté aux développeurs qui se lancent sur la plateforme Silverlight. A ces offres commerciales s'ajoutent les composants open-sources proposés sur dans le Silverlight Toolkit.


De son coté, Flex a également des arguments avec une offre commerciale et open-source comme par exemple avec ILOG Elixir mais cette offre reste plus limitée. On notera la magnifique vitrine des composants Flex/Flash que constitue l'application Tour de Flex. Cette dernière propose une rubrique "Maps" dans laquelle on retrouve des exemples réalisés avec l'API Flex ArcGIS.

02 mars 2010

La version 1.6 de l'API JavaScript est disponible

ESRI vient de mettre en ligne la version 1.6 de l'API JavaScript d'ArcGIS Server. Il s'agit d'une version mineure dont vous pouvez tirer profit en modifiant simplment le numéro de version lors du référencement des librairies de l'API JavaScript :
http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6

Brièvement, voici les points notables de cette nouvelle version:

  • Support de Dojo 1.4.1
  • Possibilité de renommer le Namespace Dojo
  • Support du système de coorodnnées Web Mercator Auxillary Sphere (102100) pour utiliser le système de tuilage des fonds Google Maps ou Bing Maps au niveau des couches métiers. Vous pouvez cependant continuer à utiliser l'ancien système de coordonnées Web Mercator (102113).
  • Corrections de différents bugs

Pour connaître dans le détail les évolutions de cette nouvelle version, vous pouvez afficher la page suivante.