Emdym.com

UML – DAO

Architecture

L’architecture du Core a été conçu afin de permettre l’utilisation d’un ORM de son choix.
Le package Dao doit respecter l’implémentation des différentes interfaces pour incorporer correctement l’ORM.

Différents ORM sont disponibles en .Net mais trés peu correspondent à nos critéres(prise en charge d’un large choix de bdd, gratuité, licence libre)

Dans le cas présent, NHibernate sera utilisé, mais d’autres ORM pourront être ajoutés plus tard.
NHibernate est un framework open-source en licence LGPL. C’est le portage d’Hibernate utilisé en java.
Il a été choisi pour sa simplicité de mise en place, le nombre de base de données pouvant être utilisées et l’importante communauté d’utilisateur d’Hibernate (anglophone & francophone & espagnophone aussi(mais je comprend rien…)).


Cas d’utilisation des classes de travail

Le Core peut utiliser les méthodes Get, Save, Update, Remove sur les objets à persister.


Diagrammes de Classe Dao (NHibernate):

Package Dao: (Dao regroupe les classes de gestion et paramétrage de l’ORM)

  • NHibernateFactory : Permet de récupérer les classes de travail des OR(Objet relationnel)
  • NHibernateUtils : Configuration d’NHibernate et gestion des Sessions
  • NHibernateTransaction : Gestion des transactions (begin, commit, rollback)


Package Dao.Configuration:

  • NHibernateConfigurationKey : Classe de travail de Core.Configuration.ConfigurationKey



Package Dao.Domain.Common:

  • NHibernateCustomer : Classe de travail de Core.Domain.Common.Customer
  • NHibernateLogUser : Classe de travail de Core.Domain.Common.LogUser
  • NHibernateUser : Classe de travail de Core.Domain.Common.User


Package Dao.Domain.Prospect:

  • NHibernateAssignCustomer : Classe de travail de Core.Domain.Prospect.AssignCustomer
  • NHibernateAssignUser : Classe de travail de Core.Domain.Prospect.AssignUser
  • NHibernateCallValidation : Classe de travail de Core.Domain.Prospect.CallValidation
  • NHibernateCampaign : Classe de travail de Core.Domain.Prospect.Campaign
  • NHibernateLogConversation : Classe de travail de Core.Domain.Prospect.LogConversation


Package Dao.Domain.Prospect.Script:

  • NHibernateScriptAsk : Classe de travail de Core.Domain.Prospect.Script.ScriptAsk
  • NHibernateScripting : Classe de travail de Core.Domain.Prospect.Script.Scripting


Package Dao.Edi:

  • NHibernateMapItem : Classe de travail de Core.Edi.MapItem
  • NHibernateMapping : Classe de travail de Core.Edi.Mapping


UserCaseNHibernate.png (5.4 KB) David Désille, 03/10/2008 11:14 AM

Dao.png (7.4 KB) Erwan Le Huitouze, 06/07/2008 08:21 PM

Dao.Configuration.png (3.8 KB) Erwan Le Huitouze, 06/07/2008 08:22 PM

Dao.Domain.Common.png (7.3 KB) Erwan Le Huitouze, 06/07/2008 08:22 PM

Dao.Domain.Prospect.png (14.7 KB) Erwan Le Huitouze, 06/07/2008 08:22 PM

Dao.Domain.Prospect.Script.png (4.8 KB) Erwan Le Huitouze, 06/07/2008 08:22 PM

Dao.Edi.png (5.4 KB) Erwan Le Huitouze, 06/07/2008 08:22 PM

Also available in: HTML TXT