Windows | Windows Server | Active directory | Exchange | SharePoint | SCCM | SCOM | Hyper-V | App-V
ACCUEIL Facebook Twitter Linked In Viadeo Flux RSS
Actualités suivantes

Actualités précédentes
Nouvel outil de diagnostic sur Office 365
Nombreux départ à Microsoft
Cortana aura du retard sur Android
Que vaut vraiment la Microsoft Surface 3?
Microsoft tente de réduire l'écart avec Sony


Publié le : 17/09/2009 09:26:55
Mise à jour le : 13/09/2009 13:28:37
Catégories :


Version imprimable

Auteur(s)

Microsoft Doloto booste les sites Web 2.0


Doloto accélère le lancement des applications Ajax en optimisant le chargement initial du code JavaScript.

Microsoft Research vient de publier Doloto (Download Time Optimizer), un outil de profiling gratuit permettant d'accélérer le chargement des applications Ajax complexes dans un navigateur.

Les applications Web 2.0 sont de plus en plus riches fonctionnellement et utilisent massivement du code JavaScript pour exploiter les fonctions de client riche Ajax. Le téléchargement initial de ce code dans le navigateur peut ainsi ralentir de manière significative l'exécution du service et rendre l'expérience utilisateur frustrante. Doloto permettra aux développeurs d'optimiser le temps de téléchargement du code JavaScript de leurs applications Web.

Après installation de ce logiciel sur son PC, le développeur pourra lancer un test de chargement de n'importe quelle page Web comprenant du JavaScript. A la fin de l'exécution de ce test, Doloto lui indiquera comment réorganiser son code pour améliorer la rapidité de chargement des pages.

Un traitement en local pour fragmenter le code : S. Somasegar, vice-président senior de la division développeur au sein de Microsoft, explique sur son blog le principe du fonctionnement de cet outil, dont l'exécution se déroule en trois étapes :

1- Doloto commence par analyser le code de l'application JavaScript en exécutant sur le poste client un « proxy local » qui intercepte les fichiers JavaScript. Il mesure ainsi le temps de chargement et d'exécution de chaque fonction JavaScript.

2- Ces informations de profiling [de temps de chargement, NDLR] sont ensuite utilisées pour calculer la couverture du code et établir une stratégie de fragmentation, autrement dit pour déterminer le code qu'il faut charger en priorité dans le navigateur. Cette étape détermine les fonctions qui peuvent être isolées et celles qui peuvent être regroupées en groupes de fonctions appelés «clusters».

3- Enfin, Doloto réécrit le code JavaScript afin d'optimiser son temps de chargement et sauvegarde le tout dans des fichiers sur le disque dur du poste client. Le processus une fois terminé, il ne reste plus qu'à redéployer les fichiers JavaScript sur le serveur (dans le cas où vous avez accès au serveur de l'application).

Jusqu'à 40 % d'accélération au chargement : On l'aura compris, le processus tout entier s'exécute sur le poste client sans aucun accès au serveur. Cette technique permet de profiler et de tester Doloto sur n'importe quel site sans forcément avoir l'accès au serveur.

Cette optimisation permet de réduire considérablement la taille du code JavaScript qui va être initialement téléchargé pour lancer l'application. Une fois initialisée, l'application peut continuer à télécharger en arrière-plan ou à la demande le reste du code JavaScript. Seul le code strictement nécessaire est téléchargé, ce qui évite de télécharger des fonctions qui ne sont pas utilisées sur le client.

Selon S. Somasegar, le téléchargement initial peut être réduit jusqu'à 40 %. En fonction des conditions du réseau, le lancement de l'application peut ainsi être accéléré de 30 à 40 %.

Doloto pèse 1,56 Mo et ne nécessite que le framework .NET 3.5 (en anglais). Il est téléchargeable gratuitement sur le site MSDN DevLabs.

D'autres projets : Parmi les autres projets dans les cartons chez MSDN Labs, on peut citer :

- STM.NET, un framework .NEt expérimental modifié pour exécuter atomiquement des portions de code. Objectif : créer des applications multtithreads « scalables »

- Axum, un modèle de programmation parallèle pour .NET, basé sur l'architecture du Web et des principes d'isolation des acteurs

- Code Contracts, des méthodes utilisables par n'importe quel programme .NET pour spécifier le comportement du code

- Small Basic, un langage de programmation simple et ludique

- Pex - Automated White Box Testing for .NET, un assistant intelligent pour programmeur

- CHESS - Finding and Reproducing Heisenbugs in Concurrent Programs, un outil de test parallèle pour code managé ou non.  (Source 01.net)