27
Eléments darchitecture technique JPlatform 10 Juilet 2020

Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Eléments d’architecture technique

JPlatform 10

Juilet 2020

Page 2: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Contexte et Objectifs

Jalios Digital Platform dans son écosystème

Architecture technique de la solution

> Composants logiciels

> Architecture physique

Prérequis d’installation

Compléments d’architecture

Accompagnement Jalios

Plan

Page 3: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Contexte du document

3

Cas d’utilisation du document

• Support de présentation d’un atelier de travail avec Jalios pour préparer le

déploiement de la solution Jalios Digital Platform chez un hébergeur ou une

direction informatique

• Support d’aide aux équipes d’exploitation avant déploiement

Points abordés

• Architecture technique

• Pré requis d’installation

• Préconisation d’environnement technique

Objectifs

• Permettre de comprendre comment la solution s’intègre au sein du SI

• Elaborer une première esquisse de l’architecture logique et physique

Page 4: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Autres ressources

4

Manuel d’installation et d’exploitation

• Mise à disposition par Jalios d’un guide technique détaillé, téléchargeable

depuis notre site communautaire (http://community.jalios.com),

(https://community.jalios.com/jplatform10-install-fr ) .

• Demande de création de compte nécessaire au préalable, directement sur le

site

Installation des modules

• Jalios Digital Platform est une solution modulaire (liste des modules

disponibles ici: http://community.jalios.com/jcms/frt_73857 )

• Chaque module possède sa propre documentation technique et est

téléchargeable depuis le site Jalios Community. Les habilitations de

téléchargement étant liées aux usages acquis par client.

Page 5: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Ecosystème standard

5

Navigateur, Tablette, Smartphone

Applications

rest, rss, soap

Annuaire SSOMessagerie

pop, imap

ldap(s)smtp

Base de données relationnelle

Stockage de fichiers(fichiers bureautiques, images, etc.)

http(s)

Clients

Services communs du SI

Services de persistance dédiés à la solution

Page 6: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture technique JPlatform

6

Serveur Web

BDD relationnelle

Serveur J2EE

Stockage de fichiers

Op

en A

PI

Java

AP

I

Navigateur, Tablette, Smartphone

Applications

Store XMLGabarits JSPs

Annuaire SSO Messagerie

Page 7: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Jalios Digital Platform 10.0

• Webapp Java EE6

• Non dépendante d’un système d’exploitation mais nécessite un serveur

d’application compatible Java EE (en particulier pour l’API Servlet 3.0)

• Requiert une version de java JDK en version 8 ou 11

Système d’exploitation

• Serveur compatible INTEL avec au choix:

• Windows 2012 R2, 2016, 2019

• Linux Debian 9/10 ou RedHat 7/8

• Ou autre distribution Linux équivalentes

Ressources

Serveur (physique ou VM) disposant d’au minimum de 2 cœurs (CPU), 6 Go

de Ram et 50 Go d’espace disque. Recommandé le double.

Dimensionnement à étudier pour chaque client en fonction des usages.

Equipement et configuration Serveur (1)

7

Page 8: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Serveur d’application Java EE

• Application web conforme a Java EE6

Equipement et configuration Serveur (2)

8

Systèmes d’exploitation

Serveurs d’applications Windows Linux Solaris AIX

Apache Tomcat 8.5 ou 9 ● ● ●

IBM WebSphere AS 9.0 ● ●

JBoss EAP 7.0 ou 7.1 ● ●

Page 9: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Base de données :

• PostgreSQL 9.6, 10, 11 et 12

• MySQL 5.7 et 8 (moteur de stockage InnoDB)

• Oracle 11g et 12c.

• Microsoft SQL Server 2012, 2016 et 2019

• IBM DB2 9.7

• MariaDB 10

Serveur Web

• Apache HTTP 2.4, avec le module mod_jk 1.2 ou mod_proxy_ajp comme connecteur Tomcat

• IBM HTTP Server (IHS) dans les environnements WebSphere AS.

Serveur SMTP

• Notifications : envoi de mail depuis JCMS 10

Equipement et configuration Serveur (3)

9

Page 10: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Serveur POP3/IMAP (optionnel)

• Si le mail entrant est active, JCMS 10 requiert un domaine de messagerie

sur un serveur POP3 ou IMAP pour gérer ces mails entrants.

Annuaire LDAP/LDAPS (optionnel)

• Microsoft Active Directory

• Novell eDirectory

• OpenLDAP

• Oracle Directory Server

Equipement et configuration Serveur (4)

10

Page 11: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Conversion des documents (optionnel)

• Permet la conversion automatique des documents bureautiques (word,

excel, powerpoint) au format Pdf

• Solutions disponibles :

• Utilisation du couple Jod Converter (webapp J2EE) et LibreOffice 6

• Connexion possible aux services tiers OnlyOffice et Collabora

Equipement et configuration Serveur (5)

11

Page 12: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Navigateurs web

• Microsoft Edge

• Microsoft Internet Explorer 11 (sans aucun mode de compatibilité)

• Mozilla Firefox 52 ou +

• Google Chrome 24 ou +

• Safari 6 ou +

Mobilité

• Site Responsive Web Design assurant la compatibilité avec tablettes et téléphones mobiles pour les sites internet

• Module Smartphone: propose des interfaces dédiées aux terminaux de petite taille + possibilité d’utiliser l’application JMobile

Flash Player 9

• Si le navigateur n’est pas compatible HTML5 (lecture de vidéos)

Postes clients

12

Page 13: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Module JDrive

• Compatible Windows XP, Windows Vista et Windows 7, Windows 8 et Windows 10, en 32-bits ou 64-bits

• Requiert le framework .Net 4.6

• Installation manuelle ou par stratégie de groupe (GPO)

• Paramétrage local par l’utilisateur (URL serveur JCMS, identifiant) en cas d’installation manuelle

• Compatible SSO Windows (Module Waffle) et module SAML

Module Outlook

• Compatible Microsoft Outlook 2010 et 2013

• Requiert le framework .Net 4.6

• Installation manuelle ou par stratégie de groupe (GPO)

• Paramétrage local par l’utilisateur (URL serveur JCMS, identifiant) en cas d’installation manuelle

• Compatible SSO Windows (Module Waffle)

Postes clients: installations supplémentaires

13

Page 14: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture logicielle classique

14

Serveur Web

BDDrelationnelle

Serveur Jalios

Stockage de fichiers

Messagerie instantanée

Conversion de documents

HTTP / HTTPS

JDBC

XMPP

AJP

Montage disque

Utilisateurs

Architecture logique avec l’ensemble des usages (Collaboratif, GED, RSE,…)

Page 15: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture logicielle avec accès externe

15

BDDrelationnelle

Serveur Jalios

Stockage de fichiers

Messagerie instantanée

Conversion de documents

Internaute Reverse Proxy Firewall

Intranaute

DMZ LAN

Serveur Web

HTTP / HTTPS

JDBC

XMPP

AJP

Montage disque

Page 16: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture logicielle répliquée

16

HTTP / HTTPS

JDBC

XMPP

AJP

Montage disque

JSync

BDDrelationnelle

Stockage de fichiers

Conversion de documents

Serveur Jalios 1

Serveur Jalios 2

Cluster Jalios

Serveur Web

Messagerie instantanée

Utilisateurs

Architecture avec utilisation de JSync (Jalios) en failover

Page 17: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture logicielle répliquée

17

HTTP / HTTPS

JDBC

XMPP

AJP

Montage disque

Serveur Web

Messagerie instantanée

Utilisateurs

BDDrelationnelle

Stockage de fichiers

Conversion de documents

Architecture avec utilisation de JSync (Jalios) en failover

Flux inactif si passif

JSync

Serveur Jalios 1

Serveur Jalios 2

Page 18: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture logicielle: exemple

18

Reverse Proxy Serveur JPlatform (J2EE )

Messagerie instantanée

Conversion de documents

BDD relationnelle

• Apache Http• mod_proxy_http

• Apache Tomcat• WebApp JPlatfrom

• Apache Tomcat• WebApp Jod Converter• LibreOffice

• PostgreSQL

• Openfire

Serveur Web

• Apache Http• mod_jk

Page 19: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Référentiel utilisateurs

• JPlatform gère de façon autonome les utilisateurs, leurs groupes et leurs droits.

• JPlatform peut être couple avec un annuaire LDAP (ou LDAPS) pour valider les authentifications des membres et récupérer leurs informations (nom, email, ...).

• JPlatform complète l’intégration avec les annuaires LDAP en synchronisant les groupes LDAP et les utilisateurs qui les composent

Questions a se poser lors d’un couplage avec un LDAP :

• Quel est le modèle des DN (DistinguishName) des utilisateurs et des groupes ?

• Quel est le modèle des groupes (posixGroup, groupOfUniqueNames, ...) ?

• Quels champs contiennent les informations sur la personne (compte utilisateur, nom, prénom, email, fonction, ...)

• Quels filtres sur les utilisateurs et les groupes ? (ex: (&(objectClass=person)(objectClass=user)(sAMextensionAttributes1=jalios)

Gestion des utilisateurs

20

Page 20: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Fonction native de délégation sécurisée d’utilisateur

JCMS propose en standard les modules SSO suivant pour se

coupler avec vos systèmes d’authentification

• Module SSO SAML v2

• Module SSO CAS

• Module SSO Waffle (NTLM & Kerberos)

• Compatible Windows Server uniquement

• Module SSO RSA ClearTrust et CA SiteMinder

Authentification forte (double-facteur)

• Le Module TOTP permet d’ajouter une seconde étape d’authentification sur

un appareil de confiance (smartphone) via une application d'authentification

suivant la RFC-6238.

Gestion des utilisateurs / SSO

21

Page 21: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Fréquence d’accès (visiteurs/jour, hit/seconde)

• en moyenne

• en pic d’activité

Usages de la plate forme

• information, documentaire, collaboratif ou/et communautaire

Volumétrie des contenus

• contenus éditoriaux de type « intranet/internets » (article, ...)

• contenus « collaboratifs » (forum, commentaire, wiki, évènements,…)

• contenus « GED » (documents PDF, MS Office,…)

Temps de réponse serveur (contenus web 1s, recherche 3s, page liste 2s,…)

Niveau de service (SLA, 99,9%, 24/24h,…)

Critères de dimensionnement d’une architecture

22

Page 22: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Pour une plateforme d’hébergement alliant simplicité et performance, Jalios recommande la plateforme technique suivante :

• Serveur Intel Xeon à 3 GHz avec 4 coeurs

• 12 Go de RAM

• 300 Go de disque

Avec la configuration logicielle suivante:

• Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10)

• JDK 11

• Tomcat 9

• Apache 2.4 + mod_jk

• PostgreSQL 12

Il est fortement recommandé de réaliser un atelier de cadrage afin d’étudier les usages attendus et d’adapter l’architecture et le dimensionnement des serveurs.

Recommandation de plateforme technique

23

Page 23: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Les architectures physiques types

24

Nous rencontrons principalement 3 types d’architecture physique:

• Minimale

• Standard

• Redondée à 2 nœuds

Critère

Architecture type Simplicité Coût RobustesseMontée en

charge

Minimale ++ ++ - -

Standard + + + +

Redondée -- - ++ ++

Page 24: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture physique minimale

25

Utilisateurs

Messagerie instantanée

Conversion de documents

Serveur Web

Serveur JPlatform (J2EE )

BDD relationnelle

Machine Virtuelle • 4-6 vcpu• 10-12 Go de ram• 100-300 Go d’espace disque

Architecture logique avec l’ensemble des usages (Collaboratif, GED, RSE,…)

Page 25: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture physique standard

26

Utilisateurs

Messagerie instantanée

Conversion de documents

VM 4-6 vcpu / 8-10 Go ram / 100-300 Go Disque

Serveur Web

Serveur Jalios (J2EE )

BDD relationnelle

VM 2 vcpu / 4 Go ram / 50-100 go Disque

À partir de 200 utilisateurs simultanés avec l’ensemble des usages

(Hypothèse : 2 000 utilisateurs potentiels)

BDD relationnelle

Page 26: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Architecture physique redondée

27

NAS( 500 Go)

VM 8 vcpu / 12 Go ram / 100 Go disque

Serveur Jalios (J2EE )

À partir de 800 utilisateurs simultanés avec l’ensemble des usages

Messagerie instantanée

Conversion de documents

VM 2-4 vcpu / 6 Go ram / 100 go disque

VM 2 vcpu / 4 Go de ram

Serveur Web

Serveur Jalios (J2EE )

VM 2-4 vcpu / 8 Go ram / 100 Go disque

BDD relationnelleBDD relationnelle

(Hypothèse : 10 000 utilisateurs potentiels)

VM 8 vcpu / 12 Go ram / 100 Go disque

Page 27: Eléments d architecture technique JPlatform 10 · 2020. 8. 3. · Linux 64-bit (CentOS 8, RHEL 8, Ubuntu Server 18.04, Debian 10) • JDK 11 • Tomcat 9 • Apache 2.4 + mod_jk

Questions ?