ORI-OAI-ext exploite l'outil de construction de projet Maven. Il est structuré selon la configuration de projet Maven dite "multi-module" (cf. Multi-module Enterprise Project).
Cette configuration permet d'éclater une application en certain nombre de modules (1) dont certains sont immuables, c'est-à-dire nécessaire à la construction et au déploiement de la webapp ORI-OAI-EXT, et d'autres "amovibles", c'est-à-dire que l'on peut décider ou non de les inclure au moment de la construction de la webapp ORI-OAI-EXT.
Notez que cette possibilité d'inclure ou non des plugins à la construction de l'application n'est pas, dans le cas présent, destiné à l'exploitant mais au développeur. Il n'y a donc pas d'options de configurations permettant de gérer "facilement" ces inclusions.
Le tableau ci-dessous présente les différents modules composant l'application ORI-OAI-ext :
Module |
Immuable |
Répertoire |
Rôle |
---|---|---|---|
ori-oai-ext |
Oui |
/(racine du projet) |
Module parent |
ori-oai-ext-core |
Oui |
ori-oai-ext-core |
Fournit les interfaces à implémenter par chaque plugin ainsi que des classes d'utilités |
ori-oai-ext-webapp |
Oui |
ori-oai-ext-webapp |
Permet de construire la servlet à déployer dans un conteneur comme Apache Tomcat |
ori-oai-ext-download |
Non |
ori-oai-ext-download |
Plugin de téléchargement de ressources |
ori-oai-ext-hal |
Non |
ori-oai-ext-hal |
Plugin d'interaction avec HAL |
(1) "Module" est entendu ici au sens Maven, non ORI-OAI du terme. C'est pour lever cette ambiguïté que l'on parle par la suite et dans les autres pages de la documentation de "plugins" pour désigner les modules maven non-immuables d'ori-oai-ext (ceux qui ont la charge d'interagir chacun avec un service distant)