Blog du Pôle .NET

Partager pour mieux développer...

MIX10 : Comment gérer les collections sous Pivot

clock March 15, 2010 21:54 by author aequoy

L'après midi commence par une session que j'attendais avec impatience depuis qu'on avait vu cela il y a quelques mois avec Arnaud. Pivot est une nouvelle façon de naviguer et requeter dans de gros volumes de données non organisés.

Je dois avouer que c'est la meilleure session de la journée. 2 PM (Project Manager) sympas et motivés nous ont montré des démos d'utilisation de Pivot dans plusieurs contextes fonctionnels BI.

Pour rappel, Pivot construit des visualisations de données à partir de données existantes stockées dans des bases, datawarehouse ou autre. Le format XML est massivement utilisé ainsi que la technologie deepzoom pour zoomer dans les volumes de données.

Un premier fichier CXML contient les métadonnées de ce que l'on va visualiser. Un fichier DZCs (DeepZoomCollections) va contenir les ensembles de données. Ces DéZedCize (in english)  vont pointer vers de gros paquets de fichiers DZIs (DéZedIze==DeepZoomImages) qui vont représenter les visuels avec gestion des niveaux de zoom. Les métadonnées représentent sous forme de FacetCategory les propriétés des "objets" que nous observons. Ces FacetCategory vont permettre de relier et filtrer les données entre elles.

Une première démo pour l'Associated Press montre l'intégration de Pivot dans SharePoint 2010. C'est un scénario classique de requêtage de données dans des couvertures et articles de presse tel qu'on le connait déjà (pour ceux qui ont suivi le projet).

S'en suit une longue démo d'un scénario décisionnel pour une chaîne de magasin où on nous montre un scénario datas driven. A partir d'un entrepot de données, les graphistes construisent les visuels (DZIs)grâces au fonction de template datas de Photoshop (Grosse pub pour Adobe ??? Tout le monde s'est réconcilié ou quoi ? Elle est où la guerre ?). On imagine que dans quelques temps les template photoshop seront remplacés par des template Xaml (la réponse à cette question est oui).

La session se termine par les best practices :

1st of all : Measure Goals and Audience

2nd : Use generic template

3rd : generate cXML and DZCs on the fly

 

Pivot sera disponible cet été. Vous pouvez aller jeter un œil sur http://www.getpivot.com/

 

Alex

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


MIX10 : Windows Phone 7 généralités

clock March 15, 2010 21:51 by author aequoy

1ère session après la Keynote sur WP7 (Windows Phone 7). On va parler de généralités , de design et aussi de la plateforme hardware.

C'est un project manager WP7 qui est aux commandes.

Une longue présentation du pourquoi de l'interface de WP7 commence alors. Son nom de code est METRO et on nous parle de l'histoire et du pourquoi du design des hubs et des menus. Passage assez intéressant qui montre que MS a vu les choses de manière simple. Pas de fioriture, simple is beautiful. Comparé à l'interface de la pomme que je pratique tous les jours, c'est une autre voie que MS a explorée et je dois dire qu'elle semble assez intuitive et sexy.

Vis-à-vis du design, MS a laissé des portes ouvertes mais vu les recommandations, il ne faudra pas trop sortir des sentiers battus avec nos propres usercontrol et autres car le theming est très lié à METRO.

On peut lancer plusieurs applications en même temps par contre une seule sera active à un instant T avec une exception, la musique qui pourra se jouer en même temps que les autres hubs.

Bing est le moteur de recherche. Office est aussi intégré. On pourra envoyer des MMS.

Les hubs photos peuvent contenir des liens vers des social apps, album facebook, picasa  (nan je déconne :) ). Les applications sur le marketplace auront toutes la possibilités d'avoir un try it before buying.

Zune sera l'interface iTunes de MS pour la synchro PC vers téléphone. L'interface est magnifique et super intuitive.

