16 juin 2009

Formation SOA Architecture orientée services

image L’applicatif aujourd’hui est connecté vers le reste du système de l’entreprise ou n’est pas. Fort de plusieurs années d’expérience dans la mise en oeuvre de systèmes connectés, j’ai créé une formation pour tous ceux souhaitant mettre en oeuvre des applications orientées services avec Visual Studio 2008:

  • quelles technologies sont offertes par .NET (WCF, .NET RIA Services, Workflow Foundation, Web Services ASMX)
  • quelles technologies choisir
  • comment prévoir les mises à jour et l’intéropérabilité
  • comment sécuriser et fiabiliser les échanges, et mettre en oeuvre les protocoles standards des Web Services WS-*

Le tout dans une formation de 5 jours, qui peut être organisée sur mesure dans vos locaux.

Au cours de la formation, à titre de travaux pratiques, les stagiaires réalisent eux-mêmes plusieurs applications connectées:

  • Un service Web SOAP simple exposé par ASP.NET
  • Un service WCF sécurisé
  • Un système d’audit hébergé par un moteur Workflow Foundation
  • Un service REST exposé par .NET RIA Services
  • Une application WPF utilisant l’un des services
  • Une application Silverlight utilisant l’un des services

02 juin 2009

Silverlight et Mac

image Grosse déception aujourd’hui en testant une application Silverlight sur Mac: ça n’est pas prévu.

Je pensais que le support de Silverlight sous Mac n’était qu’une formalité, les messages émanant de Microsoft jusqu’ici étant orientés dans ce sens. Mais en fait, non.

Comme on peut le voir sur cette page de Microsoft en regardant de très près (on m’avait bien dit de toujours lire les petits caractères), sur les Mac équipés de PowerPC seul Silverlight 1 tourne. Silverlight 2 nécessite un Mac doté d’un processeur Intel. Ce qui est embêtant car Apple produisait encore des ordinateurs munis de PowerPC il y a deux ans.

Il y a apparemment un hack pour faire tourner Silverlight 2 sur un Power PC, mais j’ai fait un essai rapide sur un iMac et ça ne fonctionne pas pour moi. Bizarrement, Silverlight 2 accepte de s’installer, mais sur la page de lancement de l’application j’ai toujours le message “Installer Silverlight”. D’ailleurs les commentaires sur la page du hack font état du même problème.

17 mai 2009

Taux de pénétration Silverlight

Si je fais une application Silverlight, elle ne s’affichera que sur les navigateurs ayant Silverlight. Je peux toujours demander aux visiteurs de mon site de l’installer, mais par défaut quelle proportion d’internautes ont Silverlight?

Le site RIAStats nous donne une réponse. Au 17 mai, pour la France, 36% des navigateurs ont Silverlight 2 installé. Contre 71% qui ont Flash 10 installé (et 94% qui ont Flash 9 ou 10 installé).

Clairement, le plugin Flash est mieux implanté que celui de Silverlight. On s’en doutait, vu l’historique. Mais ce qui est très intéressant, c’est l’évolution extrèmement rapide de Siverlight. Toujours d’après RIAStats et pour la France, Silverlight était présent sur 21% des navigateurs le 15 février, et sur 30% des navigateurs le 16 mai. Soit une progression de 9 points en 3 mois:

image

L’image ci-dessus montre en bleu le pourcentage de navigateur n’ayant pas le plugin Silverlight en France de février à mai 2009. J’ai étiré l’échelle pour qu’on ne voie que la zone 60-80%.

03 mai 2009

Decouvrez tout .NET en une journée

netlogotrans Aujourd’hui, .NET est devenu un énorme morceau. Difficile de l’appréhender en quelques jours, du coup la majorité des développeurs se résigne à n’en connaître qu’une partie. Ce qui est fort dommage, car si on utilise à bon escient l’ensemble des outils disponibles au sein de Visual Studio 2008 SP1 aujourd’hui, on peut développer en quelques dizaines de jours une application qui aurait pris quelques centaines de jours à développer avec Visual Studio 2005 et le Framework .NET 2.0.

C’est pourquoi j’ai créé une formation d’une journée (qui peut s’animer en 1/2 journée pour les plus pressés) qui permet aux développeurs de découvrir tous les outils de .NET 3.5 et 4.0 à travers un développement concret d’application. J’anime cette formation pour les élèves ingénieurs de Télécom Paris, qui après un cursus Java découvrent ainsi .NET en quelques heures, et voici un retour:

“Je voulais vous remercier, ce cours était très impressionnant, programmer un projet (même simple) à la volée avec autant de technologies et en public était un pari osé.
Bref, j'ai adoré votre cours.”

Arnaud C, élève à l'ENST

