4 arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr Auteur du document : Esri France Version de la documentation : 1.3.0.1 Date de dernière mise à jour : 15/10/2015
Sommaire I Introduction... 3 II Exemples d architecture simples... 4 II.1 ArcGIS Server et arcopole Studio sur un même serveur... 4 II.2 ArcGIS Server et arcopole Studio sur deux serveurs différents... 5 II.3 Configuration des rapports et de l impression... 6 II.3.1 Serveur arcopole... 6 II.3.2 Serveur SIG... 6 II.3.3 ArcGIS for Server... 6 II.3.4 Configuration.xml... 7 III Exemple d Architecture HTTPS... 9 III.1 Présentation... 9 III.2 Configuration... 10 IV Exemple d Architecture utilisant le Web Adaptor... 11 IV.1 Avec un ArcGIS for server enregistré auprès d un Web Adaptor... 11 IV.2 Avec un ArcGIS for server sécurisé par une authentification Web déléguée au Web Adaptor... 12 IV.2.1 Pré requis... 12 IV.2.2 Explication du mode d authentification... 13 IV.2.3 Exemple de configuration du serveur Arcopole... 14 15/10/2015 Version doc. : 1.3.0.1 Page 2 sur 14
I INTRODUCTION La variété des utilisations d arcopole Studio nécessite que le logiciel puisse être installé dans différentes architectures techniques. Cette documentation présente les différentes architectures supportées suivantes et leurs implémentations : Architectures simples (HTTP) Architectures sécurisées (HTTPS) D autres architectures peuvent être mises en œuvre. Chaque cas étant particulier, cette documentation ne peut tous les traiter. Dans la mesure du possible, nous vous conseillons de suivre les préconisations de ce document pour bénéficier d un support efficace. Sachez également que les experts d Esri France peuvent vous accompagner dans la mise en œuvre d architectures différentes en fonction de vos besoins. Enfin, vous trouverez en dernière partie de document, des informations sur l architecture de génération des rapports et de l impression. 15/10/2015 Version doc. : 1.3.0.1 Page 3 sur 14
II EXEMPLES D ARCHITECTURE SIMPLES Afin de vous aider dans votre installation d arcopole Studio, voici le schéma d une architecture habituelle HTTP et les valeurs des différentes variables à indiquer lors de l installation. II.1 ARCGIS SERVER ET ARCOPOLE STUDIO SUR UN MEME SERVEUR Dans le schéma ci-dessus, arcopole Studio et ArcGIS Server sont installés sur la même machine et ArcGIS n utilise pas le Web Adaptor. La machine porte le nom de SERVEUR_SIG sur le domaine et on y peut accéder en http à l adresse http://sig.macollectivite.org. Tomcat a été installé sur le port 8080 et ArcGIS for Server sur le port 6080 L utilisateur User_SIG est local à SERVEUR_SIG et est un utilisateur. Dans ce contexte, les différentes variables à utiliser pendant l installation sont les suivantes : WEB_SERVER_HOST : sig.macollectivite.org:8080 WEB_SERVER_PROTOCOL : http WEBAPP_NAME : studio AGS_HOST : SERVEUR_SIG AGS_WEBAPI_HOSTS : SERVEUR_SIG AGS_PROTOCOL : http AGS_USER : User_SIG AGS_PWD : Password_SIG AGS_OUTPUT : C:/arcgisserver/directories/arcgisoutput AGS_JOBS : C:/arcgisserver/directories/arcgisjobs Exemple de configuration 15/10/2015 Version doc. : 1.3.0.1 Page 4 sur 14
II.2 ARCGIS SERVER ET ARCOPOLE STUDIO SUR DEUX SERVEURS DIFFERENTS Dans le schéma ci-dessus, arcopole Studio et ArcGIS Server sont installés sur deux machines différentes et ArcGIS n utilise pas le Web Adaptor. Le serveur ArcGIS porte le nom de SERVEUR_SIG sur le domaine ; le serveur sur lequel arcopole Studio est installé porte le nom SERVEUR_ARCOPOLE sur le domaine, et on y peut accéder en http à l adresse http://sig.macollectivite.org. Tomcat a été installé sur le port 8080 et ArcGIS for Server le port 6080. L utilisateur User_SIG est local à SERVEUR_SIG et est un utilisateur ArcGIS. Dans ce contexte, les différentes variables à utiliser pendant l installation sont les suivantes : WEB_SERVER_HOST : sig.macollectivite.org:8080 WEB_SERVER_PROTOCOL : http WEBAPP_NAME : studio AGS_HOST : SERVEUR_SIG AGS_WEBAPI_HOSTS : SERVEUR_SIG:6080 AGS_PROTOCOL : http AGS_USER : arcgis AGS_PWD : arcgis_password AGS_OUTPUT : \\SERVEUR_DMZ\partage\arcgisserver\arcgisoutput AGS_JOBS : \\SERVEUR_DMZ\partage\arcgisserver\arcgisjobs Exemple de configuration 15/10/2015 Version doc. : 1.3.0.1 Page 5 sur 14
II.3 CONFIGURATION DES RAPPORTS ET DE L IMPRESSION Cette architecture nécessite l usage d un répertoire partagé entre les deux machines (SERVEUR_ARCOPOLE et SERVEUR_SIG) pour pouvoir générer et récupérer des rapports ainsi que pour l impression. Voici les étapes de configuration spécifiques. II.3.1 Serveur arcopole Créez les répertoires suivants sous un répertoire commun : - arcgisjobs - arcgisoutput : contiendra les fichiers XML générés par arcopole Studio - rapports : y copier les modèles de rapports jasper et xslt. - arcopoleprint : y copier le répertoire studio/web-inf/printtemplates. Exemple : D:\partage\arcgisjobs D:\partage\arcgisoutput D:\partage\rapports D:\partage\arcOpolePrint Donnez à Tomcat les droits d accès à ces répertoires. II.3.2 Serveur SIG Créez quatre répertoires virtuels arcgisjobs, arcgisoutput, rapports et arcopoleprint correspondants aux quatre répertoires partagés précédemment sur SERVEUR_ ARCOPOLE et y donner accès au compte arcgis. Exemple : \\SERVEUR_ARCOPOLE\partage\arcgisjobs \\SERVEUR_ARCOPOLE\partage\arcgisoutput \\SERVEUR_ARCOPOLE\partage\rapports \\SERVEUR_ARCOPOLE\partage\arcOpolePrint II.3.3 ArcGIS for Server La configuration de votre ArcGIS Server doit également être modifiée : Dans votre Site ajoutez un nouveau répertoire arcgisjobsarcopole de type Tâches : arcgisjobsarcopole : \\SERVEUR_ARCOPOLE\partage\arcgisjobs Ajoutez également un nouveau répertoire arcgisoutputarcopole de type Sortie : arcgisoutputarcopole : \\SERVEUR_ARCOPOLE\partage\arcgisoutput Configurez le service Rapports : - Répertoire des tâches : \\SERVEUR_ARCOPOLE\partage\arcgisjobs - Répertoire en sortie : \\SERVEUR_ARCOPOLE\partage\arcgisoutput Configurez la fonctionnalité SOEMxdPrinter du service arcopoleprint : - templates : \\SERVEUR_ARCOPOLE\partage\arcOpolePrint\printTemplates - authentification : \\SERVEUR_ARCOPOLE\partage\arcOpolePrint\PrintAuth.xml 15/10/2015 Version doc. : 1.3.0.1 Page 6 sur 14
II.3.4 Configuration.xml Dans le fichier configuration.xml effectuez les modifications suivantes : 1. remplacez le pattern de filtre /arcgisjobs par /arcgisjobsarcopole : <urlfilter startwith="/arcgisjobsarcopole" handlerclass="com.esrifrance.restfmksrv.handlers.securedownload.sd"> <handler-configuration root_folder="${agsjobs}" > </handler-configuration> </urlfilter> 2. puis configurez l emplacement des modèles de rapports : <!-- Rapports--> <urlfilter startwith="/report" handlerclass="com.esrifrance.restfmksrv.handlers.arcopole.report.reporthandler"> <handler-configuration> <engines> <engine name="jasper" alias="ireport" modelxmlpath="\\serveur_arcopole\partage\rapports\jasper\models.xml" geoprocessingurl="${orionhost}/arcgis/rest/services/arcopole/ra pports/gpserver/jasper" tmppath="${agsinput}" /> <engine name"xslt" alias="xslt" </engines> modelxmlpath="\\serveur_arcopole\partage\rapports\xslt\m odels.xml" geoprocessingurl="${orionhost}/arcgis/rest/services/arcopole/ra pports/gpserver/xslt" tmppath="${agsinput}" /> </handler-configuration> </urlfilter> 15/10/2015 Version doc. : 1.3.0.1 Page 7 sur 14
3. et l emplacement des répertoires arcgisjobs et arcgisoutput : <var name="agsjobs" value=" \\SERVEUR_ARCOPOLE\partage\arcgisjobs" /> <var name="agsoutput" value=" \\SERVEUR_ARCOPOLE\partage\arcgisoutput" /> 4. enfin il faut également définir où se trouve le répertoire contenant les gabarits d impression et le fichier PrintAuth.xml : <!-- impression MXD --> <var name="printauthpath" value="\\serveur_arcopole\partage\arcopoleprint\printauth.xml"/> <var name="printtemplatefolder" value="\\serveur_arcopole\partage\arcopoleprint\printtemplates"/> 15/10/2015 Version doc. : 1.3.0.1 Page 8 sur 14
III EXEMPLE D ARCHITECTURE HTTPS III.1 PRESENTATION Dans le schéma ci-dessus, arcopole Studio est installé sur une machine en DMZ tandis qu ArcGIS Server se trouve sur une machine du LAN. Cette dernière porte le nom de SERVEUR_SIG sur le domaine tandis que la machine de DMZ, qu on appellera SERVEUR_ARCOPOLE, est accessible en HTTP à l adresse http://sig.macollectivite.org ou en HTTPS à l adresse https://sig.macollectivite.org. ArcGIS Server répond sur le port 6080 et Tomcat a été installé sur le port 8080. Apache est utilisé comme reverse proxy et écoute sur les ports 80 (HTTP) et 443 (HTTPS) les requêtes puis les redirigent sur le port 8080 de Tomcat en HTTP. L utilisateur arcgis est le gestionnaire d ArcGIS Server et le compte a été créé comme un compte local à la machine au moment de l installation d ArcGIS Server. Cet utilisateur peut donc se connecter à ArcGIS Server Manager en utilisant son couple login / mot de passe suivant : arcgis / arcgis_password. 15/10/2015 Version doc. : 1.3.0.1 Page 9 sur 14
III.2 CONFIGURATION Dans ce contexte, les différentes variables à utiliser pendant l installation sont les suivantes : WEB_SERVER_HOST : sig.macollectivite.org WEB_SERVER_PROTOCOL : https WEBAPP_NAME : studio AGS_HOST : SERVEUR_SIG AGS_WEBAPI_HOSTS : SERVEUR_SIG:6080 AGS_PROTOCOL : http AGS_USER : arcgis AGS_PWD : arcgis_password AGS_OUTPUT : \\SERVEUR_DMZ\partage\arcgisserver\arcgisoutput AGS_JOBS : \\SERVEUR_DMZ\partage\arcgisserver\arcgisjobs Exemple de configuration Pour la configuration des fonctionnalités de rapports et d impression, se référer au paragraphe II.3. Si par la suite, le protocole HTTPS est désactivé dans Apache, il faut redéfinir les urls d accès au studio avec le protocole HTTP et le port correspondant. 15/10/2015 Version doc. : 1.3.0.1 Page 10 sur 14
IV EXEMPLE D ARCHITECTURE UTILISANT LE WEB ADAPTOR IV.1 AVEC UN ARCGIS FOR SERVER ENREGISTRE AUPRES D UN WEB ADAPTOR ArcGIS Server utilise un Web Adaptor. ArcGIS Server est non sécurisé ou sécurisé par une authentification à base de jetons ArcGIS. Dans ce contexte, il suffit d adapter la configuration en utilisant le protocole, le nom et le port du Web Adaptor (au lieu d ArcGIS for Server) dans les paramètres ci-dessous : WEB_SERVER_HOST : **** WEB_SERVER_PROTOCOL : **** WEBAPP_NAME : **** AGS_HOST : WebAdaptor_SIG AGS_WEBAPI_HOSTS : WebAdaptor_SIG:WebAdaptor_SIG_Port AGS_PROTOCOL : WebAdaptor_SIG_Protocol AGS_USER : **** AGS_PWD : **** AGS_OUTPUT : **** AGS_JOBS : **** Exemple de configuration A noter qu arcopole Studio nécessite que le nom de l instance soit «arcgis». Aussi, si vous souhaitez disposer de plusieurs instances, nous vous conseillons de changer les URL au niveau des sousdomaines par exemple (http://sig1.macollectivite.org/arcgis/rest/services, http://sig2.macollectivite.org/arcgis/rest/services, ) 15/10/2015 Version doc. : 1.3.0.1 Page 11 sur 14
IV.2 AVEC UN ARCGIS FOR SERVER SECURISE PAR UNE AUTHENTIFICATION WEB DELEGUEE AU WEB ADAPTOR Depuis le patch 2 d arcopole Studio 3.3, arcopole Studio peut fonctionner avec un ArcGIS for Server 10.3 sécurisé par une authentification Web déléguée au Web Adaptor 1 (Par exemple : authentification intégrée Windows, digest, PKI). Ce type d architecture tant à se développer dans les structures où les données publiées par ArcGIS for Server sont sécurisées et utilisées dans arcopole Studio mais aussi dans d autres applications cartographiques (applications mobiles ou autres modèles d applications ArcGIS par exemple). IV.2.1 Pré requis Si vous souhaitez configurer arcopole Studio avec un ArcGIS for Server utilisant une authentification Web, vérifiez les points de configuration ci-dessous : 1. L ArcGIS for Server local est bien configuré avec une authentification web. Connectez-vous au gestionnaire d ArcGIS for Server, puis cliquez sur Sécurité > Paramètres et vérifiez le mode d authentification. Si le mode d authentification web n est pas activé, reportez-vous à la documentation en ligne : http://resources.arcgis.com/fr/help/main/10.2/index.html#/na/015400000517000000/ 2. ArcGIS 10.x Web Adaptor for Java doit être installé sur le serveur arcopole. Le fichier arcgis.war doit être accessible en lecture depuis le serveur arcopole. Par exemple : installez le Web Adaptor dans C:\Program Files\ArcGIS\WebAdaptor10.x\Java. Vérifiez que ce répertoire contient bien le fichier arcgis.war. Si votre architecture ne le permet pas au serveur arcopole de lire ce fichier directement sur le serveur ArcGIS, récupérez le fichier arcgis.war de votre installation d ArcGIS 10.x Web Adaptor for Java et copiez-le sur le serveur arcopole dans, par exemple, C:\Program Files\ArcGIS\WebAdaptor10.x\Java. 1 Notez que la version 3.3.0.2 (arcopole Studio 3.3 + patch 2) fonctionne avec un Web Adaptor et une authentification web intégrée mais n a pas été testé dans le cas d un ArcGIS for Server fédéré avec ArcGIS Portal. 15/10/2015 Version doc. : 1.3.0.1 Page 12 sur 14
IV.2.2 Explication du mode d authentification L authentification web repose sur l utilisation du Web Adaptor, pour l authentification de l utilisateur. Le Web Adaptor intégré dans un serveur web, transmet l authentification à ArcGIS for Server qui peut alors appliquer les droits associés sur les services. Il existe une relation de confiance entre le Web Adaptor et ArcGIS for Server. En effet, chaque Web Adaptor paramétré pour se connecter à un ArcGIS for Server (plusieurs peuvent l être), partage avec ce dernier une clef de cryptage, permettant d échanger l identité de l utilisateur connecté. Dans ce cas d utilisation d authentification web, arcopole Studio, avec ce patch, intègre un petit Web Adaptor dans sa connexion à ArcGIS for Server, permettant de transmettre l utilisateur «applicatif» à utiliser pour se connecter à ArcGIS for Server. Après enregistrement du Web Adaptor contenu dans arcopole Studio auprès de votre ArcGIS for Server, les appels http transmis par arcopole Studio à ArcGIS for Server porteront l authentification d un seul et même «compte applicatif». Ce dernier doit être paramétré dans la connexion à ArcGIS for Server dans la configuration d arcopole Studio. Comme pour les connexions sécurisées par tokens, le compte applicatif doit disposer de tous les droits d accès aux services ArcGIS for Server. C est toujours arcopole Studio qui continue de filtrer les droits d accès en fonction de l utilisateur connecté et des droits définis dans l interface d administration d arcopole Studio. L utilisation d un compte applicatif, permet de ne pas avoir à configurer les droits pour chaque utilisateur des deux cotés (arcopole Studio et ArcGIS for Server), et donc de réduire les problèmes de configuration de droits. Dans le schéma ci-dessus, le compte DOMAINE\arcopole est utilisé par arcopole Studio pour se connecter à ArcGIS for Server via le petit Web Adaptor embarqué dans arcopole Studio. Si vous avez activé le mode d authentification web sur votre ArcGIS for Server local, il est nécessaire de mettre à jour la configuration des éléments suivants : du serveur arcopole afin de modifier le type de connexion utilisé pour accéder à ArcGIS for Server et la configuration du service d impression. 15/10/2015 Version doc. : 1.3.0.1 Page 13 sur 14
IV.2.3 Exemple de configuration du serveur Arcopole Dans ce contexte, il suffit d adapter la configuration des variables en déclarant le compte applicatif pour accéder à ArcGIS for Server et de vérifier la configuration du Web Adaptor qui sera déployé dans arcopole Studio : WEB_SERVER_HOST : **** WEB_SERVER_PROTOCOL : **** WEBAPP_NAME : **** AGS_HOST : **** AGS_WEBAPI_HOSTS : **** AGS_PROTOCOL : http AGS_USER : DOMAINE\arcopole AGS_PWD : **** AGS_OUTPUT : **** AGS_JOBS : **** WA_PATH : C:/Program Files/ArcGIS/WebAdaptor10.x/Java/arcgis.war WA_PORT : 9234 WA_CONTEXT : /arcgis WA_JETTY_TEMP_DIR : C:/temp/arcopole-orionwa-webapps Exemple de configuration 15/10/2015 Version doc. : 1.3.0.1 Page 14 sur 14