vendredi 12 septembre 2008

.Net Enterprise library

Description:
Le site msdn de Microsoft contient en autre l'Enterprise Library - Application Block.
L'Enterprise Library est une collection de blocs de développement destiné à aider le développeur à concevoir des applications complexes.
Les blocs applicatifs de l'Enterprise Library sont habituellement utilisés pour des applications faisant l'objet d'un large déploiement et/ou qui doivent inter-opérer avec d'autres applications ou systèmes.
Les blocs applicatifs répondent aux exigences de sécurité, de fiabilité et de performance.

Les applications blocks, ce sont:
  • Des codes sources et des projets libres.
  • Des "patterns" libres.
  • Des "factories" libres.
Domaines traités par les Applications Blocks
Les applications blocks couvrent différents domaines de développement.
En voici une liste exhaustive.

Le caching:
Les Caching Application Blocks sont utilisés par des développeurs désirant incorporer un mécanisme de cache dans leur application.

La cryptographie:
Les Cryptography Application Blocks sont utilisés pour introduire des capacités de hashing et d'encryptions symétriques aux applications.

L'access aux données:
Les Data Access Application Blocks permettent d'incorporer des fonctionnalités standards d'accès (et manipulations) de base de données.

Gestion des erreurs:
Les Exception Handling Application Blocks sont utilisés conjointement par les développeurs and les personnes responsables des lignes de conduites relatives à la sécurité de l'information.
Ces blocs applicatifs permettent de créer des stratégies cohérente de gestion d'exceptions (d'erreurs) qui peuvent être déclenchées depuis n'importe quelle couche de l'architecture logiciel.

Système de logs:
Les Logging Application Blocks offre des facilités de logging.

La validation:
Les Validation Application Blocks permettent de créer des règles de validations pour les objets de la couche business (a tout les niveaux architectural de l'application).

Policy Injection:
Les Policy Injection Application Blocks sont utilisés par les développeurs pour mettre en place des règles d'interceptions (interception policies) pouvant être utilisés pour simplifier l'implémentation de caractéristiques standards (ex: le logging, le caching, la gestion d'exception et la validation).

Sécurité:
Les Security Application Blocks sont utilisés pour incorporer des fonctionalités d'autorisations et de caching de droits de sécurités.

Unity:
Unity Application Blocks can use as a lightweight and extensible dependency injection container with support for constructor, property, and method call injection.

C'est plus parlant en anglais :-)

Object Builder
"Object builder" est un projet de démonstration de l'Enterprise Library 4.0 (mai 2008).
Ce projet montre comment créer dynamiquement une instance d'une classe stockée dans un assembly externe.
Dans le cas de ce projet, la classe (et l'assembly) à instancier sont stockés dans un fichier de configuration.
Cet exemple est typique du fonctionnement des Plug-ins ou d'exécution de modules/fonctionnalités à la demande.

Voici la marche à suivre pour localiser le projet "Object Builder" sur le site de Microsoft:
  1. Ouvrir le site msdn.
  2. Faire une recherche sur "Object Buidler".
  3. Dans l'arbre (Tree view), localiser l'entrée: MSDN Library | Servers and Enterprise Development | Enterprose Architecture, Patterns, and practices | Microsoft patterns and practices | Application Blocs | Entreprise Library | Enterprise Library 4.0 - May 2008
Enterprise Library et Mono
Bien que libre, les sources de l'Enterprise Library de Microsoft ne pouvaient pas être distribuées avec mono.
En effet, la licence utilisé par Microsoft ne l'autorisait pas jusqu'a maintenant.
Un récent article sur le blog de Miguel de Icaza révèle qu'une nouvelle licence (plus permissive) couvre maintenant les sources de l'Enterprise Library 4.0 de Microsoft.
La distribution des sources est maintenant possible... elles pourront donc certainement être intégrées dans les développements mono sans violer les propriétés intellectuelles de Microsoft.
Voir l'article de Miguel de Icaza pour plus de précisions.

Aucun commentaire: