Tech Ed Europe 2010 à Berlin : Le 10 novembre 2010 | Jean-Luc Boucho - Blog sur .NET, l'Architecture et Windows Azure

mercredi 10 novembre 2010

Tech Ed Europe 2010 à Berlin : Le 10 novembre 2010

Les sessions continuent à s’enchaîner pour cette deuxième journée.
Voici ma sélection du jour.

Session : Architecture Discovery with Visual Studio 2010 Ultimate, par Peter Provost (Senior Program Manager - Visual Studio)
Visual Studio 2010 Ultimate pour l'architecte

La problématique actuelle est la complexité croissante des solutions logicielles, et aussi la quantité croissante de code existant à reprendre.
De plus, les méthodes Agile donnent plus de liberté aux équipes de développement dans les choix de conception et d'architecture. Comment donner une meilleure vision d'une solution ‌ Avec Visual Studio, qui se concentre sur les développeurs et les architectes.

Fonctionnalités spécifiques à Visual Studio Ultimate:
- DGML Dependancy graphs : cela permet de générer automatiquement un graphe de dépendances entre assemblies, namespaces ou types, avec ou sans le code (reverse engineering). La navigation permet ensuite de descendre visuellement au niveau des méthodes et de leurs appels (mode butterfly). Plusieurs vues sont disponibles : horizontale, verticale, cluster (les composants les plus utilisés sont placés au centre), avec plusieurs options possibles (afficher les membres public, privé...). Enfin, le graphe est représenté par un fichier xml (extension .dgml) que l'on peut générer soi-même.
- Architecture Explorer : nouvelle navigation à travers la solution
- Layer Diagrams and Validation : l'utilisateur peut créer ou générer les couches, leurs contenus (namespaces, types....) et leurs dépendances, ce qui permet ensuite de valider le modèle pour s'assurer que les contraintes de dépendances sont bien respectées. L'objectif est de fournir une vue logique de la solution.
- UML Modeling : diagrammes de Class, Sequence, Activity, Use Case. Le Modeling Feature Pack, à installer en plus de Visual Studio, permet notamment de générer automatiquement les deux premiers types de diagrammes à partir d’un code existant et sera intégré dans la prochaine version de Visual Studio (à ne pas confondre avec les Power Tools qui sont des outils supplémentaires qui ne rentrent pas systématiquement dans la prochaine release). Les diagrammes ne sont pas liés au code (aucune mise à jour automatique), et sont plutôt utilisés comme un moyen de communication standardisé.
- Reverse Engineering Tools


Session : Architecting Claims-aware Applications (with Windows Identity Foundation and Active Directory Federation Services), par Dominique Baier (Thinktecture)
Claims : l'essentiel

Limitations du modèle d'identité en entreprise :
- Représentation limitée de l'identité
- Certaines applications ne font pas partie du domaine
- Certaines applications ne supportent pas l'authentification Windows

Procédons par étapes.

1. Avoir son propre fournisseur d'identité interne, grâce à Active Directory Federation Services qui se connectera à Active Directory pour réaliser l'authentification. Etant donné qu’il doit exister une relation de confiance entre l'application et le fournisseur, il faut déclarer l'application au niveau d'ADFS et déclarer le fournisseur (ADFS) au niveau de l'application (section Microsoft.identityModel dans le fichier web.config).

<federatedAuthentication>
   <
wsFederation
passiveRedirectEnabled="true"
issuer="http://localhost:8000/STS/Issue/"
realm="http://localhost:10123/WIFAuthentication"
requireHttps="false" />
   <cookieHandler requireSsl="false" />
</federatedAuthentication>

Un bon claim (revendication) représente de manière unique l'utilisateur et doit soulager l'application en termes d'interprétation des permissions. Ainsi, il faut tirer parti des règles de transformations des claims présentes dans ADFS pour fournir des informations prêtes à l'emploi pour l'application. Ce mécanisme évite de mélanger les informations d'authentification et les informations d'identité réellement nécessaires à l'application.

2. Bénéficier de la Fédération d'identité. Avec ADFS, il est donc possible d'avoir une séparation entre identité système et identité applicative, autorisant ainsi différents types d'administrateurs.
De plus, les identités de l'entreprise peuvent être projetées à l'extérieur, pour des partenaires par exemple, à partir du moment où ils établissent la relation de confiance avec le fournisseur d'identité de l'entreprise. Typiquement, on exposera aux partenaires un serveur ADFS proxy dans la DMZ qui, lui, s'adressera au serveur ADFS de l'entreprise.

3. La fédération peut se décliner sous plusieurs formes : entre entreprises et partenaires, en mode SaaS, et sur le Cloud avec le STS : Windows Azure AppFabric Access Control qui, au-delà de la haute disponibilité, supporte une grande variété de protocoles et de types de token. L'idée étant de découpler complètement l'application du fournisseur original d'identité et des protocoles qu'il utilise, en passant par un STS intermédiaire qui jouera le rôle de passerelle en terme de protocole, et transformera les claims reçus pour qu’ils soient de même nature en cas d'utilisation de plusieurs fournisseurs d'identité (LiveID, Facebook, ActiveDirectory…).


