This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:epims4_0:developer:ep-core [2008/03/04 12:18] dupierris |
wiki:epims4_0:developer:ep-core [2009/01/21 16:41] (current) 132.168.73.9 |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Guide d'implémentation d'eP-Core ====== | ====== Guide d'implémentation d'eP-Core ====== | ||
- | ===== Introduction ===== | ||
- | eP-Core est le module d'accès à la BD. Ce module permet d'obtenir les objets Java représentant les données de la BD ePims ainsi que les services permettant d'agir sur ces objets. | ||
- | Ce module est déployé de façon indépendante sur le serveur d'application Java Geronimo afin d'être utilisé et partagé par les autres modules de présentations et de service du système. | ||
- | |||
- | |||
- | ===== Technologies ===== | ||
- | {{ epimsarchigeneral.png }} | ||
- | ** Figure 1 Architecture globale de l’application** | ||
- | |||
- | Le schema représente la totalité de l'application ePims. eP-Core représentele noyau de cette application, il ne contient pas ce qui se rapporte à la couche présentation càd interfaces Web, il constitue le point d’accès aux données de l’application ainsi qu’aux actions sur ces données (création, modification, suppression) au travers d’interfaces accessibles par toutes les couches de l’application. | ||
- | |||
- | Comme indiqué sur ce schéma, les technologies utilisées dans l'application ePims sont les suivantes: | ||
- | |||
- | * Les JSP/JSF sont utilisés pour la partie présentation | ||
- | * Au niveau de la logique applicative, on utilise le framework Spring qui est un conteneur léger et qui permet, d’une part, d’isoler les différentes technologies utilisées et faciliter ainsi la substitution d’une implémentation par une autre, d’autre part, Spring prend en charge la partie transactionnelle de O/RM. | ||
- | * Hibernate a été choisi pour la partie O/R Mapping. Ce framework a, entre autres, l’avantage de s’interconnecter facilement avec Spring. | ||
- | |||
- | |||
- | ===== Structure du projet ===== | ||
- | ==== Les cibles Ant ==== | ||
- | Les cibles Ant principales définies pour eP-Core sont : | ||
- | |||
- | * configure.dist : Configure le projet pour une distribution de production (copie des fichiers de configutations, mise en place de librairies...) | ||
- | * compile.dist : compile les classes Java et appel __configure.dist__. | ||
- | * configure.test : Même configuration que précédement mais utilise les fichiers de configuration pour exécuter les tests JUnit.(appel de __configure.dist__) | ||
- | * compile.test : compile les classes Java et appel __configure.test__. | ||
- | * configure.dev : Même configuration que configure.dist mais utilise les fichiers de configuration pour le mode développement.(appel de __configure.dist__) | ||
- | * compile.dev : compile les classes Java et appel __configure.dev__. | ||
- | * dist : créer une distribution de ep-Core comme module geronimo ... appel toutes les cibles nécessaire à cette création | ||
- | * dist.dev : idem dist mais appel __compile.dev__ au lieu de compile.dist. | ||
- | * dev.create.onejar : Temporaire ! Créer un seul .jar contenant toutes les librairies (lib/*) ainsi que eP-Core.jar créer lors d'une execution de dist. N'appèle pas dist qui doit donc avoir été exécuté avant ! | ||
- | * publish.libs : a exécuter après un dist. N'appèle pas dist qui doit donc avoir été exécuté avant ! Copie dans un sous-répertoire défini par la propriété <ivy.distrib.dir> toutes les librairies nécessaire a eP-Core et eP-Core. Ceci afin de permettre a eP-Web, par exemple, de référencer ces librairies sans les intégrer. En effet; dans la distrib finale d'eP-Web (ou autre module de l'application J2EE) ne doit pas intégrer eP-Core mais référencera cette librairie intégrée a Geronimo. | ||
- | |||
- | |||
- | |||
- | |||
+ | * [[ePCoreIntro]] | ||
+ | * [[ePCoreIntro#structure_du_projet|Structure du projet]] | ||
+ | * [[ePCoreArchitecture]] | ||
+ | * [[ePCoreSpring]] | ||
+ | * [[ePCoreHibernate]] | ||
+ | * [[ePCoreArchivage]] | ||
+ | * [[ePCoreRunRobot]] | ||
+ | * [[ePCoreFilesTransfer]] | ||
+ | * [[ePCoreProcessProtocol]] | ||
+ | * [[http://biodev.extra.cea.fr/ePims/dbModel/v6/index.html|DataModel (Version 6)]] |