Téléchargement des produits


Version anglaise



 


Ce gabarit est un modèle de projet Gradle pour la construction d'un serveur d'authentification autonome permettant de fournir un jeton JWT à partir des identifiants d'un utilisateur (utilisable pour l'authentification d'une application Web hébergeant des services web Adélia de type REST). L'application produite est une application J2EE sous la forme d'un fichier au format WAR. Elle doit s'exécuter dans un serveur conteneur J2EE de type Apache Tomcat.

Création d'un projet jwtProviderStandAlone build

La création du projet s'obtient en décompressant le fichier %ADELIWS%\Build\templates\jwtProviderStandAlone application.zip  : le répertoire jwtProviderStandAlone application obtenu peut être déplacé et renommé à volonté.


Le poste de construction de l'application et le poste de build Adélia peuvent être deux postes différents.

Configuration d'un projet jwtProviderStandAlone build

Après avoir créé un projet, il est nécessaire de le configurer avant de pouvoir l'exécuter.


La configuration et l'initialisation d'un projet de build se basent sur les paramètres renseignés dans le fichier gradle.properties, à savoir :


Paramètres généraux

adeliaVersion (obligatoire)

Chaîne alphanumérique représentant le numéro de version du runtime Adélia inclus dans le WAR de l'application Web.


Cette version de runtime doit être supérieure ou égale à celle utilisée par le poste de build Adélia pour générer les artéfacts.


version (obligatoire)

Chaîne alphanumérique représentant le numéro de version de l'application. Chaque artéfact construit aura le même numéro de version. On distingue plusieurs types de versions :

    • Les versions release (ou finales) représentant les versions officielles de l'application (ex : 1.0.0),

    • Les versions snapshot (ou instantanées) représentant les versions en cours de développement de l'application (ex : 1.0.1-SNAPSHOT),

    • Les versions pré-release (ou release-candidate) représentant les versions candidates à être les versions finales (ex : 1.0.1-RC01).


group (obligatoire)

Chaîne alphanumérique représentant l'identifiant du groupe ou de l'organisation à l'origine du projet.

La valeur suit les mêmes règles de nommage que les packages Java (ex : com.hardis), et on choisit généralement comme valeur le nom du top package du projet.


appWarName (optionnel)

Chaîne alphanumérique représentant le nom du fichier WAR produit.

Par défaut, ce fichier a pour nom <nom du répertoire du projet>-<valeur du paramètre version>.war.

Si ce paramètre est renseigné, le fichier aura pour nom <valeur du paramètre appWarName>-<valeur du paramètre version>.war.


adeliaLoginModule (optionnel)

Permet de faire appel à un programme Visual Adélia Batch pour la gestion de l'authentification à un Realm. Ce paramètre a une valeur alphanumérique "Y" (ajout du support) ou "N" (pas d'ajout du support). Par défaut, ce paramètre prend la valeur "N".

L'activation de cette propriété implique de déclarer une dépendance à un composant de build Adélia qui contient le programme gérant l'authentification.


ldapLoginModule (optionnel)

Permet de faire appel à l'authentification LDAP. Ce paramètre a une valeur alphanumérique "Y" (ajout du support) ou "N" (pas d'ajout du support). Par défaut, ce paramètre prend la valeur "N".


↑ Haut de page


Paramètres des gestionnaires de référentiels

L'utilisation des référentiels d'artéfacts lors de l'exécution d'un build jwtProviderStandAlone se fait lors des phases suivantes :

  • Dans la phase de création du fichier WAR, le build utilise un référentiel pour télécharger (référentiel de download) les artéfacts nécessaires à la construction de l'artéfact de l'application.
    Ces artéfacts sont :

    • les artéfacts du runtime Adélia nécessaires à l'exécution de l'application,

    • vos propres artéfacts d'objets Adélia composant l'application (composants nécessaires à l'authentification par module Adélia) : ceux-ci sont issus de l'exécution d'un projet Adélia build.


  • Dans la phase finale de stockage de l'artéfact construit, il est possible de définir un référentiel pour transférer (référentiel d'upload) cet artéfact versionné.
    En fonction du type de version (release ou snapshot), il est possible de définir le référentiel associé.