Session : Beyond PLINQ : Scaling out your Applications with DryadLINQ, par Stephen Toub (Parallel Computing Platform)

Fait actuel : on observe une explosion des volumes de données en entreprise (10Mo en 1960, 10 Po en 2010), idem sur Internet (21 Exabytes échangés par mois).
Solution : au lieu d'amener les données vers les centres de calcul, il s'agit d'amener les calculs sur les lieux des données.

Les difficultés :
- Le code est très différent du code séquentiel classique et même du code parallèle (pas d'échange de données...)
- Le déploiement des traitements sur les machines requiert des efforts (packaging, management...)

Objectifs de DryadLINQ :
- Donner accès aux développeurs .NET à des traitements de type scale-out
- Proposer un modèle de programmation et un runtime: supporté par HPC Server et Azure, robuste, tolérant aux pannes et optimisé

Rappel des variantes LINQ :
- LINQ : requêtage intégré au langage
- PLINQ : rajoute l'extension AsParallel()
- DryadLINQ : rajoute l'extension AsDistributed(), et tire parti de C# Asynchrone (mot clé await, voir le post précédent sur le futur de C#)

De manière transparente, DryadLINQ analyse les expressions LINQ, génère des assemblies qu'il déploie automatiquement sur les nœuds de calcul du cluster, puis il gère l'exécution et la récupération des résultats. L'avantage de DryadLINQ est sa flexibilité et sa complète gestion automatisée de l'exécution.
DryadLINQ
Techniquement, DryadLINQ fournit un provider LINQ qui génère le code et effectue les optimisations statiques, et gère un graphe d'exécution avec les dépendances de traitements qui lui permet de savoir ce qui peut être parallélisé ou non.

Un élément important et nécessaire au parallélisme est le partitionnement des données. C'est pourquoi DryadLINQ tire parti de MapReduce qui est un pattern mais aussi une méthode LINQ du même nom qui facilite le partitionnement des données et la récupération des résultats.

DryadLINQ peut être utilisé avec un moteur d'exécution local (durant le développement) ou avec Windows HPC Server.
Concernant le support d'Azure, c'est évidemment une cible forte mais le plus gros problème concerne le transfert des données (potentiellement très volumineuses) vers et depuis le Datacenter. Malgré tout, un prototype interne fonctionne déjà.


Session : What's New in Microsoft SQL Azure, par David Robinson (Senior Program Manager)

Dans cette session, ne sont abordées que les nouveautés de SQL Azure, et elles sont nombreuses !

Nouveau portail d'accès
- Interface en Silverlight, intuitive
- Assistants pour les tâches courantes
- Filtrage et pagination riche
- Vision unique de plusieurs souscriptions
- Intégration du gestionnaire de base (Houston)
Ce nouveau portail est maintenant très élaboré, et n'a plus rien à voir avec l'ancienne version.
Disponible avant fin 2010

Nouvel environnement de développement, Code-Name Juneau
- Environnement très productif pour SQL Azure, Windows Server et Business Intelligence
- Support de projets en mode connecté ou non
- S’adapte au type d’édition Visual Studio
- Mode sandbox (instanciation dans le processus de Visual Studio, sans service Windows)
SQL Azure Reporting

SQL Azure Reporting, Reporting as a Service
- Conception des rapports avec les outils familiers
- Publication dans le Cloud, ou embarqué dans l'application
- Consultation dans l'application, ou depuis le navigateur
- Plusieurs formats d'export
- Expérience développeur identique à SSRS
Disponible avant fin 2010
SQL Azure Federation

SQL Azure Federation
- Support du scale-out, par un partitionnement des données
- Tire parti de l'élasticité
- Zéro administration physique
- Opérations de partitionnement, split et merge
- Ceci vient avec une panoplie de nouveaux concepts (partition table, federation key...) et de nouveaux mots-clés SQL.
Il s'agit d'une nouveauté significative puisque les données seront réparties sur plusieurs serveurs, en fonction des valeurs de partitionnement, ce qui autorisera une réelle scalabilité de la base relationnelle.
Disponible courant 2011

SQL Azure Data Sync
- Synchronisation entre bases SQL Server et SQL Azure
- Support Cloud to Cloud
- Configuration et scheduling (aucun code à écrire)
- Gestion des conflits
- Supervision

Et pour la suite (2011 et plus), il faut s'attendre à:
- BI as a Service : SSRS et SSAS
- Support de l'import et export des données, backup et restore
- Amélioration du support multi-tenant
- Support JDBC
- ...

Une session finalement très riche en présentations, et produisant une bonne vision des produits et fonctionnalités à venir.

Aucun commentaire: