Archives pour la Catégorie .NET 4

Faut-il migrer vers .NET 4 ?

27/10/2011

Première approche

A première vue, .NET 4 ne présente pas un gap significatif par rapport à .NET 3.5. La plupart des grandes nouveautés technologiques ont déjà été introduites dans .NET 3.0 et 3.5.
Je mentionnerai ici en particulier WCF, WPF, WF pour 3.0, et LINQ ainsi que ADO.NET Entity Framework dans .NET 3.5, quand le petit monde du développement a été étonné par les nouvelles possibilités de manipulation des structures de données depuis un langage orienté objet, et par la facilité de générer une couche d’accès à la base de données.
Mais .NET 4 a apporté de nombreuses améliorations de performances. L’une des plus immédiatement visibles est la dimension des fichiers d’installation de la plate-forme .NET sur le poste client (.NET Client Profile). Alors que pour exécuter une application écrite sous .NET 3.5, un utilisateur devait télécharger et installer 255 MB, il suffit maintenant d’installer 29 MB pour une application sous .NET 4.

Calcul parallèle

Des extensions introduites dans cette version de .NET offrent un support performant pour le calcul parallèle, en ciblant les systèmes multi-core et les architectures distribuées. Ont été ainsi inclues des technologies telles que PLINQ, une implémentation parallèle du moteur LINQ, et Task Parallel Library, un composant dont les fonctions permettent de gérer le parallélisme beaucoup plus facilement.

Faciliter le SEO

Concernant ASP.NET on trouve, entre autres, des améliorations pour le SEO (Search Engine Optimisation). Du fait qu’une grosse part du trafic d’un site vient des moteurs de recherche, en optimisant l’adéquation d’un site aux recherches des internautes, on draine plus de visiteurs qualifiés amenés par les moteurs. De même, dans ASP.NET Web Forms, ont été ajoutés quelques contrôles utiles pour l’affichage de graphes.

Remonter le temps

Dans le domaine de l’aide aux développeurs, Visual Studio 2010 qui a été lancé avec .NET 4, offre plusieurs outils améliorant la productivité. Parmi ceux qui me paraissent les plus significatifs, Intelli Trace, simplifie fortement le processus de débuggage. Alors que dans Visual Studio 2008, lors du débuggage, un développeur connaissait le contexte d’un programme à un instant donné et pouvait seulement continuer ou arrêter l’exécution, dans Visual Studio 2010, il peut « remonter le temps » pour analyser les variables et les événements précédant le point de départ du débug.

Tester des projets qui impliquent beaucoup de calcul parallèle est également plus facile, grâce aux outils qui permettent la visualisation des tâches parallèles et des stacks correspondants.
Un point qui peut paraître mineur mais qui se révèle intéressant pour la maintenance : Il est possible de configurer un projet pour cibler une autre version de .NET, c’est-à-dire 2.0, 3.0 , 3.5.

Des templates bien pensés

On trouve dans aussi dans .NET 4 des modèles pour différents types d’applications, par exemple en technologie ASP.NET MVC, ou celles qui intègrent du développement de composants Office ou Sharepoint.

Première conclusion

Quoique les améliorations apportées à .NET 4 ne puissent pas être considérées comme révolutionnaires, elles apportent une grande aide dans divers scénarios qui sont justement ceux qui nous font aimer le métier de développeur. Sans aucun doute, .NET 4 est , pour les nouveaux projets, la technologie à retenir.

Le développement 3-tiers en ASP.NET 4 : une approche moderne

04/08/2011

Séparer les problématiques : intêret principal du développement 3-tiers

3-tiersPourquoi ? Parce qu’il est plus facile de gérer le développement d’un grand projet en divisant l’application en modules; et donc une équipe de développeurs en sous-équipes, chacune se voyant confier la responsabilité d’un module de l’application.

On peut se passer de cette organisation dans le cadre de petites applications. En revanche, les applications moyennes ou importantes sont pratiquement impossibles à gérer sans appliquer des règles claires.

Avec le temps, on a vu émerger certaines tendances adoptées par l’industrie et dont le but est précisément de gérer la complexité au sein des applications ASP.NET. Mais l’architecture et le développement d’applications ASP.NET modernes et professionnelles ne peuvent être menés à bien sans utiliser les expériences accumulées au fil du temps par la communauté.

WCSF (Web Client Software Factory) : l’alternative

Microsoft a monté une équipe dédiée à la création de modèles pour les architectes d’applications et les développeurs. Le groupe Modèles et Méthodes fournit à la communauté des développeurs ASP.NET professionnels deux frameworks qui capitalisent des années d’expérience des meilleures sociétés de développement au niveau mondial : La Web Client Software Factory (WCSF) et l’Enterprise Library. La façon dont ces deux librairies s’utilisent dans une conception 3-tiers dépend du type de projet. Elles sont en fait complémentaires au modèle 3-tiers, et participent à la tendance actuelle de dépasser une approche purement 3-tiers, vu que la logique d’interface devient de plus en plus encombrée.