downloadArtifactsReleaseRepo (obligatoire)

URL d'accès au référentiel de download des artéfacts dépendants nécessaires au build. Ce référentiel doit permettre d'accéder :

    • aux artéfacts du référentiel Hardis (runtime Adélia),

    • à vos propres artéfacts d'objets Adélia composant votre application.  Ces artéfacts sont ceux en version release si vous buildez votre application Web en version release.

Par défaut, et uniquement à titre d'exemple, la valeur de ce paramètre est l'URL du référentiel fourni par Hardis.


A la place, dans votre Nexus, il faut créer votre propre référentiel privé pour qu'il soit un regroupement du référentiel Hardis et de votre référentiel privé en version release. En fonction de votre propre configuration du Nexus utilisé pour vos projets Adélia build, il s'agit soit du référentiel créé par défaut par Nexus et nommé "Releases", soit un autre référentiel "hosted repository", ayant une "Repository policy" à "Release" et créée par vos soins.


Pour cela, après connexion à votre Nexus, à partir de la vue "Repositories", il faut ajouter un nouveau référentiel défini comme groupe des référentiels décrits plus haut :

    • Ouvrez la fenêtre de définition d'un référentiel via la commande "Add repository group",

    • A partir de la section "Available Repositories", ajoutez, dans la section "Ordered Group Repositories", le référentiel privé qui est proxy du référentiel Hardis, ainsi que le référentiel privé "hosted" qui sert de stockage à vos artéfacts en version release.

Pour finir, remplacez la valeur du paramètre downloadArtifcatsReleaseRepo par l'URL "Repository Path" du référentiel de groupe nouvellement créée.



downloadArtifactsReleaseRepo.username / downloadArtifactsReleaseRepo.password (optionnels)

Définit le profil utilisateur et le mot de passe utilisés pour la connexion au référentiel de download.

Par défaut, et à titre d'exemple, ces identifiants sont ceux du référentiel de download Hardis, mais il faut les remplacer par ceux de votre propre référentiel privé de groupe (cf. downloadArtifactsReleaseRepo ci-dessus).


Comme on accède à ce référentiel en lecture seule, Nexus autorise une connexion anonyme : dans ce cas, laissez les champs "username" et "password" non renseignés.


downloadArtifactsSnapshotRepo (optionnel)

URL d'accès au référentiel de download des artéfacts dépendants nécessaires au build. Ce référentiel doit permettre d'accéder :

    • aux artéfacts du référentiel Hardis (runtime Adélia). Ces artéfacts ne sont disponibles qu'en version release,

    • à vos propres artéfacts d'objets Adélia composant votre application. Ces artéfacts sont ceux en version snapshot si vous construisez votre application Web en version snapshot.

Dans votre Nexus, il faut créer votre propre référentiel privé pour qu'il soit un regroupement du référentiel Hardis et de votre référentiel privé en version snapshot. En fonction de votre propre configuration du Nexus utilisé pour vos projets Adélia build, il s'agit soit du référentiel crée par défaut par Nexus et nommé "Snapshots", soit un autre référentiel "hosted repository" ayant une "Repository policy" à "Snapshot" et créée par vos soins.


Pour cela, après connexion à votre Nexus, à partir de la vue "Repositories", il faut ajouter un nouveau référentiel défini comme groupe des référentiels décrits plus haut :

    • Ouvrez la fenêtre de définition d'un référentiel via la commande "Add repository group",

    • A partir de la section "Available Repositories", ajoutez, dans la section "Ordered Group Repositories", le référentiel privé qui est proxy du référentiel Hardis ainsi que le référentiel privé "hosted" qui sert de stockage à vos artéfacts en version snapshot.

Pour finir, remplacez la valeur du paramètre downloadArtifcatsSnapshotRepo par l'URL "Repository Path" du référentiel de groupe nouvellement créée.


downloadArtifactsSnapshotRepo.username / downloadArtifactsSnapshotRepo.password (optionnels)

