Architecture, installation et...

38
Gertrude Architecture, installation et exploitation Jérôme Poittevin Gertrude Architecture Installation Exploitation

Transcript of Architecture, installation et...

Page 1: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Gertrude

Architecture

Installation

Exploitation

Page 2: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Plan

● Présentation du fonctionnement● Architecture● Installation● Exploitation● Planning● Formulaire de pré-requis

Page 3: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Module de production

Page 4: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Export pour publication

Page 5: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Export pour publication

XML

Module deproduction

Module dediffusion

Page 6: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Site de diffusion

Page 7: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Architecture logicielle

● Composants utilisés

● Flux

● Principes de fonctionnement

Page 8: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 9: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Module de production

● GWT– Solution industrielle

– Javascript optimisé

● Jetty● Openlayers

Page 10: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Module de production

JavascriptOpenLayersHTML 5CSS 3

HTTPJSON

HTTPWMS/WFS

Serveur car tographique(arcgis, mapserver, geoserver, ...)

Page 11: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Stockage

Page 12: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 13: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 14: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 15: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 16: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 17: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 18: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

);

Page 19: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Module de diffusion

● Java● Sans état● Haute performance

Page 20: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Haute scalabilité

Reverse proxy

Serveur 1

Serveur 2

Serveur 1

Serveur 3

Serveur 4

Page 21: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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, ...)

Page 22: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Documentation

● Dossier d'architecture

● Manuel d'exploitation

● Formulaire de pré-requis à l'installation

Page 23: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 24: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 25: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 26: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 27: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 28: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 29: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Installation mono-serveur

Serveur

MongoDB

Module de production

Module de diffusion

XML

Page 30: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 31: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 32: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 33: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Installation MongoDB

● Installation via les paquets off iciels● Conf iguration réseau

CentOS 5.x

MongoDB

Page 34: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Installation JDK

● Installation via les paquets off iciels

CentOS 5.x

JDK 6 Oracle

MongoDB

Page 35: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 36: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 37: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

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

Page 38: Architecture, installation et exploitationgertrude.rhonealpes.fr/IMG/pdf/Presentation_ATOL.pdfGertrude Architecture, installation et exploitationJérôme Poittevin MongoDB Client Nœud

Gertrude Architecture, installation et exploitationJérôme Poittevin

Personnalisation graphique