On attaque la partie hardware. MS oblige les fabriquant à garantir des specs minimales pour leur WP7 :

  • Multitouch 4 points ou plus
  • 256 Mb de RAM ou plus
  • ARMv7 Cortex Scorpion ou plus
  • 3 boutons : Start Search & Back
  • WIFI, BlueTooth
  • Camera 5MPixels
  • GPS
  • Acceleromètre
  • Compas
  • Capteur de proximité (on reviendra là-dessus plus tard mais c'est une fonction pas mal)
  • Landscape Keyboard possible
  • Codec accelerated
  • Vidéo 480 WVGA ou 320 HVGA

 

3 devices présentés : ASUS, LG et Samsung (mais où est HTC?)

Que vient faire l'iphone sur le dernier slide ?? Question qui agace notre esprit d'autant que pendant la Keynote des iphone se balladaient aussi !!! Silverlight sur iPhone ?? (Impossible donc on arrête le fantasme…) Un petit mot à Pierre Lagarde suivi d'un sourire de sa part pour comprendre qu'il y aura bien un truc là-dessous.

Pas mal de déconnexion pendant les démos, on sent que la peinture est fraiche.

Après la keynote, cette session laisse encore énormément de questions en suspend, vivement qu'on attaque la partie Silverlight ( demain matin et après midi).

 

Alex

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


MIX10 : Keynote first impressions

clock March 15, 2010 13:30 by author aequoy

 Début en fanfare pour cette keynote MIX.

Le ton est donné, on ne parle que de Windows Phone. Toutes les technologies présentées : silverlight, XNA, VS 2010 tournent autour de ce qui est possible de aire sur Windows Phone.

Une seule GROSSE ANNONCE et démonstration : SILVERLIGHT sous MAC OS 10. Cela laisse présager une version pour iPhone (?? impossible en fait). Mais que font ces iPhones sur les présentations WP7???

1ère démo : Scott Guthrie a commencé par une créer une application en 10 minutes sous VS 2010. On a pu vérifier que la version de Silverlight était une dédiée à Windows Phone. L'ensemble des contrôles de bases sont présents. L'émulateur est beaucoup plus simple à mettre en place que sous Win Mobile 6. La visibilité du clavier virtuel dépend du contrôle sélectionné. Silverlight est mis en avant en tant qu'outil de dev d'applis.

Pendant les démos, nous avons pu voir les capacités multitouchs de WindowsPhone. D'ailleurs en lançant l'émulateur sur un PC avec écran tactile, l'émulateur intégrera les capacités touch de l'écran.

2nde Démo : Project Manager Blend qui nous a fait une appli de browsing de photo en 5 minutes avec un ViewModel et ce dans Blend 4. Ouah, la claque !! Blend 4 est une tuerie !! L'intégration avec la suite Adobe est native. Le mec passe d'illustrator, photoshop à Blend de manière super simple. Il utilise le Data Panel pour Binder facilement par glisser déposer des données sur des contrôles. Idem pour les behavior et transitions !

Tous les outils sde développements pour WindowsPhone seront GRATUITS !!

La notion de hub a été précisée. Les hubs sont des regroupement d'applications (games, textos, mails, social network...) . Certains hubs sont déjà présents par défaut mais les développeurs pourront en rajouter.

Une seule adresse si vous voulez commencer : http://developer.windowsphone.com

Nous sommes un peu déçu au sortir de cette Keynote. Tout sera publique pendant le MIX, vous aurez le droit en même temps que nous au contenu. Je vous invite tout de même à regarder la Keynote sur le site : http://live.visitmix.com/

Alex

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


MIX10 : Las Vegas arrivée

clock March 13, 2010 21:37 by author aequoy

Nous avons la chance Pascal et moi d'assister au MIX, l'événement Web/UX de Microsoft qui se tient à Las Vegas.

 

Nous sommes arrivés samedi au milieu de la nuit à Las Vegas après quelques galères (voyage de 25 heures, american airlines forever) mais nous avons su plus tard que comparé à certains ce n'était rien. 9h de décalage ça fait mal à l'organisme :). Il y a une cinquantaine de français sur place, beaucoup de web agency.

 

Nous avons retiré nos pass le lendemain et profité de cette journée pour parcourir Vegas et son gigantisme. Tous est démesuré, à l'échelle des Etats-Unis. Nous hallucinons sur les casinos qui ont tous imaginé des stratagèmes décoratifs pour attirer les clients. Entre reproduction de monuments parisiens, new yorkais, colisée, lacs, gondoles vénitienne… rien n'a échappé aux idées des designers :) :).

 

Nous sommes chaud bouillant pour commencer le MIX, pleins d'attentes et d'envies.

 

Vous trouverez des images sur http://picasaweb.google.fr/106982515737921397746/MIX#

 

 

Alex

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Création de cube local avec C# et XMLA

clock April 14, 2009 11:13 by author aequoy

Le décisionnel est un de mes domaines fonctionnels d'origine, il m'arrive de temps à autre de répondre à des questions clients sur cette problématique.

Un client m'a donc récemment posé une colle. Comment faire pour qu'une application puisse créer puis attaquer un cube local programmatiquement via MDX sans passer par la case serveur d'analyse (Analysis Services en l'occurence) ?