Définit le profil utilisateur et le mot de passe utilisés pour la connexion au référentiel de download. Ce profil doit permettre d'accéder à votre propre référentiel privé de groupe (cf. downloadArtifactsSnapshotRepo ci-dessus).

Comme on accède à ce référentiel en lecture seule, Nexus autorise une connexion anonyme : dans ce cas, laissez les champs "username" et "password" non renseignés.


uploadArchivesReleaseRepo (optionnel)

URL d'accès au référentiel d'upload utilisé pour le stockage de l'artéfact WAR construit avec une version release.

Ce référentiel permettra de mettre à disposition les artéfacts en version finale.


uploadArchivesReleaseRepo.username / uploadArchivesReleaseRepo.password (optionnels)

Définit le profil utilisateur et le mot de passe utilisés pour la connexion au référentiel d'upload des artéfacts en version release.


uploadArchivesSnapshotRepo (optionnel)

URL d'accès au référentiel d'upload utilisé pour le stockage de l'artéfact WAR construit avec une version snapshot.

Ce référentiel permettra de mettre à disposition les artéfacts en cours de développement.


uploadArchivesReleaseRepo.username / uploadArchivesReleaseRepo.password (optionnels)

Définit le profil utilisateur et le mot de passe utilisés pour la connexion au référentiel d'upload des artéfacts en version snapshot.


↑ Haut de page

Configuration des composants de l'application jwtProviderStandAlone à builder

Ces composants sont les artéfacts d'objets Adélia issus de l'exécution d'un projet Adélia build.

Il est nécessaire de les déclarer dans le projet jwtProviderStandAlone build pour qu'ils soient ajoutés dans le WAR produit.


Pour cela :

  • ouvrez le fichier build.gradle avec un éditeur texte, puis ;

  • dans la section "dependencies" (Declare your artifacts needed to build the web application here), déclarez vos artéfacts.

Artéfact de type CloudEventB

Lors de l'authentification par adeliaLoginModule, il est nécessaire de déclarer une dépendance à un artéfact contenant le programme Visual Adélia Batch qui gère l'authentification.

Cet artéfact doit être déclaré en insérant l'instruction suivante :

runtimeOnly group: '<nom du groupe de l'artéfact>', name : '<nom du fichier de l'artéfact sans la version>', version: '<numéro de version de l'artéfact>'


Exemple de déclaration d'artéfact issu d'un build par domaine :

Pour l'artéfact de type CloudEventB dont le nom de fichier est myapp-app_area_1_cloudeventb-1.1.0-SNAPSHOT.jar, il faut saisir runtimeOnly group: 'my.company', name : 'myapp-app_area_1_cloudeventb', version: '1.1.0-SNAPSHOT'.

La valeur de group est celle du paramètre "group" dans le fichier gradle.properties du projet Adélia build ayant construit l'artéfact.


Exemple de déclaration d'artéfact issu d'un build par composant :

Pour l'artéfact de type CloudEventB dont le nom de fichier est prefix_compo_1_cloudeventb-1.1.0-SNAPSHOT.jar, il faut saisir runtimeOnly group: 'my.company', name : 'prefix_compo_1_cloudeventb', version: '1.1.0-SNAPSHOT'.

La valeur de group est celle du paramètre "groupId" du composant dont est issu l'artéfact.

↑ Haut de page

Exécution d'un projet jwtProviderStandAlone build

Liste des tâches Gradle du build REST web services


build

Tâche de construction de l'artéfact WAR. Celui-ci est placé dans le sous-répertoire build\libs du projet de build.


clean

Tâche permettant de supprimer les objets créés lors de l'exécution de la tâche build (le sous-répertoire build est supprimé).


uploadArchives

Cette tâche permet de transférer l'artéfact construit dans le référentiel d'upload.

Il est nécessaire de renseigner la clé uploadArchivesReleaseRepo ou uploadArchivesSnapshotRepo en fonction du type de version de l'artéfact.

↑ Haut de page


  • Aucune étiquette