La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Principale entreprise française indépendante dédiée aux technologies Microsoft 12 ans d’expérience dans le conseil et la réalisation de projets à haute.

Présentations similaires


Présentation au sujet: "Principale entreprise française indépendante dédiée aux technologies Microsoft 12 ans d’expérience dans le conseil et la réalisation de projets à haute."— Transcription de la présentation:

1

2 Principale entreprise française indépendante dédiée aux technologies Microsoft 12 ans d’expérience dans le conseil et la réalisation de projets à haute valeur ajoutée sur ces technologies 90 consultants experts sur les dernières technologies Microsoft : développement avancé (.Net 3.5, Silverlight, WPF...) génie logiciel (Visual Studio, VSTS, TFS...) travail collaboratif (WSS, MOSS, VSTO...) gestion de bases de données et Business Intelligence (SQL Server 2005/2008, PerformancePoint Server 2007...) architecture et intégration (BizTalk, Workflow Foundation, WCF...).... 1 er centre de formation en France sur les technologies.Net et la BI. Edition de frontaux et composants logiciels programmables (ReportSmith.net). Une densité de certification unique : Regional Director, Gold Certified Partner, une forte concentration de MVPs, 100% des collaborateurs certifiés.

3 Visual Studio : les outils de gestion de perfs Tests Web Tests de montée en charge Analyse dynamique de code ASP.NET : les fonctionnalités méconnues Page asynchrones Custom Expression Builder Chiffrement des sections de configuration Adaptateurs de rendu Dépendance de cache personnalisée Providers « Virtual path »

4 ASP.NET 2.0 ASP.NET 3.5 C# 3 VB 9 MS AJAX ASP.NET 1.x VS 2003 VS 2008 ASP.NET 2.0 VS 2005

5 MSF Process and Guidance Visual Studio Team Explorer Visual Studio Industry Partners Visual Studio Team Foundation Server Gestion du changement Suivi d’activités / Fiches Reporting Site Portail Intégration / Compilation Gestion de Projet Visual Studio Team Suite Software Architects Software Developers Software Testers Database Professionals Modélisation Applicative Modélisation Infrastructure et Déploiement Analyse de code Profiler Déploiement de Bases Gestion du Changement Tests de Bases de Données Tests Web Tests Manuels Gestion de cas de tests Load Test Agent Visio / Modélisation UML Modélisation de Classes Test Unitaire Couverture de code Tests de Charge Métriques de code Visual Studio Professional

6 Visual Studio Team Suite MSF Process and Guidance Visual Studio Team Foundation Server Visual Studio Industry Partners Software Architects Software Developers Software Testers Database Professionals Visual Studio Team Explorer Modélisation Applicative Modélisation Infrastructure et Déploiement Analyse de code Profiler Déploiement de Bases Gestion du Changement Tests de Bases de Données Tests Web Tests Manuels Gestion de cas de tests Visual Studio Professional Gestion du changement Suivi d’activités / Fiches Reporting Site Portail Intégration / Compilation Gestion de Projet Load Test Agent Visio / Modélisation UML Modélisation de Classes Test Unitaire Couverture de code Tests de Charge Métriques de code

7 Un enchaînement de requêtes HTTP, Décrivant un scénario d’utilisation Éventuellement paramétré Jeux de test Jeux de résultats Validé par un ensemble de contraintes Temps de réponse global ou unitaire statut HTTP Observation d’un résultat dans les pages Intégré au cycle de développement Anticipation des problèmes

8 Un plug-in dans IE pour capturer les scénarios Indépendant de la techno serveur Supporte Ajax (nouveauté VS 2008) Stockage du scénario Au format XML en standard Scriptables en C#, VB.NET si nécessaire Les scénarios capturés sont variabilisables Support de Get, Post, Cookies, etc. Prêt pour l’injection de jeux de test Supporte les authentifications BASIC, NTLM Extensible

9 Simulation d’une application en conditions réelles Exécution simultanée de plusieurs scénarios Détection des problème de montée en charge Mise en évidence des problèmes d’accès concurrents Panachage de navigateurs / bande passante Egalement intégrés au cycle de développement Anticipation des problèmes Validation d’une plateforme de production cible

