Projets
Pages enfant
  • 3.3.2 Le fonctionnement

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Remarque
titleA compléter

DétailParagraphe AOP

...

Sommaire :

Sommaire
maxLevel3

...

Les points d'entrée

En ESUPesup-Commons commons V1 on devait modifier les différent points d'entrée de l'application (FacesServlet, FacesPortlet, XFireServlet). Cette approche avait 2 désavantages  :

  1. On était obligé de maintenir ces points d'entrées et il fallait reproduire ce travail si on voulait avoir un nouveau point d'entrée (servlet d'un framework REST par exemple)
  2. Ce qui était fait l'était notamment pour JSF (FacesServlet, FacesPortlet) ce qui rendait ESUPesup-Commons commons V1 très dépendant de la technologie utilisée pour la vue.

C'est la raison pour laquelle ESUPesup-Commons commons V2 utilise une technologie radicalement différente qui est l'utilisation de AOP (aspect-oriented programming via Spring AOP) pour gérer les connexions aux bases de données et les transactions.

...

  • void open(servletContext) : ouvre la connexion à la base de données et commence une transaction ; cette méthode est utilisée en mode web.
  • void open() : ouvre la connexion à la base de données et commence une transaction ; cette méthode est utilisée en mode batch.
  • void close(boolean) : valide (commit) ou invalide (rollback) la transaction courante et ferme la connexion.
  • void test() : teste la connexion; cette méthode est utilisée par la tâche ant test-database.
  • boolean isUpdatable() : indique si le gestionnaire est capable de créer et mettre à jour la structure de la base de données (on pourra dans ce cas appeler les méthodes create() et update()).
  • void create() : crée les structures de la base de données.
  • void update() : met à jour les structures de la base de données.
    Remarque
    titleUtiliser _esup-commons_ sans base de données

    Les utilisateurs ne s'appuyant sur aucune base de données devront utiliser l'implémentation EmptyDatabaseManagerStoreImpl pour le bean databaseManagerStore.

...