Simplification du deploiement d'OFBiz
Problème
Actuellement le déploiement d'OFBiz doit se faire en livrant à la fois un Jar et un dossier contenant les sources XML/Groovy/Freemarker.
graph LR
A[ofbiz.jar] -->|classes| B(Production)
C[root directory] -->|config/XML/FTL| B(Production)
Cette façon de procéder a 3 incovénients majeurs:
- Ne s'intègre pas avec le mécanisme de gestion de dépendances de la plateforme Java basé sur la distribution de Jar.
- Complexité de procédure de déploiement en production.
- Charge mentale inutilement importante pour se représenter comment un fichier présent dans les sources est récupéré (système de fichier?, classpath?, un peu des deux?)
Proposition
La solution envisagé consiste a donc distribuer l'ensemble des fichiers requis au lancement d'OFBiz dans ofbiz.jar
et d'accéder aux fichiers en utiliser le mécanisme de resource de l'API Java.
graph LR
A[ofbiz.jar] -->|classes/config/XML/FTL| B(Production)
Tâches
Cette solution impose un travail important nécessitant de réaliser les étapes suivantes:
-
Rajouter dans le build.gradle l'ensemble des fichiers -
Schémas XML ( .xsd
) -
Templates FreeMarker ( .ftl
) -
Scripts Groovy ( .groovy
) -
Scripts minilang ( .xml
) -
fichiers de définition des composants/services/entités ( .xml
)
-
-
Trouver une solution permettant de charger un composant OFBiz à partir d'un Jar -
Trouver une solution pour gérer les propriétés de configurations en permettant leur modification sans avoir à modifier les fichiers .properties
du framework. -
Adapter la résolution de fichiers pour utiliser le classpath par défault -
Adapter la résolution des URL type component://example/
-
Il y a une issue ouverte sur Jira: OFBIZ-11161
Edited by Mathieu Lirzin