En avant pour la sélection du jour.
Session : Advanced Report Authoring Techniques with Microsoft SQL Server 2008 R2 Reporting Services, par Yi Liao (Senior Program Manager)
Voici un panorama des fonctionnalités avancées présentes dans la dernière version de Reporting Services.
Fonctions avancées de Tablix
Tablix permet de créer des tableaux complexes, puisqu'il est possible de définir des groupes (parent / enfants) de colonnes et de lignes, ainsi que les valeurs et formules de calcul à leur croisements, ce qui permet donc d'avoir une navigation de type drill-down.
Vous y trouverez des formules de calcul avancées, des options de filtrage des éléments à afficher, et surtout un designer puissant présent dans Report Builder et BIDS (Business Intelligence Development Studio, une variante de Visual Studio pour la BI).
Vous y trouverez des formules de calcul avancées, des options de filtrage des éléments à afficher, et surtout un designer puissant présent dans Report Builder et BIDS (Business Intelligence Development Studio, une variante de Visual Studio pour la BI).
Connexion à de nouvelles sources de données
- SharePoint : un nouveau designer permet de créer sans effort le document XML de requête d'une liste SharePoint
- SQL Azure : on s'y connecte aussi facilement qu'à SQL Server, puisqu'il suffit d'utiliser une chaîne de connexion Azure, la suite des opérations étant identique
- PowerPivot
Nouvelles fonctions d'expressions dans les rapports
- Fonctions d'agrégats d'agrégats, exemple : SUM(AVG(...), ...)
- Fonctions de recherche et de matching de données avec un autre dataset (Lookup, Lookupset, MultiLookup)
- Fonctions de nommage des feuilles Excel en fonction des données
- Expression conditionnelle sur le rendu, par exemple : cela permet d'activer ou le drill-drown selon que le rapport est interactif ou non
- Les éléments du rapport (Tablix, Gauge...) sont consultables sous forme de flux RSS, les URLs produites répondant à un pattern documenté
Et bientôt... Reporting Services 2011, Code-Name Crescent
Au menu : plus d'interactivité, des animations, des alertes utilisateurs avec la capacité de définir des règles et aussi toujours plus de scalabilité (scale-out) avec Azure et SharePoint.
Session : The Future of Parallel Programming in Visual Studio, par Stephen Toub (Parallel Computing Platform)
Beaucoup d'axes de travail : certains éléments sont disponibles en CTP, d'autres arriveront plus tard et d'autres... ne sortiront peut-être jamais !
Le parallélisme aujourd'hui, c'est : des modèles de programmation, des runtimes, des outils... au niveau : du code .NET, du code natif et de la plate-forme (Windows).
Côté CPU, le travail est terminé, tout existe pour gérer une exécution parallélisée. Les efforts vont donc se concentrer sur le reste : le GPU/MPI et le Grid Computing.
Visual Studio : fonctionnalités à venir
- Présence de profiler GPU, MPI
- Présence de debugger GPU, MPI
- Présence d'un Parallel Watch
.NET : fonctionnalités à venir
- La nouvelle version de C# asynchrone (voir mon précédent post sur le futur de C#), avec deux nouveaux mots-clés async et await
- Des nouvelle classes pour gérer les tâches (Task<T>, méthodes d'attente : WhenAll(), WhenAny(), gestion du temps : Delay(ms), CancellationTokenSource(ms))
- Un contrôle du Scheduling : ConcurrentExclusiveSchedulerPair
TPL Dataflow : nouvelle librairie
Son objectif : prendre en charge le buffering et le processing. Il s'agit du résultat de plusieurs années de recherche chez Microsoft Research et Microsoft Robotics.
Les traitements unitaires sont représentés par un objet ActionBlock, et les blocks peuvent être combinés pour créer des réseaux de calculs parallèles et bufferisés (utilisation de files de données).
DryadLINQ : nouveau moteur .NET de Grid Computing
Je vous invite à consulter mon précédent post qui rentre en détail sur ce sujet.
Et ensuite, pour plus d'information : http://research.microsoft.com/projects/DryadLINQ
Parallel Pattern Library : des améliorations sont prévues
C++ : Data Parallel Extensions
Il s'agit d'une librairie permettant de tirer parti efficacement du GPU.
Une application de démonstration qui était limitée par la puissance de son CPU, a vu ses performances augmentées par un facteur x32 lors de l’utilisation de cette librairie, tout en ne consommant que 5% de son CPU. La puissance de calcul alors délivrée a atteint 1 Tflops.
Par contre, il faut que les traitements et les données puissent s'exprimer sous forme vectorielle pour tirer parti de cette librairie.
Session : Developer Introduction to CRM 2011, par Girish Raja (Technical Evangelist)
CRM Online 2011
- Rappel de la gamme Dynamics : Financial Management, Supply Chain Management et Customer Relationship Management
- Dynamics CRM couvre trois domaines : Sales Productivity, Customer Care et Marketing; mais il est possible de créer sa propre solution en utilisant le Framework xRM
- La version Online sera disponible dans 40 pays en janvier 2011
- Extension Outlook : les éléments sont vus comme de vrais éléments Outlook, ce qui permet d'exploiter les fonctions standards (catégorisation, suivi ...)
- Portail de CRM Online : il est basé sur SharePoint 2010, et donne donc accès aux fonctions standards (checkin/out...) ainsi les documents peuvent être également consultables à travers l'interface classique du site SharePoint
- Application Windows Phone 7 exploitant CRM Online
Extensibilités pour le développeur
Les possibilités sont nombreuses :
- Développement d'applications clientes ou serveur en s'appuyant sur les web services REST fournis
- Développement de plugin d'interception des événements de pré/post-traitement des données, en implémentant l'interface IPlugin
- Définition d'entités métiers
- Définition de workflows spécifiques
La plate-forme CRM exploite .NET 4, WPF 4, le typage fort, LINQ, etc.
Noter que la solution peut être packagée en une seule unité pour basculer facilement entre différents environnements (production, test...).
Concernant Windows Azure et l’extensibilité dans le Cloud, il sera possible d'intégrer des pages ASP.NET, et des services externes avec le Service Bus.
L'ouverture de la plateforme a pour conséquence l’évolution du produit vers le xRM (Any Relationship Management) pour indiquer qu'il est capable de faire bien plus que du simple CRM.
Pour ceux qui souhaitent exploiter la plate-forme, un white paper vient juste de sortir.
Pour ceux qui souhaitent essayer gratuitement cette version 2011 en beta, c'est ici.
Session : Windows Workflow Futures, par Ron Jacobs (Senior Program Manager)
Voici les demandes actuelles prises en compte.
Amélioration du Designer
- Support du State Machine, disparu dans WF 4 (version légèrement différente à celle sur CodePlex)
- Annotations : permet d'ajouter du texte dans le designer d'activités
- La recherche de Visual Studio est capable de parcourir les annotations
- Expressions : les expressions VB et C# peuvent être mixées (actuellement, le langage des expressions dépend du type de projet Visual Studio)
- Nouvelles activités : ExecuteSqlQuery, ParallelForEach, SendMail, HttpPost
WCF Workflow Services
Support du pattern contract-first. A partir du code (interface) ou d'un document WSDL, un assistant présent dans Visual Studio génère une activité conforme au contrat.
Versionning et Dynamic Update
Ajout de la notion d'identité de workflow, constitué du nom et d'un numéro de version.
Depuis WF 4, les définitions de workflow ne sont plus stockés avec les instances, c'est là que rentre en jeu l'identité : en effet elle est persistée, ce qui permet par la suite à Workflow Foundation de vérifier que le workflow est bien réinstancié dans la même version.
Par contre, si on souhaite reprendre une instance persistée avec une nouvelle version de workflow, il faut une brique supplémentaire qui indique le lien (mapping) entre l'ancienne et la nouvelle version à utiliser. Cette brique, c'est la Dynamic Update Map.
Session : A-to-Z of Master Data Services in Microsoft SQL Server 2008 R2, par Rafal Lukawiecki (Strategic Consultant, Project Botticelli Ltd)
L’Architecture d’Entreprise est constitué de :
- L’Architecture du Business (change rapidement)
- L’Architecture des Applications (change en suivant le Business)
- L’Architecture de l’Information (la plus pérenne, vie la plus longue)
- L’Architecture de la Technologie (changement imprévisible)
Master Data, ce sont des données importantes, critiques et qui font autorité. Elles sont utilisées dans plusieurs systèmes (LOB, BI...), doivent être cohérentes et créer une dépendance entre les départements, les services ou les personnes.
Exemple: villes, hiérarchies de produits, clients...
Master Data Management : il assure la cohérence des données, améliore la qualité des données, en s’appuyant sur un ensemble d’outils. La clé : la modélisation des données.
Il a pour objectif d’aligner les données sur l’ensemble des systèmes, en fournissant une version unique de la vérité et améliorant la cohérence opérationnelle et du reporting.
Le MDM comporte trois processus :
- L’importation et l’intégration
- La modélisation
- L’exportation et l’abonnement
Ces processus s’enchaînent dans un cycle, où ce qui est exporté est réimporté plus tard dans le début d’une nouvelle itération. Les données peuvent donc évoluer, et la clé est le versioning : un référentiel peut exister en plusieurs versions, et plusieurs zones du SI peuvent utiliser des versions différentes.Master Data Services, le nouveau produit de Microsoft intégré dans SQL Server 2008 R2 Entreprise, DataCenter et Developer
Il comporte trois outils : Master Data Manager (l’outil courant pour la gestion), MDS Configuration Management (l’outil de configuration initial), MDS web service (pour l’extensibilité et le pilotage).
Master Data Manager permet de définir un modèle de données, une version de travail, des entités et attributs, des collections, des hiérarchies explicites (exemple : catégories/sous-catégories) ou dérivées (arbitraires), des règles de validation pour assurer la qualité des données et des opérations d’importation et d’exportation des données.
Et le futur… de SQL Server, Code-Name Denali
- Modifications mineures de MDS
- SQL Server Data Quality Service (nouvelle brique de SSIS pour assurer la qualité des données)
- Nouvel outil d’analyse d’impact (quelles sont toutes les bases de données impactées par l’évolution d’une donnée)
- De manière générale, amorcer une réflexion en termes de qualité des données et de gouvernance