10 S’appuient sur les tests Unitaires ou les tests Web Définition d’une méthodologie de charge Charge constante, progressive ou par objectif Simulation de plusieurs types de navigateurs Simulation de connectivités réseaux distinctes Algorithmes de répartition de temps de réflexion Natifs dans Visual Studio Team Test Utilisation possible de Load Controller / Agent Capture simultanée des compteurs de performances Génération d’états

11 Analyse dynamique des performances En sondant l’exécution « Sampling » ou « Instrumentation » Génération d’états Fonctions ayant pris le plus temps Le plus souvent appelées Consommant le plus de mémoire … Nouveautés de VS 2008 Mise en évidence du chemin critique Comparaison de deux rapports

12

13

14 Cette technique permet de libérer le threadpool ASP.Net des opérations longues Elle consiste à faire 2 sauts de thread afin d’effectuer le traitement long sur un thread indépendant d’ASP.net Pas de monopolisation de thread IIS Primordial pour les pages ASP.NET qui exécutent des opérations longues Requêtes SQL volumineuses Appel de Web services etc Ajout de Async="true" dans la directive de page Gestion de timeout possible

15 PreInit Init PreRender PreRenderComplete Cycle de vie d’une page classique Render InitComplete PreLoad LoadComplete Load SaveState SaveStateComplete PreInit Init PreRender PreRenderComplete Render InitComplete PreLoad LoadComplete Load SaveState SaveStateComplete Cycle de vie d’une page asynchrone End Begin Async I/O Thread Thread 1 iis Thread 2 iis

16

