« Azure »

[LiveFX] Nouvelle CTP Avril 2009 du Live Framework : Updatez-vous !

18 mars 2009

Suite à mon précédent post, je vais tenter de vous donner plus amples informations sur la nouvelle CTP d’Avril 2009 du Live Framework. Pour rappel le Live Framework est une API permettant d’unifier l’accès aux services Live et en particulier au « Live Operating Environment« .

Le Live Operating Environment (LOE) est en quelque sorte votre ordinateur virtuel hebergé sur le Cloud Azure dans ce que l’on appelle le Live Desktop où vous retrouverez vos applications et données partageable avec n’importe qui et cela accessible depuis n’importe quel de vos devices (ordinateurs, laptop, smartphone, web,….) par des mécanismes de synchronisation assurant notamment le fonctionnement en mode déconnecté.

image

On retrouve LOE dans la version CTP de Live Mesh Tech Preview désormais accessible pour tout le monde (voir ma note du 14mars). Pour les habitués de la technologie Live Mesh Beta (http://www.mesh.com), Live Mesh Tech Preview (http://developer.mesh-ctp.com) est un peu la même à la différence :

  • Live Mesh Tech Preview ajoute la notion d’application, non seulement vos données sont synchronisées sur vos devices et partageable avec vos contacts, mais aussi vos applications. En terme d’usage, dès que vous installez une application dans votre Mesh celle ci est automatiquement installée sur tous vos devices avec la possibilité de partager l’instance à vos contacts. Comme chaque device connecté au Mesh héberge le cache local de votre LOE, les applications comme les données sont accessibles et modifiables en mode déconnecté et automatiquement synchronisées au retour de la connectivité.
  • Le LOE sur Live Mesh Tech Preview est accessible via un service RESTful à l’adresse  https://user-ctp.windows.net/. De part l’utilisation de protocoles standard Internet pour consommer le service (REST, XML/RSS/POX/JSON) le Live Operating Environment est accessible depuis n’importe quelle plateforme, n’importe quelle technologie.

Pour plus d’information sur le sujet, je vous conseille vivement la lecteur de ces quatre articles :

Revenons au vif du sujet : updatez-vous !

Installation de la nouvelle CTP

Tout d’abord pour ceux ayant déjà installé les Live Frameworks Tools, il vous faudra les désintaller avant avec votre Visual Studio fermé !

Vous pourrez ensuite installer le Live Framework Tools for Microsoft Visual Studio April 2009 CTP à télécharger ICI.

Ce package installera à la fois le SDK Live Framework et les extensions pour Visual Studio.

livefxCTPAvril

A la suite de l’installation, vous retrouverez cette CTP en version 0.91 dans votre %PROGRAMFILES%\Microsoft SDKs sous le dossier Live Framework. A ne pas confondre avec le dossier Live Framework SDK qui est l’ancienne version (0.9) que vous pouvez supprimer si vous le souhaitez !

image 

Aussi je vous invite à vérifier la version de votre Live Framework Client qui doit être en version 0.9.3904.1 (à la date de publication de cet article !).

image

Si ce n’est pas le cas, il faudra supprimer votre device de votre Live Desktop et désintaller le Live Framework Client. Vous pourrez ensuite ré-ajouter votre device.

Notez que maintenant Live Mesh Beta et Live Mesh Tech Preview peuvent désormais tourner côte à côte.

Que contient cette CTP et quelles sont les nouveautés ?

Comme la version 0.9, cette nouvelle version contient :

  • Les librairies du Live Framework pour .NET, Silverlight et JS
  • Des exemples
  • L’outil Live Framework Resource Browser, un navigateur web spécialisé pour parcourir le LOE
  • Nouveautés : des codes snippets pour Visual Studio pour
    • Créer une connexion au LOE
    • Créer un MeshObject, DataFeed et DataEntry
    • Créer une Query et énumérer une LiveItemCollection

image 

Concernant les nouveautés de cette nouvelle CTP, on notera :

  • Support de Windows 7 et IE 8
  • Le support des Resources Script dans les applications SL et sur le Local LOE
  • Un seul installeur pour le SDK et les outils/extensions VS
  • Ameiloration de la stabilité et performance du client LOE
  • Messages d’erreurs plus explicite
  • Des code snippets pour C#
  • Et une série de mise à jour / correction de bugs

Quelques « breaking changes » dans votre code à corriger !

Si vous avez déjà développé avec le Live Framework, en updatant la librairie .NET avec cette nouvelle version 0.91, votre code risque de ne plus compiler ! Et pour cause, voici les trois principals « breaking changes » dans cette nouvelle CTP :

UserState pour les méthodes Async

Voici le genre d’erreur que vous allez rencontrer : « UpdateAsync/AddAsync take X arguments »

err3 err1

En effet, ces méthodes demandent en paramètre un object nommé « userState » afin de pouvoir passer un objet dans une tache asynchrone. Ce paramètre était jusque là facultatif voir inexistant. Si vous n’en avez pas l’utilité, passez un « null » :)

