"Client léger" avec 4ème Dimension Par Christophe KEROMEN, Cabinet de Consultants CKTI Note technique 4D-200401-02-FR Version 1 Date 1 Janvier 2004 Résumé La demande d'utilisation de 4D Client au travers de réseaux étendus s'affirme de jour en jour. La démocratisation de l'accès ADSL conforte encore cette tendance de fond. La mise en oeuvre des solutions de type "client léger", au travers des technologies de type Citrix ou Terminal Server, permet de répondre à ce besoin sans aucune modification de l'applicatif. 4D Notes techniques Copyright 1985-2004 4D SA - Tous droits réservés Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible. Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte. L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs utilisateurs que des tiers. Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D SA. La fourniture dulogiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la licence électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence. Aucune partie de ce document ne peut être reproduite ourecopiée de quelque manière que ce soit, électronique ou mécanique, y compris par photocopie, enregistrement, archivage outout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA. 4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques enregistrées de 4D SA. Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation. Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc. Mac2Win Software Copyright 1990-2002 est un produit de Altura Software,Inc. 4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,trumbull,ct,usa. XTND Copyright 1992-2002 4D SA. Tous droits réservés. XTND Technology Copyright 1989-2002 Claris Corporation.. Tous droits réservés ACROBAT Copyright 1987-2002, Secret Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'adobe Systems Inc. Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. 1 / 11
"Client léger" avec 4ème Dimension Résumé La demande d'utilisation de 4D Client au travers de réseaux étendus s'affirme de jour en jour. La démocratisation de l'accès ADSL conforte encore cette tendance de fond. La mise en oeuvre des solutions de type "client léger", au travers des technologies de type Citrix ou Terminal Server, permet de répondre à ce besoin sans aucune modification de l'applicatif. Retour vers le futur L apparition des PC (Personal Computers ou ordinateurs personnels) dans les années 80 fut accompagnée d un sourire méprisant de la part des vendeurs de terminaux passifs et mini-ordinateurs qui considéraient ce joujou sans aucun avenir. On sait ce qu il en advint. Dans les années 90, les micro-ordinateurs, dorénavant interconnectés, furent confrontés à un problème critique. Leurs interfaces graphiques de plus en plus riches qui se satisfaisaient des réseaux locaux type Ethernet, rendaient les applications inexploitables sur des réseaux étendus établis via des modems ou des liaisons RNIS. Loi des cycles, l on se souvint des terminaux passifs et certains constructeurs se mirent à rêver de network computers (ordinateurs réseaux) qui se contenteraient d afficher les écrans d applications s exécutant sur des serveurs hyper-vitaminés.sun, par ailleurs fabricant de serveurs de ce type, se fit en 1995 le promoteur de ce genre «nouveau» de périphériques. Ses machines, uniquement dotées d un logiciel de démarrage et de connexion au serveur central, firent finalement un grand flop après avoir fait de nombreuses fois la une des magazines spécialisés. Client léger http://solutions.journaldunet.com/0209/020926_thin_1.shtml Sans chercher à inventer un nouveau périphérique pour remplacer le PC, qualifié dorénavant de «client lourd» en raison des ressources nécessaires à son fonctionnement, la société CITRIX proposa dès 1994 un logiciel basé sur un couple client/serveur. Cette solution permettait d exécuter les applications sur un poste serveur et d afficher le résultat sur n importe quelle station de travail (Unix, PC ou Macintosh) dotée de la partie cliente de la solution. En somme, le client lourd se transformait magiquement en client léger pour exploiter certaines applications. Ainsi, à la différence de la solution de SUN qui impose de tout télécharger depuis le serveur (OS, applications), chez CITRIX le strict minimum transite sur le réseau : les rafraîchissements d écran en mode compressé. En quelque sorte, une solution hybride du logiciel de prise de contrôle à distance façon Timbuktu ou PC anywhere et du terminal passif. La solution de SUN se fonde sur un protocole propriétaire nommé ICA. Outre la possibilité de connexion à travers des réseaux étendus, cette solution séduit les directions informatiques par : un retour à l administration centralisée, les logiciels n étant installés qu une fois sur le serveur, 2 / 11
une fiabilité améliorée due à un contexte système stable et maîtrisé (l utilisateur ne peut rien installer sur le serveur), la tolérance de panne permettanten cas de défaillance d un serveur de basculer automatiquement sur une autre machine ; l équilibrage de charges (load-balancing) automatique entre les différents serveurs. Cependant, la puissance nécessaire côté serveur ne doit pas être sous-estimée : «dix clients légers ont un besoin de puissance moyen équivalent à un processeur sur le serveur, ainsi que de 80 à 200 Mo de mémoire vive», dixit le dossier journal du net cité plus haut. Duel au sommet Séduit par le concept et à l affût de toute opportunité d augmenter l attractivité de son offre serveur, Microsoft racheta à CITRIX une licence de sa solution appelée Metaframe pour l intégrer à Windows 2000 Server. La version de CITRIX, plus rapide et capable d accéder à des serveurs UNIX, est globalement plus puissante, mais aussi plus onéreuse. Ces deux sociétés, CITRIX et Microsoft, dominent le marché du logiciel pour client léger. Une troisième force semble émerger dans le camp Linux, mais manque encore de reconnaissance par les entreprises. Notons enfin que selon un responsable de Citrix, le marché du client léger a connu une croissance de 40% en 2002. http://solutions.journaldunet.com/itws/030305_it_citrix.shtml En effet, la banalisation des connexions à Internet renforce encore l attrait de cette technologie. Remarque. Dans la suite de ce chapitre, nous parlerons de client léger au sens de micro-ordinateur capable d exécuter une application sur un serveur distant. Les deux autres types de client léger étant : des périphériques spécialement conçus pour cet usage et uniquement équipé du logiciel nécessaire à la connexion, des applications s exécutant dans le cadre d un navigateur via une connexion internet, dans ce dernier cas, en opposition au modèle traditionnel "client graphique / Serveur" utilisé par exemple par 4D Server. Et 4D? 4D n échappe pas au problème des réseaux lents, son architecture client/serveur se révélant assez gourmande en bande passante. Connecter un 4D client à un 4D Server via RNIS peut s avérer éprouvant pour les nerfs, même une fois passée la redoutable épreuve de la construction des ressources locales. D un côté 4D S.A. a optimisé l efficacité de ses composants réseaux TCP/IP en diminuant la taille des paquets, de l autre l A.D.S.L. offre enfin des connexions à un débit supportable, cependant la question des clients distants continue de se poser. Par exemple, pour permettre à un commercial itinérant de se connecter à l application client/serveur de son entreprise. Que ce soit avec Citrix ou avec Microsoft Terminal Server, l offre est assez semblable, puisque d origine commune, et présentel intérêt d une mise en œuvre totalement indépendante de l application exploitée sous ce mode. Autrement dit, il n y a pas une ligne de code à écrire ou modifier pour utiliser en client distant une application 4D client/serveur existante. Mise en œuvre avec Microsoft Terminal Server 3 / 11
Le service Terminal Server Depuis Windows 2000 Server, Windows Terminal Server (WTS) fait partie intégrante de l offre de Microsoft incluant deux licences dites d administration distante. Microsoft distingue en effet deux modes de mise en œuvre s'excluant mutuellement : mode administration distante : seuls les composants d accès distant et non les composants de partage d applicationsont installés. C est, comme son nom l indique, un mode permettant d administrer à distance les différents services : partages de fichiers et d imprimantes, gestion des droits d accès, mode serveur d applications : permet de déployer et de gérer des applications à partir d un emplacement central en vue d une utilisation par une connexion d accès distant, de réseau local, de réseau étendu. WTS est disponible sur toute la gamme serveur de Microsoft : Windows Server 2003 ; Windows XP Professionnel ; Windows 2000 Server ; Windows 2000 Advanced Server ; Windows 2000 Datacenter Server ; Windows NT Server 4.0, Terminal Server Edition. L installation du service côté serveur s effectue simplement à partir de l Ajout / Suppression de programmes dans le panneau de configuration. Installation de WTS serveur Vous pourrez trouver à cette adresse des vidéos sur le sujet : http://www.laboratoire-microsoft.org/vid%5fexpress/ ainsi qu un dossier assez complet ici : http://wintech.free.fr/terminalsvr.htm 4 / 11
Sur le site de Microsoft France : Windows 2000 - Terminal Server http://www.microsoft.com/france/ntserver/produit/terminalserver/default.asp Déployer Terminal Server http://www.microsoft.com/france/technet/produits/win2000s/default.asp Remarque. Une fois le serveur installé, le gestionnaire de licence des services de Terminal Server doit être activé. Cela passe par une demande auprès de Microsoft qui envoie en retour un n de licence. Le coût d un pack licence d accès 20 clients est de 3 430 euros HT à la date de rédaction (mars 2003). Chaque client se connectant doit disposer d une licence. La partiecliente est à déployer sur les machines susceptibles d utiliser ce service, soit tout PC disposant d'un système au moins égal à Windows 95. Cette partie cliente est copiée par l installateur de WTS Server dans le répertoire «C :WINNT\system32\clients\tsclient» du serveur WTS. Elle comprend une installation réseau et une installation qui peut tenir sur deux disquettes. Les dossiers win16 correspondent aux installations pour Windows 3.1. les dossiers de la partie cliente de WTS Note : L'ère de la gratuité n'en finit pas de se terminer. Désormais, pour les utilisateurs du Terminal Server de Microsoft - une solution qui permet d'accéder aux applications hébergées sur un serveur à l'aide d'un client léger, il faut payer! Gratuit jusqu'à la version de Windows Server 2000 pour les entreprises équipées de Windows XP Pro ou de Windows 2000 Pro sur le poste client, Terminal Server devient payant avec Windows Server 2003. Si la partie serveur reste gratuite, la licence sur le poste client, elle, sera payante (environ 100 ). Des PC seulement? non! Surprise, sur le site Mactopia : http://www.microsoft.com/france/mac/default.asp la firme de Bill Gates offre gratuitement en téléchargement Remote Desktop Connection Client (en français Connexion bureau à distance) aux heureux possesseurs d un macintosh fonctionnant avec MacOSX. Voici comment Microsoft présente ce client : «Un programme qui vous permet de travailler à partir de votre Mac sur un réseau PC, et d'accéder aux applications qui ne seraient pas disponibles sous Mac, mais également aux applications que vous n auriez pas installées sur votre Mac et qui seraient disponibles sur le serveur d entreprise ou sur votre PC.» Il devient ainsi possible d ouvrir une session sur un serveur Windows depuis un Macintosh! 5 / 11
Connexion bureau à distance Mise en œuvre POUR 4D Client côté serveur Des "techtip" sur le site de www.4d.fr traitent du sujet : Les manipulations de 4D à éviter sous TSE et CITRIX Par Aziz ELGHOMARI http://www.fyi.4d.fr/4dcgi/getrecord25284d!!fyi0bx7m4d!003m2 CITRIXet TSE sous 4D: avantages et inconvénients Par Aziz ELGHOMARI http:///www.fyi.4d.fr/4dcgi/getrecord25364d!!fyi0bx7m4d!003m4 Installation de 4D Client sous une session Terminal Server février 2001 par Aziz ELGHOMARI http://www.fyi.4d.fr/4dcgi/getrecord20074d!!fyi0bx7m4d!003mn 4D et les accès distants à partir de CITRIX et TSE Février 2002 par Chiheb Nasr http://www.fyi.4d.fr/4dcgi/getrecord24144d!!fyi0bx7m4d!003et ce dernier étant très complet. Lors de l installation de WTS, le mode «serveur d applications» doit être utilisé. Utiliser ensuite la console de configuration des Services Terminal Server pour y éditer les propriétés de la connexion RDP-Tcp. 6 / 11
Les utilitaires de gestion de WTS Les utilitaires de gestion de WTS Les deux options à régler, en demandant de remplacer les paramètres de l utilisateur (override user settings sur la copie d écran), sont : ne pas fixer de limites de session inactives (Idle session limit sur la copie d'écran) afin que les clients ne soient pas automatiquement déconnectés, lorsqu une connexion est interrompue, effectuer une fin de session (When session limit is reached or connection is brocken End session sur la copie d'écran). Dans l onglet «Environnement» une option permet le lancement automatique de l ouverture de session distante. l application 4D client à 7 / 11
Les utilitaires de gestion de WTS Les performances s avéreront meilleures avec les récentes versions de 4D (pour mémoire, les premières versions de 4D fonctionnant avec Citrix et TSE étaient les versions 6.5.7 et 6.7.1 minimum). Chaque client s'exécutant dans sa propre session, vous devez créer autant de comptes utilisateurs que de 4D Clients connectables simultanément. Avec les versions de 4D antérieures à la 6.8, dupliquez le dossier «4D\Network» dans chaque profil utilisateur «User_name» situé dans le répertoire «C:\Documents and Settings\User_Name\Windows». À partir de la 6.8, cette manipulation n est plus nécessaire, les composants réseaux font partie intégrante de 4D Client. Pensez à dupliquer un 4D Client dans chaque profil afin d'optimiser les temps de réponse. Chaque client s exécutant dans sa propre session, vous devez créer autant de comptes utilisateurs que de 4D Clients connectables simultanément. Mise en œuvre pour 4D Client côté client Une fois la partie WTS client installée, il suffit de cliquer sur Client Terminal Services pour démarrer une connexion. 8 / 11
Ouverture d une connexion sur le serveur WTS Après une authentification Windows, la session s ouvre et le 4D client se lance automatiquement. Ouverture d une connexion sur le server WTS Mise en œuvre avec Citrix L offre de Citrix se nomme MetaFrame. Nous ne la décrirons pas dans cette note, elle ne diffère guère dans sa mise en œuvre de celle de Microsoft. Pour plus d informations, se reporter au site : www.citrix.fr 9 / 11
Le recours à la solution Metaframe permettra de travailler avec des clients Windows mais aussi macintosh, UNIX et Linux. Attention. Si votre serveur Citrix tourne sous Windows, vos clients 4D tourneront aussi sous Windows. Vos clients distants macintosh devront donc utiliser une interface Windows sur leur machine. Ils peuvent être surpris voire réfractaires Une solution idéale? Les deux solutions fonctionnent correctement et offrent une réelle amélioration dans l utilisation d un client distant au travers d un réseau étendu. Un fonctionnement à travers un réseau RNIS à 64 k donnera satisfaction. Méfiance, voilà une solution technique qui fonctionne, assez simple à mettre en œuvre avec des temps de réponse satisfaisants. Où sont les pièges? A surveiller Les points suivants sont à prendre en considération : Le serveur doit être «musclé», il devra permettre l exécution de plusieurs 4D clients en simultanés. Des tests menés par 4D S.A. (note «4D et les accès distants») ont montré une dégradation des ressources à partir de 5 clients simultanés sur une machine. Cette limite pouvant être atteinte assez rapidement, la montée en charge se révèle très onéreuse puisque nécessitant le déploiement d un autre serveur tout aussi puissant et doté d une licence Windows Server ou CITRIX. Finalement, cette solution trouve vite ses limites et souffre d un coût assez élevé par poste client connecté. La rapidité de la connexion entre le serveur Citrix ou WTS et 4D Server est importante. Les impressionscontinuentde poser un problème. Si le fait de transférer simplement les changements d écrans à travers le réseau se satisfait d un faible débit, lors d une demande d impression il reste incontournable de transférer la tâche d impression vers le poste client et l imprimante locale. S il s agit d une impression Postscript, la quantité d information échangée peut alors générer des temps d attente très longs. De même, les utilisations consommatrices de bande passante, comme le multimédia, peuvent se révéler inadaptées. L activation d économiseurs d écrans 3D, très consommateurs de ressource machine au détriment des autres clients actifs du serveur, doit être proscrite complètement, privilégier les simples noircissements automatiques de l écran. Ne pas confondre la simple fermeture de session où tous les process ouverts par l utilisateur continuent de fonctionner et la déconnexion complète du client libérant complètement les ressources utilisées. Enfin la bande passante du réseau distant est à évaluer en fonction du nombre de clients simultanés. Remarque : La société UNIPrint propose un système de réduction de la bande passante utilisée pour l impression par installation d un driver sur le serveur. Cette solution ne fonctionne qu avec Citrix. Plus d information sur www.charon.com/uniprint. Problemes de priorités Un moyen de remédier au faible nombre de 4D clients exécutables simultanément sur le poste serveur, serait d affiner les préférences de la base au niveau de la consommation CPU, en diminuant le pourcentage utilisé par chaque 4D client. 10 / 11
Préférences de l application 4D Le problème réside dans le fait que ces préférences sont stockées dans la structure de l application et non relativement à un 4D Client précis. Il n'y a donc qu'un seul paramétrage par type d'application 4D Serveur, 4D Mono et 4D client. En conséquence, les 4D clients «normaux» se connectant à travers un réseau local seront soumis au même réglage et n utiliseront pas pleinement la puissance de la machine hôte. Vous pouvez travailler avec la commande FIXER PARAMETRE BASE et le sélecteur «Appels systeme 4D Client» pour fixer de manière dynamique la valeur de ce paramètre. Mais attention : l'appel par programmation ne changeait rien au stockage de la préférence et les conditions de fonctionnement du 4D Client appelant cettecommande n'étaient pas modifiées. En revanche, le 4D Client suivant qui se connectait, bénéficiait du nouveau réglage, ainsi que tous les suivants. Il n'était donc pas possible de paramétrer différemment les 4D Clients. Depuis la version 2003.3, la commande FIXER PARAMETRE BASE appelée depuis un 4D Client s'applique à celui-ci exclusivement. En revanche, si la commande est appelée sur le serveur, tous les 4D Clients sont impactés. Voilà qui ne fait que renforcer l'attrait des solutions de type client léger. 11 / 11