1. Introduction¶
- Table of contents
- 1. Introduction
- 2. Normes de programmation
- 3. Persistence des données
- 4. Tests unitaires
- 5. Librairies
- 6. Cycle de vie
- 7. Architecture modulaire
- 8. Managers
- 9. Vues
- 10. Utilitaires
JTheque Core est un cœur pour des applications modulaires Java. Il permet de développer simplement des applications modulaires en Java. JTheque Core fait partie du projet JTheque Utilities.
Ce document se réfère à la dernière version JTheque Core 2.0.2.
JTheque Core est entièrement développé par Baptiste Wicht.
JTheque Core est traduit en 3 langues : Anglais, Français et Allemand.
JTheque Core nécessite une machine virtuelle Java SE 6.0 pour être exécuté.
1.1 Guides¶
Voici les différents guides qui sont disponibles pour le développement d'applications JTheque :
- Développer un module JTheque
- Développer une application JTheque
- Ajouter un menu à votre application
- Créer un DAO
- Enregistrer des tables dans la base de données
- Construire une nouvelle vue
- Utiliser les builders de panel
1.2. Support¶
Si vous n'avez pas trouvé votre bonheur dans les guides précédemment cités. Je vous invite à vous rendre sur le forum dédié ou je répondrai à vos questions.
1.2. Versions¶
Voici les différentes versions de JTheque Core :La prochaine version de JTheque sera la version 2.0.4.
2. Normes de programmation¶
La nomenclature de JTheque Core suit les normes CamelCase.
On évitera au maximum de faire des classes ou des méthodes trop longues. Les packages seront correctement séparés.
3. Persistence des données¶
Les entités sont stockées dans une base de données H2. On accède directement à cette base de données au moyen de Spring JDBC. On utilise des objets DAO pour accéder aux objets de données. Les objets de données sont spécifiées par une interface.
4. Tests unitaires¶
Les tests unitaires sont codés au moyen de JUnit 4. Les tests sont disponibles dans le package org.jtheque.core.tests. Les tests des bases de données sont faits au moyen de DBUnit. Tout ce qui concerne les fichiers est testé avec File Unit. On utilise EasyMock pour gérer les simulacres de test.
5. Librairies¶
Voici les différentes librairies fournies et utilisées par le Core :- Commons Collections 3.2.1
- Commons Logging 1.1.1
- Commons BeanUtils 1.7
- Commons Digester 1.7
- AppleJavaExtensions
- SkinLf 6.7
- SwingX 1.6
- JXLayer 3.0.4
- Timing Framework 1.0
- iText 2.1.0
- JXL
- POI 3.0.2
- Jasper Reports 3.5.0
- Javamail 1.4.1
- Log4J 1.2.15
- ehCache 1.5.0
- Spring JDBC
- Spring AOP
- Spring Beans
- Spring Context
- Spring Tx
- Spring Core
- Jaxen
- Jdom 1.1
- SaxPath
- Xerces
- Backport util concurrent 3.0
- H2 1.1.112
- JSR107 cache 1.0
*La librairie ne sera bientôt plus disponible.
6. Cycle de vie¶
Voici le déroulement du démarrage de l'application, depuis le lancement du Core par cette dernière :
- Ajout des librairies au ClassPath
- Lancement de la première phase
- Chargement des modules
- Application des patchs
- Chargement des états
- Configuration des modules
- Preplug des modules
- Initialisation des managers
- Plug des modules
- Lancement de la seconde phase (si choix des collections
- Choix de la collection
- Dernière phase
- Initialisation des vues
- Affichage de la vue principale.
- Unplug les modules
- Fermeture des managers
- Fermeture de la JVM
7. Architecture modulaire¶
JTheque Core n'est qu'un conteneur permettant de développer une application modulaire. Sans module, il n'est pas possible d'utiliser JTheque Core.
7.1. Application¶
La première chose qu'il faut pour que JTheque Core puisse fonctionner, c'est une application. C'est à dire simplement un programme lançant et initialisant le core. Pour cela, il suffit de récupérer l'instance de la classe Core, de la configurer via les différents setters et de le lancer.
7.2. Modules¶
Une fois l'application créée, il faudra ajouter des modules : C'est un module qui va rajouter des fonctionnalités à l'application. On peut en avoir autant que l'on veut dans une même application et lancés en même temps.
Tous les modules doivent hériter de l'annotation @Module.
8. Managers¶
Les fonctionnalités du Core sont fournies au moyen de Managers. Un Manager est simplement une classe fournissant une série de services qui permettent de faire une application modulaire. Vous trouverez ici la liste des managers et leur définition : Managers.
9. Vues¶
Le look and feel Substance est utilisé. L'utilisateur n'as pas le choix entre les différents look and feel. Certaines vues sont dites filthy, elles sont repaintes en partie à la main avec Java2D et améliorent le look des composants Swing. Les vues actuellements filthy sont :- Le splash screen
- La vue de choix des collections
- La vue "About"
10. Utilitaires¶
Les utilitaires de JTheque Core ont été déplacées dans JTheque Utils.