Web Client Software Factory propose une alternative à l’organisation induite par ASP.NET MVC, sur les aspects de la testabilité et de la séparation approfondie des problématiques. En prenant en considération le classique ASP.NET (WebForms), on peut parvenir à une modularité raisonnable, en suivant les modèles WCSF, surtout pour les sites Web transactionnels métier (à l’opposé de MVC qui convient mieux aux sites Web orientés contenu).

Le point majeur de la technologie ASP.NET MVC est le concept Model View Controller : il permet de diviser l’interface utilisateur en modules à l’intérieur de couches logiques, supprimant ainsi les fichiers source d’interface utilisateur volumineux, caractéristiques des projets ASP.NET classiques et connus pour la lourdeur de leur maintenance.

Bien que cela ne soit pas aussi simple qu’ASP.NET MVC, l’utilisation du classique ASP.NET conjointement au modèle MVP (Model View Presenter) présente beaucoup d’avantages qui ne doivent pas être négligés pour les projets importants.

S’ils conjuguent cet atelier et leur savoir, les développeurs professionnels ASP.NET en entreprise n’ont plus d’excuse si l’organisation de leurs projets présente des failles : finies les interfaces utilisateurs lourdes, compliquées (où l’essentiel de la logique est intégrée aux fichiers cachés derrière le code des pages aspx) !

C’est ainsi que les efforts faits au début pour structurer le code source deviendront payants : il est désormais possible d’avoir une base de code gérable, comprise par tous les nouveaux développeurs qui viendront rejoindre l’équipe. Elle assure également la cohérence entre projets, où chaque application reposera sur un socle commun.

Comment est-ce lié au 3-tiers ?

3 tiers et MVP (Model View Presenter) sont des modèles complémentaires que l’on retrouve ensemble dans la plupart des projets ASP.NET. Pour obtenir une idée de MVP, voici une cartographie des objectifs des modules dans trois architectures ; 3 tiers physique, 3 tiers logique (du point de vue de l’application) et MVP (le modèle utilisé dans WCSF).

3-Tier physique
3-Tier Logique
MVP module
Navigateur Web
Couche de présentation
View (V)
Serveur d’applications
Couche business
Presenter (P)
Serveur de BD
Couche d’accès aux données
Model (M)

Attention : ce tableau est simplifié à l’extrême afin d’avoir une idée simple du fonctionnement 3-tiers.

Enterprise Library : pour suivre les best practices

Au-delà de la simple séparation de modules en composants 3 tiers, il existe également un autre besoin.
L’autre outil incroyablement utile pour organiser les aspects de l’application réside dans l’utilisation des blocs applicatifs standards offerts par Microsoft. L’équipe Patterns et Practices a mis au point la 5ème version de la librairie destinée au développement des applications d’entreprise sous Windows : Enterprise Library. Ainsi, la couche métier et la couche d’accès à la base de données (les niveaux 2 et 3 de l’architecture 3 tiers) suivent solidement les bonnes pratiques de l’industrie pour que rien ne soit laissé sans surveillance. En outre, la « plomberie » de chaque application peut être développée de manière standard et appropriée, en utilisant les autres blocs :

• Le bloc de cache qui optimise le temps de réponse en gérant les données les plus souvent utilisées, pour diminuer les pics de trafic de la base de données
• Le bloc de cryptographie, qui gère efficacement le cryptage des informations sensibles
• Le bloc de journalisation qui aide les développeurs et les équipes IT lors des diagnostics
• Le bloc de validation, la manière commune pour créer et utiliser des règles de validation pour les objets métiers.

Il existe également des blocs, spécialisés pour les architectures et les scénarios professionnels : Unity for DI (Dependency Injection)/IoC (Inversion of Control), Policy Injection for AOP (Aspect Oriented Programming – implémentant des notions transverses – sécurité, cache, journalisation – dans toute l’application).
Ces blocs agissent comme des plugin : ils peuvent être configurés, remplacés, modifiés en fonction des scénarios métiers envisagés par le client et l’équipe de développement.

Conclusion

ASP.NET 4.0, conjointement à Visual Studio 2010 et au framework .NET 4.0 bénéficient des dernières versions, modernisées du groupe Modèles et Méthodes de Microsoft. En tirant parti de ces solutions, les équipes de développeurs seront sûres de suivre les meilleures pratiques de l’industrie lors du développement d’applications Web structurées, évolutives, et faciles à maintenir.

Beler Ingénierie : ne pas laisser de place au hasard.
Les développeurs de Beler essaient en permanence d’améliorer leurs connaissances autour des dernières technologies. C’est d’autant plus important que les architectures et les tendances s’empilent au gré des itérations des nombreuses technologies applicatives.

QR Code Business Card