May.19

[LiveFX] Le Resource Model et l’annonce du Live Framework Explorer 1.0 lors du MIX09 à Las Vegas

Depuis le temps que je devais publier cet article resté près de deux mois dans mes brouillons, voila qui est fait !

Vous vous en souvenez peut être en début d’année de la sortie de MOB : Mesh Object Browser, une application WinForm fort bien utile pour les développeurs et ceux voulant comprendre le modèle de ressource du Live Framework.

image Le Live Framework que je vous ai présenté dans mon post consacré à la nouvelle CTP d’Avril 2009 est, je me cite, "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 hébergé 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é.

Votre Live Operating Environment est exposé au travers d’un service REST sur le protocole standard du Web qu’est le HTTP. Le format de retour se précise avec le champ "Accept" de l’entête HTTP de votre requête. Au choix :

  • ATOM
  • JSON
  • POX
  • RSS
Azure,Live Mesh

Mar.18

[Astuce] Deviner le type MIME d’un FileInfo

Depuis la nouvelle CTP du Live Framework vous avez remarqué qu’on était désormais « obligé » de passer le type MIME d’un fichier que l’on ajoute via la méthode DataEntryCollection.Add/AddAsync (voir mon post précédent).

Pour récupérer le type MIME d’un fichier, le plus simple est de regarder dans le HKEY_CLASSES_ROOT du registre pour récupérer la clé ayant pour nom l’extension et de regarder la valeur du « Content Type » :

image

Côté code, voici comment faire cela simplement :

A l’exécution contentType vaudra « image/jpeg », le type MIME d’un fichier .JPG !

Afin de faciliter nos développements, nous pouvons, à partir de ces deux lignes de code, créer une méthode d’extension sur la classe FileInfo. Voici son code :

De façon a pouvoir l’utiliser simplement de la manière suivante :

Vous remarquerez que si le type MIME n’est pas trouvé nous renverrons un « application/octet-stream« .

Bon développement 😉

Dev,.NET

Mar.18

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

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.
Azure,Live Mesh

Mar.14

[LiveFx] Nouvelle CTP du Live Framework pour TOUS !

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,Live Mesh

Mar.13

[Azure] SQL Data Services : le nouveau plan !

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

Feb.21

[.NET 4.0] Introduction à MEF : Managed Extensibility Framework

image Bientôt disponible dans la nouvelle version de la plateforme .NET de Microsoft, le .NET 4.0 introduira le framework MEF actuellement disponible en code ouvert sur CodePlex.

MEF pour Managed Extensibilty Framework, que vous trouverez sous le namespace System.ComponentModel.Composition, est une librairie .NET facilitant le développement d’application extensible.

C’est le travail résultant de l’équipe « Application Framework Core »  responsable d’harmoniser les frameworks applicatifs (type WinForm, SL, WPF et ASP.NET) de la même façon que le fait l’équipe de la BCL (Base Class Library) au niveau le plus bas de .NET.

Développer avec MEF, comment ca marche ?

Aujourd’hui pour concevoir nos applications de façon extensible, nous sommes souvent obligé de développer notre propre système d’extention. L’arrivée, fin 2007, du .NET 3.5 a ouvert une brèche dans la mise à disposition d’un framework générique pour le développement de telle application. Le System.Addin (encore nommé MAF, Managed Addin Framework) met à disposition des mécanismes simplifiant la mise en place d’un système d’extension basé sur des AddIns. Je traiterai un peu plus bas dans cet article des différences entre MAF et MEF.

MEF offre quant à lui un mécanisme d’import/export assez original. Le concept est de marquer des classes, variables, propriétés ou méthode par l’attribut Export. Dans d’autre classes vous pouvez alors créer des propriétés marquées de l’attribut Import pour venir importer les classes, variables, propriétés ou méthodes exportés.

MEF n’est pas qu’un simple framework d’ IoC (Inversion de contrôle) bien qu’il propose des fonctionnalités similaires comme l’injection de dépendance (comme le fait aussi StuctureMap ou Unity). MEF met surtout le focus sur la découverte de composant et permet à votre application de se composer par elle-même et cela à l’exécution.

.NET

Feb.10

[TechDays 2009] J-1

TechDays 2009 033Après deux bonnes heures de route en compagnie de Redo et de notre Surface, nous arrivons au Palais des Congrès de Paris pour les Microsoft TechDays 2009 la veille de l’ouverture de l’événement.

Cette année « l’innovation avance avec vous« , l’occasion de parler des dernières technologies à la mode : MS-DOS 6.1, Windows 3.1 et le futur Windows 95 ! Jugez plutôt les stands 🙂

TechDays 2009 020

TechDays 2009 008Plus sérieusement, je voulais bien sûr parler de la stratégie On the Cloud avec Windows Azure (et les SQL Datas Services, .NET et Live Services), le nouveau Windows 7, Surface, .NET 4.0, etc.. Bref que de bonne chose en perspective 🙂

Mais l’heure est aux préparatifs,

TechDays 2009 021 TechDays 2009 031

Avec quand même du beau monde que l’on croise ici et là (ici Redo et Nix),

TechDays 2009 027

Mais en cette soirée passée à l’hotel, l’heure est plutôt aux répétitions (ou pas, hein Renaud)

TechDays 2009 051 TechDays 2009 050

Pour ma part vous me retrouverez le mercredi 11 février de 11h à 12h pour un Lab sur Silverlight : Découverte des templates en Silverlight  (WKS103)

image

TechDays 2009