Le type MIME

Pour ajouter un DataEntry à un DataFeed, nous utilisions la méthode Add (ou AddAsync) de l’objet DataEntryCollection où nous lui passons le stream de notre fichier ainsi que le « slug« , c’est a dire le nom du fichier tel qu’il sera exposé sur le service du LOE.

Le problème est que maintenant un troisième paramètre est requis : le type MIMME du fichier. Il vous faudra donc le renseigner où le laisser à string.Empty si vous ne vous en souciez pas !

err2

ConnectLocal n’existe plus

Avant, pour se connecter sur le LOE local, c’est a dire « hébergé » par notre device via le Live Framework Client, nous utilisions dans notre code la méthode ConnectLocal().

Étonnamment, à la compilation, cette méthode est marquée comme inexistante ! En analysant cette nouvelle CTP au Reflector, nous apprenons que cette méthode est devenue « privée » !

image

Bien entendu cette nouvelle CTP ne supprime pas la possibilité de se connecter sur le client local (Local Desktop), mais la méthode est un peu différente. En effet, on retrouve l’appel de la méthode ConnectLocal dans la méthode Connect :

 connectrlocal2

En fait, maintenant, pour se connecter en local, il suffit juste d’appeler la méthode Connect (ou ConnectAsync) en passant « null » comme credential :

image

En vous souhaitant une bonne « méshification » :)

[LiveFx] Nouvelle CTP du Live Framework pour TOUS !

14 mars 2009

Et oui, depuis la sortie de la nouvelle CTP du Live Framework plus besoin d’avoir une invitation (token) pour pouvoir créer son compte sur Live Mesh Tech Preview ! Maintenant tout le monde peut développer ses applications à l’aide du Live Framework.

Pour cela rien de plus simple, rendez-vous sur https://lx.azure.microsoft.com/Cloud/Provisioning en vous identifiant avec votre Live ID.

Dans la page « Add Project », vous trouverez le lien pour activer votre compte :

lx

Observez le token :)

tokenFree

Et en deux cliques votre compte est activé,

invitOK

Vous disposerez alors de 25 projets pour développer des applications Mesh:

 OK2

… ainsi que d’un accès au Live Mesh Tech Preview : https://developer.mesh-ctp.com/ (adresse du service REST : https://user-ctp.windows.net/). Pour le SDK et les Tools en CTP Avril 2009 c’est ici !

A bientôt dans un prochain post sur les nouveautés de cette CTP :)

[Azure] SQL Data Services : le nouveau plan !

13 mars 2009

SQL Data Services (SDS) est l’un des services offert sur la « Azure Services Platform » qui offre une « extension de la plateforme SQL Server sur le cloud Windows Azure ». D’ailleurs son nom initial était « SQL Server Data Services ».

