
29 mars 2010
Forums SIG 2010

27 mars 2010
Developer Summit 2010, The End

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)

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
- 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

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.
La présentation de David Chappell


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
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, …).


Add-In



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.
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.
Developer Summit 2010, Plenary Session 1/2
![]() |
| Présentation de la plateforme http://www.arcgis.com/ |
![]() |
| ArcGIS Explorer Online (dans un navigateur web) |
- nouveaux contrôles liés aux nouvelles fonctions d'editing (attribute inspector, editing toolbar, feature template selector, attachment,….)
![]() |
| Présentation d'une application API FLex 2.0 avec animation temporelle |
ArcGIS Mobile for iPhone
![]() |
| Démonstration de l'application ArcGIS Mobile for iPhone |
23 mars 2010
Developer Summit 2010, Ready to go !
ESRI Partner Network
L'API JavaScript ArcGIS 2.0 beta accessible à tous
L'API Silverlight ArcGIS 1.2 est disponible
19 mars 2010
ESRI Developer Summit 2010, J -4
- simplifier et ouvrir les workflows de mise à jour des données SIG (web editing, crowd sourcing, user generated content, …)
- tirer partie du Cloud Computing dans son architecture SIG
- les nouveautés d'ArcGIS 10
17 mars 2010
Social Media Mapper
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
13 mars 2010
Inventorier vos MXD avec ArcCrawler
12 mars 2010
ESRI Mashup Challenge 2010
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

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.

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)

- 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.
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.
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.

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.

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.


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.
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
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.












