Sécurité dynamique dans les cubes SSAS avec SQL Server 2012

Avec l’ouverture des données Power BI Self-Service vers les utilisateurs (vu dans plusieurs de mes missions) les métiers veulent gérer eux même les droits ou périmètres sur de nombreux utilisateurs finaux (>1000).

En effet dans certains domaines, nous avons une forte contrainte de confidentialité des données contenues dans les cubes SSAS. Les juridictions qui doivent s’appliquer peuvent être changées avec des cadences variables allant de la journée, à des cadences inférieures (temps réel). Pour cela, l’ensemble de la sécurité mise en œuvre est stocké dans la source de données du cube, qui détermine qui peut voir quoi.

A travers cet article, nous allons voir comment rendre dynamique une sécurité de cube SSAS basée sur l’appel à une procédure stockée.

Lire la suite

Retour sur la conférence NCRAFTS 2014

Pendant que certains de mes collègues participaient au hackaton organisé par Microsoft pour l’évènement //publish, j’ai pour ma part eu le plaisir de me rendre à la première édition de la conférence NCRAFTS organisée le 16 mai dernier par l’association ALT.NET. Cette association promeut les solutions alternatives en .NET et une vision du développement informatique axée autant sur l’artisanat que sur l’ingénierie. Je vous propose donc un compte-rendu de ce que j’ai pu glaner au cours des session auxquelles j’ai pu assister. Lire la suite

Liste d’ebooks gratuits

Voici une liste de Ebook gratuits classés par technologie:

ASP.NET MVC

HTML / CSS

Bootstrap

JavaScript

Lire la suite

Entity Framework : Code First avec Migration 2/2

La 1ère partie de l’article concernait l’implémentation de Code First Migration.

Dans cette 2ème partie d’article sur La migration Entity Framework, nous allons voir:

  • Comment insérer ou mettre à jour des données en même temps que les changements de la structure de la base de données.
  • Configurer la migration pour qu’elle s’effectue automatiquement.
  1. Migration sur les données

    Dans la classe de configuration qui a été créé lors de l’activation de la migration, il y a une méthode Seed (créé par défaut) qui va permettre d’insérer des données.

    En effet lors des migrations il se peut que le (ou les) tables doivent être détruites pour être reconstruite, donc éviter de perdre des données il est possible de insérer dans la configuration de migration.

    Pour cela il faut utiliser la méthode AddOrUpdate qui a pour avantage de ne pas faire uniquement des insert mais s’il l’enregistrement existe déjà elle fera un update (ca évide donc d’avoir des doublons).


    Il y aussi une autre possibilité c’est d’utiliser un script SQL, et de l’exécuter dans la méthode seed, par exemple :

  2. Migration automatique

    La migration automatique permet d’appliquer automatiquement les changements à la base de données lors de l’exécution de l’application.

    Pour l’activer il faut:

  • modifier la propriétés AutomaticMigrationsEnabled et la renseigner à true, et rajouter une autre propriété AutomaticMigrationDataLossAllowed = true car la migration automatique ne permet pas la perte de données. On a donc dans la configuration :


  • Implémenter la méthode OnModelCreating:

    Dans la classe configuration il faut rajouter une méthode OnModelCreating avec :

    Database.SetInitializer(new MigrateDatabaseToLatestVersion<MvcApplicationEFCodeFirst.Models.MvcMusicStoreEntities, Configuration>());

    Ce qui nous donne:


Et voilà lors de l’exécution de l’application, la base de données sera mise à jour à partir du model.
Remarques sur la migration automatique:
La migration automatique peut se révéler pratique dans un cadre de développement, par contre à mon sens elle n’est pas à être utilisée en production car lors de modification de la base des données peuvent être perdues.

Les blogs pour faire de la veille technologique en .NET

Les équipes de MCNEXT espèrent que ce blog vous permet d’améliorer toujours un peu plus vos connaissances des technologies Microsoft. Il existe néanmoins d’autres blogs qui valent le détour sur ce sujet. En l’occurrence, je vais vous parler des blogs que je consulte régulièrement – via leur flux RSS – pour me tenir au courant des dernières avancées en matière de développement en .NET.

Les auteurs de ces différents blogs, lorsqu’ils ne travaillent pas pour Microsoft, sont généralement des MVPs reconnus par la communauté pour leur expertise technique et leurs capacités à partager leurs connaissances. Par ailleurs ils ont tous un point commun : c’est un vrai plaisir de les lire.

Croyez bien que c’est tout à fait involontaire de ma part, mais tous ces blogs sont en anglais. J’espère donc que vous maîtrisez la langue de Shakespeare.

Scott Guthrie est le directeur de toute la stack web chez Microsoft, et même plus encore. Son blog lui sert à annoncer régulièrement les nouveautés dans le monde d’ASP.NET et d’Azure. Ses articles sont généralement pointus mais très bien expliqués, et il en publie de nouveaux à intervalle très régulier. Je lui reprocherais juste un côté un peu « corporate », et le fait que les sujets ont tendance à s’entrechoquer. En fonction de vos affinités, tout ne vous intéressera pas, mais cela reste néanmoins une source d’information incontournable si vous êtes du métier.