17 void Page_Load (object sender, EventArgs e) { AddOnPreRenderCompleteAsync ( new BeginEventHandler (BeginAsyncOperation), new EndEventHandler (EndAsyncOperation) ); } IAsyncResult BeginAsyncOperation (object sender, EventArgs e, AsyncCallback cb, object state) { // TODO: Begin async operation and return IAsyncResult } void EndAsyncOperation (IAsyncResult ar) { // TODO: Get results of async operation }

18 Expressions préfixées de "$" présentes dans les fichiers *.aspx Permet d’associer un paramètre à un contrôle serveur bien avant le DataBind(). Possibilité de créer ses propres expressions: Héritage de la classe “ExpressionBuilder” Surcharge de la méthode “GetCodeExpression”

19

20 public class MyExpressionBuilder : ExpressionBuilder { public override CodeExpression GetCodeExpression (BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context) { // TODO: Return CodePrimitiveExpression encapsulating // evaluated expression }

21 <add expressionPrefix="Expression" type="MyExpressionBuilder"/> $ expression (e.g, "Resources")

22

23 Les données du Web.config peuvent être stockées de manière sécurisée En Triple-DES en utilisant une clé auto générée En RSA via un jeu de clés publique/privée Avec tout autre algorithme au travers d’un provider personnalisé Deux manière de procéder: Aspnet_regiis.exe SectionInformation.ProtectSection Aucun impact sur l’application

24 <add name="LocalSqlServer" connectionString="Server=localhost;Integrated Security=True;Database=aspnetdb;..." /> <add name="WhidbeyRocksConnectionString" connectionString="Data Source=(local);Initial Catalog=WhidbeyRocks;Integrated Security=True" providerName="System.Data.SqlClient" /> <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#">... kxxLhiRQrNlloq0YLYAr2FycMt1hMbEqngu+Pn1UTSbcK4BMUprnA+jWq5nhZk... Avant Après aspnet_regiis –pef connectionStrings c:\websites\whidbeyrocks

25

26 Adaptateurs de contrôles Personnalisation du rendu d’un contrôle Utilisé par le “CSS Control Adapter Toolkit” System.Web.UI.Adapters.ControlAdapter et dérivés (ex, WebControlAdapter) Adaptateurs de pages Modification du rendu d’une page Ex: viewstate Eventuellement en fonction du navigateur System.Web.UI.Adapters.PageAdapter Utilisation du répertoire spécial « App_Browsers »

27 public class MyTextBoxAdapter : ControlAdapter { protected override void Render(HtmlTextWriter writer) { writer.AddAttribute(HtmlTextWriterAttribute.Style, "color: red"); base.Render(writer); } Ajout de l’attribut ="color: red" au style du contrôle lors de la génération de l’HTML

28 <adapter controlType="System.Web.UI.WebControls.TextBox" adapterType="MyTextBoxAdapter" /> Fichier *.browser dans le répertoire App_Browsers

29

30 Permet de changer la politique de cache en une seule opération pour un groupe de pages ou de contrôles Utile pour réagir rapidement à un pic de charge, ou pour tester des scénarios. Les profils doivent être déclarés dans le fichier de configuration du site ..

31 ASP.NET permet de créer ses propres dépendances de cache Héritage de la classe CacheDependency Définition de la logique de gestion de cache dans le constructeur Utilisation de “base.NotifyDependencyChanged” pour notifier de la mise à jour du cache Très utile pour gérer sa propre logique de rafraichissement Exemple: à la demande

32 public class MyCacheDependency : CacheDependency { private Timer _timer; public MyCacheDependency() { _timer = new Timer(new TimerCallback(OnTimerTick), null, TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(60)); } private void OnTimerTick(object state) { if (...) // If dependency changed... base.NotifyDependencyChanged(this, EventArgs.Empty); }

33

34 En ASP.NET 1.*, pour déclarer un contrôle utilisateur ou contrôle personnalisé: Doit être placé dans chaque page A partir d’ASP.NET 2.0, possibilité de les déclarer dans le Web.config Utilisation de la section Est déclaré pour l’ensemble des pages

35 <%@ Register TagPrefix="win" TagName="Banner" Src="~/UserControls/BannerControl.ascx" <%@ Register TagPrefix="win" TagName="Banner" Src="~/UserControls/BannerControl.ascx" <%@ Register TagPrefix="win" TagName="Banner" Src="~/UserControls/BannerControl.ascx" <%@ Register TagPrefix="win" TagName="Banner" Src="~/UserControls/BannerControl.ascx" <%@ Register TagPrefix="win" TagName="Banner" Src="~/UserControls/BannerControl.ascx" <%@ Register TagPrefix="win" TagName="Banner" Src="~/UserControls/BannerControl.ascx" ASP.NET 1.1 <add tagPrefix="win" tagName="Banner" src="~/UserControls/BannerControl.ascx" /> <add tagPrefix="win" tagName="Banner" src="~/UserControls/BannerControl.ascx" /> Web.config ASP.NET 2.0

36

37 ASP.NET permet la virtualisation de chemins pointant normalement vers des fichiers : Stockage dans une base de données (ex SharePoint) Stockage dans un format compressé ou masqué Pour créer son propre provider Héritage de la classe VirtualPathProvider Enregistrement avec la méthode HostingEnvironment.RegisterVirtualPathProvider

38 public class MyVirtualPathProvider : VirtualPathProvider { public static void AppInitialize() { HostingEnvironment.RegisterVirtualPathProvider (new MyVirtualPathProvider()); } public override bool FileExists(string virtualPath) {...} public override bool DirectoryExists(string virtualDir) {...} public override VirtualFile GetFile(string virtualPath) {...} public override VirtualDirectory GetDirectory(string virtualDir) {...} }

39 Toute ressource atteignable par une requête http Répertoires *.ASPX, *.ASCX et *.ASMX Le repertoire “App_Themes” et les fichiers de Skin CSS, JS, et fichiers d’images si gérés par ASP.NET A l’opposé, ne sont pas virtualisables Fichiers Web.config et Global.asax Reperoires App_Code, App_Data et Bin Fichiers *.sitemap

40 VirtualPathProvider.GetFileHash Renvoie un “hash” représentant l’état Si modification, recompilation Appelé après chaque méthode “GetFile”VirtualPathProvider.GetCacheDependency Permet de mettre en cache la donnée Ex: SqlCacheDependency or personnalisé Plus efficace que GetFileHash

41

42 Les versions actuelles d’ASP.NET réservent encore des surprises… …beaucoup d’autres fonctionnalités méconnues: Url Rewriting, Url Mapping, Callback Ajax natif, Substitution de cache, TagMapping, Ressource provider, attribut meta:resourceKey, …

43 La référence technique pour les IT Pros : pour les IT Pros :technet.microsoft.com L’engagement Microsoft pour les développeurs : msdn.microsoft.com S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique Visual Studio 2008 + Abonnement MSDN Premium Abonnement TechNet Plus : Versions d’éval + 2 incidents support

44 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Votre potentiel, notre passion TM


Télécharger ppt "Principale entreprise française indépendante dédiée aux technologies Microsoft 12 ans d’expérience dans le conseil et la réalisation de projets à haute."

Présentations similaires


Annonces Google