Guide de déploiement de JMap



Produit concerné / Related product

JMap

Versions

 6.5, 7 Istanbul



Introduction

Ce guide a pour but de fournir de l'information technique concernant le déploiement de JMap dans les différents environnements technologiques, en considérant les aspects de performance, de sécurité et d'évolutivité. Les architectures proposées sont des exemples généraux. Des variantes de celles-ci ou des modèles différents sont tout aussi valides, selon le contexte technologique. 



Composantes du système

Architecture simple



JMap Server

JMap Server est la composante principale du système. Chaque installation de JMap comprend une instance de JMap Server. JMap Server comporte son propre serveur web intégré (Apache Tomcat).

JMap Server écoute sur un port (par défaut 7003) les requêtes provenant de JMap Pro (connexions directes) ou de JMap Proxy pour les applications déployées sur des serveurs web externes (voir plus bas).

JMap Admin

JMap Admin sert à administrer JMap Server et est toujours hébergé directement dans JMap Server.

JMap Proxy

JMap Proxy est un module qui assure la communication entre les applications de JMap (Pro, Web, Mobile) déployées sur un serveur web externe et JMap Server. C'est grâce à JMap Proxy que les applications JMap peuvent être déplacées vers des serveurs web externes. JMap Proxy est automatiquement inclus avec chaque application JMap et n'a normalement besoin d'aucune configuration spéciale. 

Dans le cas de JMap Pro, l'utilisation de JMap Proxy permet aussi de faire l'encapsulation HTTP des requêtes entre JMap Pro et JMap Server. L'encapsulation HTTP permet d'utiliser JMap Pro sur les réseaux où des firewalls peuvent bloquer les requêtes natives entre JMap Pro et JMap Server.

Lors du déploiement d'applications dans JMap Admin, le module JMap Proxy est automatiquement configuré pour se connecter à JMap Server par l'adresse IP utilisée par JMap Server. Cette adresse peut être sélectionnée durant l'installation de JMap. Dans le cas d'un serveur avec plusieurs adresses IP, il est recommandé, durant l'installation de JMap, de bien sélectionner l'adresse IP qui doit être utilisée pour se connecter à JMap Server. Si vous n'en sélectionnez aucune, JMap Server utilise toutes les adresses IP disponibles et il se peut que JMap Proxy utilise une adresse IP qui ne lui permet pas de connecter à JMap Server.  Après un déploiement d'application, l'adresse utilisée par JMap Proxy pour connecter à JMap Server est écrite dans le fichier WEB-INF/msconnections.xml. Il est possible de modifier ce fichier avec un éditeur de texte pour changer cette adresse.

GeoWebCache

GeoWebCache est un service de cache de tuiles (images) optionnel qui permet d'accélérer l'affichage de la carte de JMap Web et JMap Mobile. Dans le cas de JMap Mobile, GeoWebCache est nécessaire pour l'utilisation du mode déconnecté.

Lorsque GeoWebCache est utilisé, les applications JMap Web et JMap Mobile obtiennent les tuiles directement de celui-ci au lieu de demander à JMap Server de les produire à chaque fois.

Applications JMap (Pro, Web, Mobile)

Les applications de JMap comportent la partie front-end (ce que les utilisateurs voient) et la partie back-end qui est le service qui répond aux requêtes faites par la partie front-end. La partie back-end de chaque application JMap peut être hébergée dans JMap Server directement (par défaut) ou déplacée vers un serveur web externe compatible avec les servlets Java (Tomcat, Jetty, WebLogic, etc.). Dans le cas où les services back-end sont déplacés vers un serveur web externe, la composante JMap Proxy assure les communications entre ceux-ci et JMap Server.



Architectures suggérées

Les architectures suivantes sont des exemples uniquement. D'autres architectures peuvent être utilisées.

Architecture 1 - Simple

Cette architecture est la plus simple possible où toutes les applications communiquent directement avec JMap Server.

Elle convient bien aux situations où JMap Server et tous les utilisateurs de JMap sont sur un réseau privé.

Architecture 2 - Déploiement des applications sur conteneur de servlets Java externe

Dans cette architecture, un conteneur de servlets Java (Tomcat, Jetty, WebLogic, etc.) est installé dans la DMZ et héberge les services back-end des applications JMap. Les applications JMap déployées à l'aide de JMap Admin sont manuellement déplacées vers ce serveur. JMap Proxy s'assure des communications vers JMap Server sur le segment interne du réseau. Les utilisateurs internes peuvent aussi se connecter directement à JMap Server si des applications JMap sont déployées sur celui-ci. Par contre, le gain de performance est théorique et négligeable.

Cette architecture convient bien aux situations où des utilisateurs sont à l'extérieur du réseau privé et procure un bon niveau d'isolation de JMap Server pour l'aspect sécurité.

Pour plus d'information sur l'installation et la configuration de Tomcat, consultez ce site web.
Pour plus d'information sur le déploiement des applications JMap, consultez cette section du manuel de l'administrateur JMap.

Architecture 3 - Déploiement des applications sur conteneur de servlets Java avec serveur web externe

Dans cette architecture, un serveur web est placé devant le conteneur de servlets Java. Le serveur web reçoit toutes les requêtes et les redirige vers les services back-end de JMap au moyen du protocole AJP (Tomcat, Apache Web Server et IIS seulement) ou d'une configuration de type Reverse Proxy.

Cette architecture convient bien aux situations où des utilisateurs sont à l'extérieur du réseau privé et procure un bon niveau d'isolation de JMap Server pour l'aspect sécurité. Elle facilite l'intégration des applications JMap dans des sites web existants.



Pour plus d'information sur la configuration de AJP avec Apache Web Server, consultez ce site web.
Pour plus d'information sur la configuration de AJP avec IIS, consultez ce site web.
Pour plus d'information sur la configuration de Nginx en Reverse Proxy avec Tomcat, consultez ce site web.

Architecture 4 - Déploiement des applications sur JMap Server avec serveur web externe

Dans cette architecture, un serveur web est placé devant JMap Server. Le serveur web reçoit toutes les requêtes et les redirige vers les services back-end de JMap Server au moyen du protocole AJP ou d'une configuration de type Reverse Proxy.

Cette architecture convient bien aux situations où des utilisateurs sont à l'extérieur du réseau privé. Elle est simple à implémenter et elle facilite l'intégration des applications JMap dans des sites web existants.

Pour plus d'information sur la configuration de AJP avec Apache Web Server, consultez ce site web.
Pour plus d'information sur la configuration de AJP avec IIS, consultez ce site web.
Pour plus d'information sur la configuration de Nginx en Reverse Proxy avec Tomcat, consultez ce site web (documentation Nginx) et ce site web (tutoriel).