image

SDS avait été annoncé au MIX08 comme un service de base de données flexible utilisant les protocoles standard d’Internet (REST, XML, …). C’est depuis la PDC08 en Novembre 2008 que nous avons pu découvrir et jouer avec cette nouvelle technologie.

De part sa conception « on-the-cloud » SDS fourni une haute disponibilité et monté en charge. De plus l’administration est complètement délégué et automatisé par le service, plus besoin de gérer la configuration, maintenance ou la mise en place de plan de backup. SQL Server devient alors un service à la demande que je créé ou supprime en fonction de mes besoins et paye en fonction de ce que je consomme.

SDS reposait alors sur un modèle de donnée nommé ACE :

  • Authority : unité géographique associé a un nom DNS (https://<MonAutorite>.data.database.windows.net/) et contient des containers
  • Container : unité de consistance contenant des entités
  • Entity : unité de stockage constitué de propriétés type Clé/Valeur.

Le schéma n’était donc pas imposé (on pouvait mettre par exemple une entité « Client » et « Facture » dans un même container – de même plusieurs versions d’une entité pouvait cohabiter), ce qui donné le coté « flexible » de ce service. La base de données étant après exposée en REST ou SOAP sur les front-end SDS et nous utilisions une syntaxe « à la LINQ » pour le requêtage.

Oui mais voilà, ça c’est du passé : oubliez tout ce que vous savez sur SDS :)

SDS : Le nouveau plan

Nous étions sans nouvelle de l’équipe SDS depuis fin octobre 2008, date à laquelle SDS fut présenté à la PDC08. Fin février la team SDS nous explique pourquoi son silence : « on a un nouveau plan, il sera annoncé prochainement » !

Après presque deux semaines de suspense, ce mardi 10 mars 2009, l’équipe SDS nous annonce :

  • On oublie le modèle ACE qui sera supprimé au profit d’un traditionnel modèle de SGBD (tables, SP, triggers, vues, index, ….)
  • On oublie la syntaxe de requêtage à la LINQ au profit du T-SQL

En clair SDS devient véritablement un SQL Server hébergé sur le cloud Windows Azure et accessible comme un service !

Ce qui est bon pour nous développeurs, c’est qu’il n’y aura « quasiment » aucune migration à apporter dans nos applications que l’on utilise un serveur local « on premise » ou Azure « on the cloud ». L’équipe SDS parle d’une « expérience » où il n’y aurait que notre chaine de connexion (connectionString) à changer !

Coté technique tout fonctionnera sur le protocole TDS (Tabular Data Stream) le protocole qu’utilise déjà SQL Server ! Vous utiliserez SDS tout comme vous utilisez un serveur MS-SQL aujourd’hui !

Coté sécurité c’est une authentification SQL qui sera proposée et le tout encapsulé dans du SSL pour garantir la confidentialité des communications.

Et la flexibilité du modèle de donnée et utilisation des protocoles standards Internet dans tout ca ?

Pour le coté « flexible » il faut se tourner vers le Azure Storage Table qui fourni un modèle de donnée flexible basé sur des entités ayant une collection de propriétés dans la même ligné que le modèle ACE. Cela stoppera les confusions dans le rôle que remplissent ces deux services.

Pour ce qui est de l’utilisation des protocoles standard internet comme le REST, nous utiliserons ADO.NET Data Services (Astoria) pour exposer nos bases de données qu’elles soient « on premise » (SQL Server) ou « on the cloud » (SDS).

Next Step

Pour l’instant rien de tout ça n’est encore concret ! Aucune annonce quant à la disponibilité d’une première version de ce nouveau SQL Data Services mais j’aurai la chance de pouvoir assister à la session « What’s New in Microsoft SQL Data Services MIX09-T06F » au MIX09 à Las Vegas la semaine prochaine où nous aurions certainement plus d’information sur le sujet.

Sources :