Post on 26-Apr-2020
Gertrude Architecture, installation et exploitationJérôme Poittevin
Gertrude
Architecture
Installation
Exploitation
Gertrude Architecture, installation et exploitationJérôme Poittevin
Plan
● Présentation du fonctionnement● Architecture● Installation● Exploitation● Planning● Formulaire de pré-requis
Gertrude Architecture, installation et exploitationJérôme Poittevin
Module de production
Gertrude Architecture, installation et exploitationJérôme Poittevin
Export pour publication
Gertrude Architecture, installation et exploitationJérôme Poittevin
Export pour publication
XML
Module deproduction
Module dediffusion
Gertrude Architecture, installation et exploitationJérôme Poittevin
Site de diffusion
Gertrude Architecture, installation et exploitationJérôme Poittevin
Architecture logicielle
● Composants utilisés
● Flux
● Principes de fonctionnement
Gertrude Architecture, installation et exploitationJérôme Poittevin
Module de production
● Les standards du web– HTML 5
– CSS 3
– Javascript
– JSON
● Certif ié Firefox ESR
Gertrude Architecture, installation et exploitationJérôme Poittevin
Module de production
● GWT– Solution industrielle
– Javascript optimisé
● Jetty● Openlayers
Gertrude Architecture, installation et exploitationJérôme Poittevin
Module de production
JavascriptOpenLayersHTML 5CSS 3
HTTPJSON
HTTPWMS/WFS
Serveur car tographique(arcgis, mapserver, geoserver, ...)
Gertrude Architecture, installation et exploitationJérôme Poittevin
Stockage
Gertrude Architecture, installation et exploitationJérôme Poittevin
MongoDB
● Base de données orientée documents
● Intégration de GridFS
● Prévue pour un fonctionnement en cluster (replica set, sharding)
{"_id" : "f38c1785-7506-4487-9e08-60"annexesId" : [ "e020f3b6-bda3-436e"className" : "com.atolcd.gertrude."datePublication" : ISODate("2011-1"description" : { "etages" : [ { "thesaurusId" : "http://www.cul "libelle" : "rez-de-chaussée su }, { "thesaurusId" : "http://www.cul "libelle" : "1 étage carré" }, { "thesaurusId" : "http://www.cul "libelle" : "2 étages carrés" } ],}"designation" : { "denominations" : [ { "thesaurusId" : "http://www.cul "libelle" : "école primaire" }, { "thesaurusId" : "http://www.cul
{"_id" : "f38c1785-7506-4487-9e08-60"annexesId" : [ "e020f3b6-bda3-436e"className" : "com.atolcd.gertrude."datePublication" : ISODate("2011-1"description" : { "etages" : [ { "thesaurusId" : "http://www.cul "libelle" : "rez-de-chaussée su }, { "thesaurusId" : "http://www.cul "libelle" : "1 étage carré" }, { "thesaurusId" : "http://www.cul "libelle" : "2 étages carrés" } ],}"designation" : { "denominations" : [ { "thesaurusId" : "http://www.cul "libelle" : "école primaire" }, { "thesaurusId" : "http://www.cul
{"_id" : "f38c1785-7506-4487-9e08-60"annexesId" : [ "e020f3b6-bda3-436e"className" : "com.atolcd.gertrude."datePublication" : ISODate("2011-1"description" : { "etages" : [ { "thesaurusId" : "http://www.cul "libelle" : "rez-de-chaussée su }, { "thesaurusId" : "http://www.cul "libelle" : "1 étage carré" }, { "thesaurusId" : "http://www.cul "libelle" : "2 étages carrés" } ],}"designation" : { "denominations" : [ { "thesaurusId" : "http://www.cul "libelle" : "école primaire" }, { "thesaurusId" : "http://www.cul
Gertrude Architecture, installation et exploitationJérôme Poittevin
MongoDB
● Opérations d'administration : – Compactage
– Reconstruction d'index
● Nécessitent un arrêt du nœud● Fonctionnement en cluster nécessaire pour éviter
les coupures
Gertrude Architecture, installation et exploitationJérôme Poittevin
MongoDB
Client
Nœud primaire
Nœud secondaire
Nœud secondaire
Réplication asynchrone surles nœuds secondaires
Lecture sur n'importequel des nœudsMise à jour sur le
nœud primaire
Gertrude Architecture, installation et exploitationJérôme Poittevin
Bus d’événements
● Enregistrement des données au plus tôt● Gestion de traitements supplémentaires de façon
asynchrone● Possibilité de déploiement de modules sur des
serveurs séparés● Possibilité de déploiement de modules en plusieurs
exemplaires
Gertrude Architecture, installation et exploitationJérôme Poittevin
HornetQ
● JBoss● Écrit en Java● Plusieurs modes de
fonctionnement : – Réseau / In-memory
– Autonome / Embarqué
● Stockage des queues sur disque
Gertrude Architecture, installation et exploitationJérôme Poittevin
Indexation
● Apache (lucene)● Écrit en java● Plusieurs modes de
fonctionnement : – Réseau / In-memory
– Autonome / Embarqué
● Stockage des index sur disque
Gertrude Architecture, installation et exploitationJérôme Poittevin
Contrôles
● JSR 303 / Hibernate Validator● Scripts Groovy
if(! _this.titre)return true;
if(_this.titre.contains("Photographie") || _this.titre.contains("Carte postale"))return (boolean) _this.contributions;
return true;
return ! (_this.professions.any {
it.libelle != "maître d'oeuvre inconnu"}&& ! _this.justifications
);
Gertrude Architecture, installation et exploitationJérôme Poittevin
Module de diffusion
● Java● Sans état● Haute performance
Gertrude Architecture, installation et exploitationJérôme Poittevin
Haute scalabilité
Reverse proxy
Serveur 1
Serveur 2
Serveur 1
Serveur 3
Serveur 4
Gertrude Architecture, installation et exploitationJérôme Poittevin
Module de diffusion
HTMLJavascript (limité et facultatif)OpenLayers
HTTPHTML
HTTPWMS/WFS
Serveur car tographique(arcgis, mapserver, geoserver, ...)
Gertrude Architecture, installation et exploitationJérôme Poittevin
Documentation
● Dossier d'architecture
● Manuel d'exploitation
● Formulaire de pré-requis à l'installation
Gertrude Architecture, installation et exploitationJérôme Poittevin
Equipe Atol Conseils & Développements
● L'équipe projet : – Jérôme Poittevin
chef de projet, architecte, développeur java senior
– Vincent Plantegenetdéveloppeur java conf irmé
● Des exper ts mobilisables : – Xavier Calland
expert SIG, développeur java senior
– Thomas Broyerarchitecte, exper t GWT, développeur java senior
– Matthieu Rolliningénieur système et réseau
Gertrude Architecture, installation et exploitationJérôme Poittevin
Planning de déploiement
Déploiement Reprise Assistance
Préparation
Réunion delancement
● Formulaire de pré-requis
Gertrude Architecture, installation et exploitationJérôme Poittevin
Planning de déploiement
Déploiement Reprise Assistance
Préparation Installation
Réunion delancement
● Installation● Conf iguration● Mise en place des tâches automatisées
Gertrude Architecture, installation et exploitationJérôme Poittevin
Planning de déploiement
Déploiement Reprise Assistance
Préparation Installation Donnéespilotes
Réunion delancement
● Intégration d'un lot signif icatif● Validation par Atol C&D
Gertrude Architecture, installation et exploitationJérôme Poittevin
Planning de déploiement
Déploiement Reprise Assistance
Préparation Installation Donnéespilotes
Lots deproduction
Réunion delancement
● Généralisation
Gertrude Architecture, installation et exploitationJérôme Poittevin
Planning de déploiement
Déploiement Reprise Assistance
Préparation Installation Donnéespilotes
Lots deproduction
Réunion delancement
● 3 jours● Tickets mantis
Gertrude Architecture, installation et exploitationJérôme Poittevin
Installation mono-serveur
Serveur
MongoDB
Module de production
Module de diffusion
XML
Gertrude Architecture, installation et exploitationJérôme Poittevin
Installation multi-serveurs
Serveur de production
MongoDB
Module de production
Serveur de diffusion
MongoDB
Module de diffusion
XML
Gertrude Architecture, installation et exploitationJérôme Poittevin
Serveur de qualification
Serveur de production
MongoDB
Module de production
Serveur de diffusion
MongoDB
Module de diffusion
XML
Serveur de qualif ication
MongoDB
Module de diffusion
XML
Gertrude Architecture, installation et exploitationJérôme Poittevin
Installation CentOS
● Installation minimale du système d'exploitation● Création des points de montage
/var/lib/mongo, /var/lib/gertrude, /usr/local/gertrude, …
● Conf iguration réseau
CentOS 5.x
Gertrude Architecture, installation et exploitationJérôme Poittevin
Installation MongoDB
● Installation via les paquets off iciels● Conf iguration réseau
CentOS 5.x
MongoDB
Gertrude Architecture, installation et exploitationJérôme Poittevin
Installation JDK
● Installation via les paquets off iciels
CentOS 5.x
JDK 6 Oracle
MongoDB
Gertrude Architecture, installation et exploitationJérôme Poittevin
Installation Jetty
● Installation d'une version dédiée à Ger trude● Extraction d'archive
CentOS 5.x
JDK 6 Oracle
MongoDBJetty
Gertrude Architecture, installation et exploitationJérôme Poittevin
Installation Gertrude
CentOS 5.x
JDK 6 Oracle
MongoDB
● Extraction d'archive● Script d'installation (Service, intégration à Jetty, ...)
Gertrude Jetty
Gertrude Architecture, installation et exploitationJérôme Poittevin
Intégration dans le SI
● Conf iguration authentif ication● Mise en place des tâches planif iées :
– Publication
– Nettoyage
– Reprise
– Sauvegarde
Gertrude Architecture, installation et exploitationJérôme Poittevin
Personnalisation graphique