Alors si vous souhaitez que j’anime cette formation pour votre équipe, n’hésitez pas à me contacter.

La formation: .NET à 360° - Mise en œuvre d'un développement exigeant.

23 avril 2009

Snippet Visual Studio pour propriété notifiant avec INotifyPropertyChanged

image Si comme moi vous écrivez des applications Silverlight ou WPF avec le modèle MVVM, vous en avez sûrement assez d’écrire le code (verbeux) d’une propriété notifiant de ses changements.

Voici un snippet Visual Studio permettant de vous simplifier la vie. Placez-le dans un fichier MonSnippet.snippet, allez dans le menu Outils/Gestionnaire des extraits de code et cliquez sur le bouton Importer. Sélectionnez le fichier MonSnippet.snippet que vous venez de créer et c’est gagné. Pour l’utiliser vous n’avez plus qu’à taper propnotif dans votre code et appuyer sur la touche Tab.

Code à mettre dans lefichier MonSnippet.snippet:

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>
        Notifier property.
      </Title>
    <Shortcut>propnotif</Shortcut>

    </Header>
    <Snippet>

      <Declarations>
        <Literal>
          <ID>PropertyType</ID>
          <Default>string</Default>
        </Literal>
        <Literal>
          <ID>PropertyName</ID>
          <Default>MyProperty</Default>
        </Literal>
        <Literal>
          <ID>FieldName</ID>
          <Default>myProperty</Default>
        </Literal>
      </Declarations>
      <Code Language="CSharp">
        <![CDATA[
                    $PropertyType$ $FieldName$;
                    public $PropertyType$ $PropertyName$
                    {
                        get
                        {
                            return $FieldName$;
                        }
                        set
                        {
                            $FieldName$ = value;
                            base.RaisePropertyChanged("$PropertyName$");
                        }
                    }
                ]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Ce snippet suppose bien sûr que vous héritez d’une classe ayant une méthode RaisePropertyChanged(string propertyName).

21 avril 2009

Ecart type en Silverlight avec LINQ

Pour une fonctionnalité de sécurité dans projet Silverlight, j'avais besoin de calculer l'écart-type (standard deviation) d'une série de nombres. Google étant notre ami, j'ai rapidement trouvé un exemple de code. Mais c'était du code d'avant LINQ. Il y en a pour 70 lignes.

Grâce à LINQ, on peut calculer un écart-type en 3 lignes seulement. Ca fonctionne avec Silverlight 2 (et 3) et avec n'importe quelle application .NET 3.5 (WPF, ASP.NET, ...). Voici mon code:

using System;
using System.Data.Linq;

public static class SecurityMaths
{
    public static double StandardDeviation(this IEnumerable<double> data)
    {
        double average = data.Average();
        var individualDeviations = data.Select(num => Math.Pow(num - average, 2.0));
        return Math.Sqrt(individualDeviations.Average());
    }
}

Notez que j’ai défini la méthode en méthode d’extension, ce qui permet de l’utiliser comme la méthode Average de LINQ. On peut donc à l’utilisation écrire:

double[] numbers = new double[] { 2,4,4,4,5,5,7,9 };
double average = numbers.Average();
double standardDev = numbers.StandardDeviation();

Notez la lisibilité du code, il est presque aussi clair que la définition mathématique de l’écart-type. Merci qui? Merci LINQ!

08 avril 2009

Tutoriel Windows Azure – partie 1

azurelogo Besoin de faire vos premiers pas en tant que développeur sur la plateforme Windows Azure? Suivez le guide.

Dans cette première partie, nous configurons notre machine, ce qui a déjà de quoi occuper notre soirée.

Etape 0: assurez-vous que vous avez entre les mains une machine de test, ou utilisez une machine virtuelle. Certains logiciels sont en version CTP, ce qui veut dire qu’ils pourraient vous causer des problèmes lors d’un passage vers la version finale quand elle sera disponible.

Etape 1: inscrivez-vous pour recevoir un code d’accès.

Etape 2: prenez Windows Vista ou Windows Serveur 2008 et installez-y les logiciels suivants:

  • IIS 7 (c’est une feature de Server 2008 à activer, voyez ici)
  • Visual Studio 2008 SP1 ou Visual Web Developer 2008 Express SP1, ce dernier étant gratuit

Etape 2: installez les logiciels suivants. Bon à savoir: il faut avoir au moins Windows Vista ou Windows Server 2008 pour les installer.

Etape 3: allez-voir dans votre boîte mail si vous avez reçu le code d’accès. L’e-mail contient les informations nécessaires pour finaliser votre inscription à Windows Azure:

image

Vous êtes prêt. Suite dans la partie 2, à venir.