Scott Hanselman est le pendant plus « geek » de Scott Guthrie. Lui aussi travaille pour la stack web, à un degré de hiérarchie moindre, et lui aussi publie très régulièrement de nouveaux articles. Mais il est par ailleurs très drôle, a un don pour savoir mettre en avant des connaissances vraiment utiles, et il n’hésite pas à parler de sujets très variés tout en réunissant à les connecter au monde du développement informatique. A lire absolument : ses réflexions sur sa condition de diabétique de niveau 1 et l’état de la technologie dans ce domaine.

Ayende Rahien, de son vrai nom Oren Eini, est une sommité dans le monde Microsoft. Spécialiste du développement .NET, il publie au minimum un article par jour, et ceux-ci sont souvent passionnants. Il a la particularité de publier des articles à suivre sous forme de feuilleton, autour d’un sujet bien précis : NHibernate, le développement de son propre moteur de stockage de données (VORON), ou plus récemment le fonctionnement de Lucene.NET. Au fil des ans il est devenu de plus en plus pointu, et j’avoue avoir parfois du mal à suivre lorsqu’il explique les algorithmes à l’œuvre dans certains produits que commercialise sa société (Hibernating Rhinos), mais c’est aussi un très bon moyen de se remuer les méninges.

Rick Strahl est aussi un auteur très prolifique. Il n’est d’ailleurs pas rare de tomber sur son blog au détour d’une recherche depuis Google sur le monde ASP.NET. Cette technologie est sa grande spécialité et ses articles sont une vraie mine d’or en matière de bonnes pratiques, astuces diverses et solutions aux nombreux problèmes auxquels il a pu lui-même été confronté. Un gros défaut cependant : ce salaud habite à Hawaï.

Jeff Atwood et son blog Coding Horror. Jeff Atwood n’est autre que l’un des fondateurs de Stackoverflow que je ne vous ferai pas l’insulte de présenter. Son blog est moins technique et parle d’avantage de choses comme la motivation, comment recruter les bons collaborateurs, comment s’organiser, et c’est tout aussi passionnant, surtout sous sa plume.

K. Scott Allen est un vieux briscard du monde .NET qui partage ses astuces et réflexions en matière de développement informatique. Ses connaissances épousent tout un pan de la galaxie .NET, et il est n’est pas avare en exemples de code que vous passerez de nombreuses heures à étudier.

Kraig Brockschmidt est l’auteur du très bon livre Programming Windows Store Apps With HTML CSS and JavaScript, disponible gratuitement au téléchargement chez Microsoft Press, dont la seconde édition vient juste de sortir. Ce grand spécialiste de WinJS profite de son blog pour distiller des connaissances de base sur son sujet de prédilection, ou aborder des aspects qui ne trouvaient par leur place dans l’ebook.

Troy Hunt est une découverte récente pour ma part. Spécialiste d’Azure et de sécurité informatique (en particulier autour de la stack web .NET), Troy publie très régulièrement des articles longs et très détaillés. Il a par exemple abordé les bonnes pratiques à appliquer en matière de mot de passe informatique, de quelle manière selon lui une grande compagnie américaine s’est faite pirater sa base de comptes clients. Dans un billet plus récent, il explique avec brio comment fonctionne le bug qui frappe actuellement OpenSSL, pourquoi il faut s’en émouvoir, comment s’en protéger, et quels impacts celui-ci peut avoir sur un système informatique. A lire absolument.

SSAS – Processer un cube Analysis Services de 8 manières différentes

SSAS-cube
Dans cet article, nous allons voir ensemble huit méthodes nous permettant de traiter un cube OLAP.
Avant toute chose, faisons un petit rappel sur les différents types de traitement de cube suivants :
Process Default, Process Full, Process Clear, Process Data, Process Update, Process Add, Process Index, Process Structure, Process Clear Structure.

Team Foundation Service

Depuis la version 2012 de Team Foundation il existe une version dans le cloud : Team Foundation Service,  qui a pour avantage d’être :

  • accessible depuis internet
  • gratuite (limite à 5 utilisateurs)
  • mise à jour régulièrement par Microsoft

Parmi ses principales fonctionnalités il y a :

  • la gestion du code source
  • une collaboration d’équipe
  • les builds, les tests et les déploiements

header

Pour plus de détails sur ces fonctionnalités voir le site officiel.

Pour mieux comprendre comment utiliser cet outil je vous propose plusieurs webcasts.

1- Introduction à Team Foundation Service

Comment s’inscrire au service avec un compte Live ID, puis comment créer un projet d’équipe.

Tous les webcasts qui suivant s’appliquent aussi avec Team Foundation Server 2012.

2- Connexion avec Visual Studio 2012

Après s’être inscrit nous voyons comment ajouter un serveur TFS à Visual Studio 2012.

Puis comment ajouter une solution VS 2012 au controleur de source de TFS 2012.

3- Extraire, Archiver et ajouter un fichier

Dans cette vidéo nous voyons la manipulation pour Extraire un fichier (ckechout), l’archiver (checkin) et ajouter un fichier au contrôle de source.

4- Voir l’historique

Aperçu des avantages de cette fonction qui peut paraître banale mais qui à beaucoup d’utilités.

5- Comparaison et annotations

Voici un détail de ces 2  fonctions qui facilitent la productivité des développeurs travaillant en équipe.

 

Update 18/04/2014

6- Rollback et delete

Voici comment en cas d’erreur comment revenir en arrière sur des changesets et comment supprimer des éléments

 

7- Shelve et Unshelve

Voici comment « réserver des modifications » dans Team Foundation

 

8- Intégration continue

Ce webcast explique comment créer une build d’intégration continue avec Team Foundation Service