Pour ce faire, je me suis tourné du côté de XML for Analysis (XMLA) afin de définir le schéma de mon cube. XMLA est une norme respectée par MS Analysis Services, Hyperion, SAP et SAS (autrement dit c'est un standard de fait sur le marché). Pour celles et ceux intéressés par la norme voyez du côté de ce lien.XMLA sert essentiellement de protocole de dialogue entre un serveur d'analyse et des applications tierces en s'appuyant sur SOAP. Une chose intéressante avec XMLA est qu'en plus d'être un protocole permettant l'interrogation de cubes analytiques, il permet aussi la création de ceux-ci.

Le schéma XMLA sera donc interprété via ADOMD.Net dans sa partie cliente (téléchargeable sur le site Microsoft). Une fois le cube local (*.cub) généré par ADOMD.Net je l'attaque classiquement.

Pour le bien de la démonstration, j'utilise la base Adventure Works afin d'aller chercher mes données mais toute source de données disposant d'une chaîne de connexion fera l'affaire.

1er problème : comment créer mon script XMLA ?

  • 1ère solution : je me tape la grammaire XMLA et je crée tout à la main. Cette solution est sympathique mais prend énormément de temps.
  • 2ème solution : j'utilise mon serveur d'analyse propiétaire et j'extraie un script XML. Loin de moi la fainéantise, mais j'ai privilégié cette approche.

Je vous conseille de récupérer une version gratuite SQL Server Express Advanced disposant des fonctionnalités d'analyse ainsi que les outils Visual Studio For Business Intelligence.

Je crée donc d'abord un projet d'analyse sous Visual Studio avec une source de données ici sur ma base relationnelle Adventure Works.  


 

 

 

 

 

 

 

 

Ma DataSourceView est assez simple :

 

  J'ai donc une table de fait Customer qui va disposer d'une seule mesure (Le nombre de client) exposée selon 2 dimensions : les territoires de vente et les magasins. Un schéma très simple pour l'exercice.

 Une fois publié, je sélectionne ma base de données sous management studio (à télécharger) après m'y être connecté et j'exporte le script XMLA. Bien faire attention d'exporter la base et non le cube !


J'obtiens un script que je sauvegarde sous mon répertoire c:\textcube.txt.

 2ème problème : comment créer la requête qui va manipuler le script pour générer le cube local ?

Le script de création seul ne suffit pas. Il faut l'englober dans un stub qui va se connecter à la source de données. Voici ce script gratuitement :) :

<Batch xmlns='http://schemas.microsoft.com/analysisservices/2003/engine'> 
CUBESCRIPT
<Parallel>  
<Process xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>    
<Object>      
<DatabaseID>Analysis Services Project1</DatabaseID>    
</Object>    
<Type>ProcessFull</Type>    
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>  
</Process>
</Parallel>
</Batch> 

  A la place de CUBESCRIPT, je vais remplacer programmatiquement le schéma créé précédemment.Le stub est sauvegardé dans un autre fichier texte xmlastub.txt.

Notez bien que le DatabaseID doit être identique à celui présent dans le fichier textcube.txt.

S'en suit un programme C# qui va construire la requête :

 
AdomdConnection conn = new AdomdConnection();	
conn.ConnectionString = string.Format("Provider=MSOLAP;Data Source={0}", "c:\\cubedemo.cub"); 
try { 
conn.Open(); 
AdomdCommand cmd = new AdomdCommand(); 
cmd.Connection = conn;                       
string xmlastub = File.OpenText("C:\\xmlastub.txt").ReadToEnd();                    
string xmlacube = File.OpenText("C:\\TestCube.txt").ReadToEnd();                
cmd.CommandText = xmlastub.Replace("CUBESCRIPT", xmlacube);                     
cmd.Execute(); 
Console.WriteLine("ok"); }
catch (Exception ex) { Console.WriteLine(ex.Message); }
finally { conn.Dispose(); } Console.ReadLine(); 

 

Le cube est maintenant généré, il n'y a plus qu'à l'attaquer.

Une petite requête MDX pour la route :

AdomdConnection conn = new AdomdConnection();
            conn.ConnectionString = string.Format("Provider=MSOLAP;Data Source={0}", "c:\\cubedemo.cub");
            try
            {
                conn.Open();
                AdomdCommand cmd = new AdomdCommand();
                cmd.Connection = conn;
                cmd.CommandText = "select {[Measures].[Customer Count]} on columns, {[Store].[Business Entity ID].[Business Entity ID].Members} on rows from [MonTest]";
                AdomdDataReader monReader = cmd.ExecuteReader();
                while (monReader.Read())
                {
                    //lecture
                }
                Console.WriteLine("ok");
            }
            catch (Exception ex) { Console.WriteLine(ex.Message); }
            finally { conn.Dispose(); } Console.ReadLine();

Voilà !

Alexandre Equoy

PS : Si vous souhaitez changer la chaîne de connexion de la source, vous trouverez dans le fichier XMLA les lignes suivantes :

  <DataSources>
                <DataSource xsi:type="RelationalDataSource">
                    <ID>AdventureWorks</ID>
                    <Name>AdventureWorks</Name>
                    <ConnectionString>Provider=SQLNCLI10.1;Data Source=WVFROLDU01\SQL2008_ENT;Integrated Security=SSPI;Initial Catalog=AdventureWorks</ConnectionString>
                    <ImpersonationInfo>
                        <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>
                    </ImpersonationInfo>
                    <Timeout>PT0S</Timeout>
                </DataSource>
            </DataSources>

Sachez aussi qu'Excel est capable d'ouvrir un fichier *.cub directement ce qui permet d'accéder aux fonctionnalités décisonnelles dans Excel sur ce cube local.

TestCube.rar (34,13 kb)

Currently rated 4.5 by 4 people

  • Currently 4.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Silverlight 3 beta disponible

clock March 20, 2009 09:42 by author aequoy

 Microsoft a présenté hier durant le MIX 09 la nouvelle mouture de Silverlight 3.0.

Parallèlement à l’arrivée de la bêta de Silverlight 3.0, Microsoft prépare Expression Blend 3, qui embarquera son propre lot de nouveautés, notamment SketchFlow pour concevoir rapidement et visuellement des interfaces, ou encore l’importation de travaux depuis Photoshop et illustrator.

Les développeurs qui veulent s’essayer à Silverlight 3.0 auront besoin de Visual Studio 2008 SP1 ou au moins de Visual Web Developers Express 2008 SP1.

Voici les différents téléchargements relatifs :

  • Outils Silverlight 3.0 pour Visual Studio (incluent le SDK)
  • Runtimes développeurs pour Windows et Mac OS X
  • Version Preview d’Expression Blend 3
  • Kit d’outils complémentaire (contrôles, thèmes, etc.)
  • Services RIA .NET
  • Documentation : en ligne ou sous forme de fichier CHM
  • Alexandre Equoy

    Be the first to rate this post

    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5


    Microsoft Health Graphing control

    clock February 20, 2009 05:15 by author aequoy

     

    La santé et le secteur hospitalier étant mes domaines fonctionnels d'origine, voici un petit billet pour vous informer de la sortie de nouveaux contrôles et guides WPF/Silverlight dédiés aux interfaces médicales. 

    Si vous n'avez pas encore consulté le site http://www.mscui.net/ je vous y invite.



    Source : http://www.mscui.net/Blog/post/Welcome-to-our-New-Graphing-Control.aspx

    Alexandre Equoy

    Currently rated 5.0 by 1 people

    • Currently 5/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5


    Access it aux techdays

    clock February 9, 2009 13:41 by author aequoy

    Histoire de relayer la news présente sur notre site, vous pourrez nous retrouver sur le stand CUC23 espace Communication Unifiée et Collaboration.

    Florent Santin, consultant .Net, interviendra, en tant que speaker, sur les sujets suivants :

    WF 4 : Premier contact (FRA318)
    Mardi 10 février - de 14h30 à 15h30

    Microsoft a dévoilé Workflow Foundation avec la version 3 du framework .Net. Cette session vous présente WF 4.0, dans un premier temps de façon didactique pour comprendre les motivations de ce pan technologique, puis en passant en détail les nouveautés et différences par rapport à la version actuelle.

    De la macro VBA au développement .Net VSTO (RDA102)
    Mardi 10 février - de 16h00 à 17h00

    Vous êtes développeur de macros VBA dans Office? Vous commencez à vous sentir limité dans vos possibilités et aimeriez aller un cran plus loin ? Venez donc voir comment migrer en douceur vers la plateforme .NET et VSTO pour passer d'un code VBA à un code VB.NET libérant ainsi vos possibilités de personnalisation et d'intégration dans Office. Visual Studio 2008 vous aidera par exemple également à modifier le ruban Office sans ligne de code à l'aide d'un designer !

    Visual Studio 2010 : les nouveautés de l'édition test (IND126)
    Mercredi 11 février - de 13h00 à 14h00

    La qualité des applications est un axe majeur pour Microsoft. La version 2010 de Visual Studio Team System présentera des nouveautés intéressantes dans ce domaine. Visual Studio Team System Test Edition sera beaucoup enrichi : - Tests fonctionnels d'applications Web, WinForms et WPF - Outil dédié à la gestion des campagnes de tests - Enregistrement de vidéos à l'exécution des tests Visual Studio Team Lab (un nouveau produit) permet de gérer et de déployer des environnements de tests virtualisés. Sans oublier des améliorations dans Team Foundation Server et Visual Studio Team System Development : - Gestion graphique des branches - Eléments de travail : traçabilité et liens typés - Débuggeur historique - Débuggeur déployable à distance en mode déconnecté La sessions sera illustrée par des démonstrations de ces nouvelles fonctionnalités.

    Alexandre Equoy 

    Be the first to rate this post

    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5


    Microsoft Surface Camp : day 2

    clock February 6, 2009 04:58 by author aequoy

    Après une première journée dont l'objectif était de défaire les illusions vis à vis de Microsoft Surface et de nous projeter dans ce que l'on peut attendre de l'outil, cette seconde journée démarre sur le design d'application sur Surface.
    Yoann has improved his english. He is certainly fluent now... ;)
    Notre interlocuteur a commencé par évoquer des guidelines de design.
    L'aspect multi user et l'aspect contextuel (l'endroit, les types de participants...) influent énormément sur le design et les comportements d'application
    .
    Nos scénarios de tests vont devoir s'étoffer afin de prendre en compte tous les cas d'utilisations.

    Nous continuerons à vous donner des nouvelles.

    Repeat after me Yoann, my taylor is rich ....

    Après 2 jours passés ensemble, Yoann s'est enfin décidé à me demander en mariage. Et comme tout "bons" devs que nous sommes nous avons décidé de préparer l'événement par une application Surface.

    L'idée de cette application est de préparer un plan de table, d'assigner des personnes à ces tables, d'imprimer des tags sur les cartes d'invitation et le jour J (un jour mon prince viendra...) par la reconnaissance des tags_id de placer les gens automatiquement.

    Nous avons codé une partie de la nuit ce début d'application sur le simulateur et nous l'avons testé en réel sur la table cet après midi.

    Enormément d'idées arrivent du fait de passer sur la table (c'est l'application bien sûr qui est passée sur la table ;)). Plutôt que d'utiliser des bouton nous allons utiliser des objets réels que nous placerons et qui par reconnaissance de forme donneront au final le même rendu.

    Lorsque notre interlocuteur nous prévenait qu'il fallait absolument une table pour développer, c'est VRAI !!! (Arnaud, Eric, Olivier si vous nous lisez :) )

    Les idées fusent à partir du moment où d'autres utilisateurs peuvent interagir.

    Expérience fantastique ! Nous sommes comme 2 gosses devant un jouet.

    Marvellous comme dirait Yoann ;)

    Alexandre Equoy

    Quelques photos de l'évenement :

     



    Avec le témoin ;)
    Laurent tu seras mon témoin


    Currently rated 3.9 by 9 people

    • Currently 3.888889/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5


    Microsoft Surface Camp : day 1

    clock February 5, 2009 07:48 by author aequoy

    J'ai la chance d'être avec mon collègue Yoann (YoView pour les intimes) de participer à un séminaire Microsoft Surface.

    C'est le début de l'aventure Access it sur cette technologie.

    Nous ne sommes pas assujettis à un NDA quelconque donc nous vous donnerons des nouvelles, des samples assez rapidement.

    En attendant la table Access it :) (message subliminal pour nos boss :) , nous proposerons un résumé de ce séminaire où des choses très intéressantes se disent.

    Un premier constat que notre interlocuteur américain nous fait justement remarquer est qu'il faut revoir notre façon de penser.

    Le multitouch n'est absolument pas le fer de lance de cette technologie. Il faut penser "social computing", intégration de devices multiples, reconnaissance de formes.

    C'est vrai qu'il est tentant de faire tout et n'importe quoi avec surface pour le "fun" mais à 10 000 euros la table c'est cher payé.

    Mieux vaut un "bête" écran tactile. 

    Nous avons donc du boulot pour imaginer de "vrais" scénarios métiers intégrant l'ensemble des capacités de la table.

    Les scénarios multitouch étant simples à concevoir, je pense que dans un premier temps, il faut imaginer l'objet, le device qui va se "connecter" à la table.

    Alexandre Equoy

    Quelques photos pour la route :

     

    YoView devant la table

    Access it



    Currently rated 5.0 by 2 people

    • Currently 5/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5


    Calendrier

    <<  July 2010  >>
    MoTuWeThFrSaSu
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678
    Afficher en pleine page

    Visiteurs