2010-11-04 30 views
3

Je travaille avec une application d'entreprise SOA multiniveau avec toutes les logiques métier complexes. De nombreuses validations métier nécessitent une grande quantité de données de support de la base de données, ce qui ralentit les performances. Le nombre d'utilisateurs simultanés est d'environ 1000. Le client est multitier avec WinForms en haut.Pour utiliser la bibliothèque d'entreprise ou non?

Nous considérons presque tous les blocs de bibliothèques d'entreprise.

  • Mise en cache bloc d'application
  • d'accès aux données bloc d'application
  • Exception Handling Application Block
  • Connexion Application Block
  • Politique injection bloc d'application
  • Application Block Sécurité
  • Unity Application Bloc
  • Validation Application Block

    1. La bibliothèque d'entreprise est-elle la bonne solution?
    2. Veuillez suggérer des bibliothèques/cadres qui sont meilleurs selon vous, mais envisagez de dire qu'ils sont meilleurs.
    3. Serait-il une mauvaise pratique de mélanger la bibliothèque d'entreprise avec d'autres bibliothèques? Par exemple, nous considérons utiliser log4net pour la journalisation.
+0

Voir http://stackoverflow.com/questions/53065/enterprise-library-application-blocks-or-home-grown-framework, http://stackoverflow.com/questions/118047/log4net-vs-enterprise- bibliothèque-qui-est-mieux-rapide, et, en général, http://stackoverflow.com/questions/tagged/enterprise-library?page=10&sort=newest&pagesize=50 –

+0

duplication possible de [Avantages et inconvénients de l'utilisation de la bibliothèque d'entreprise ] (http://stackoverflow.com/questions/241054/advantages-and-disadvantages-of-using-enterprise-library) –

Répondre

5

À mon avis, il y a de meilleurs outils pour la plupart tout ce que la bibliothèque Enterprise fait.

  • d'accès aux données Bloc

    Je vais l'admettre a été quelques années que je travaille avec EntLib sur un projet, mais je me souviens du bloc de données a été très limité dans ce qu'il offre. ORM complet comme NHibernate ou Entity Framework, ou même des outils de requête comme SubSonic offre loin de plus. Chaque projet sur lequel je travaille n'utilise pas NHibernate, je finis par mettre en place des fonctionnalités que je serais "libre dans la boîte" avec NHib.

  • Application Block Mise en cache

    L'utilisation d'un ORM avec la mise en cache couvrirait presque tout le bloc de cache fait.

  • Exception Handling Bloc

    Il y a quelques bonnes idées à partir d'ici, mais le concept peut être grandement amélioré. Rinat Abdullin a quelques bonnes informations de départ sur leveraging action policies for exception handling.

  • Connexion bloc d'application

    Utilisez NLog ou log4net. Période. Si vous avez besoin d'une façade, utilisez Simple Logging Facade ou Common.Logging. La journalisation est un composant très limité et bien défini. Les cadres sont presque identiques et stables. Pas besoin de compliquer cela.

  • Politique Injection & blocs Unity

    recherche DI/et IoC choisir un. Je ne peux pas me tromper. Voici a good list de considérer.

  • sécurité & blocs Validation

    À ce stade, nous avons trouvé de meilleures options pour tant de EntLib, que la mise en tant que dépendance à l'appui de la sécurité ou de validation se sent lourd. Encore une fois, il y a beaucoup d'autres outils pour aider à la sécurité (Rhino Security) et validation (xVal, Lokad)

+0

Je suis d'accord que le bloc d'application de validation (VAB) est très «lourd» comme vous l'appelez. En base ce n'est pas si difficile à saisir, mais quand on veut en faire un peu plus, ça se complique vite. VAB, cependant, permet de nombreux scénarios qui ne sont simplement pas possibles avec d'autres cadres de validation (tels que la validation basée sur la configuration, la différenciation entre les erreurs et les avertissements en utilisant des jeux de règles, etc.). C'est le cadre de validation le plus flexible et le plus extensible que je connaisse. Cette flexibilité vient au prix de la complexité. Cela dépend complètement de vos besoins si VAB correspond à votre projet. – Steven

3

Je l'ai utilisé (une version plus ancienne) les bibliothèques d'entreprise pendant un certain temps et n'a eu aucun problème.

Je pense qu'il y a vraiment un avantage à utiliser un ensemble cohérent de bibliothèques plutôt que de reconstituer un patchwork de bibliothèques (si vous alliez en utiliser beaucoup).

J'ai trouvé le bloc de journalisation très bon - il est hautement configurable, et si vous l'utilisez bien, vous pourrez vous connecter de manière complète et avec une grande flexibilité.