XSA – Serveur d’applications « tiers » performant et discret
L’objectif principal est qu’il consomme le minimum de ressources sur la machine qui l’héberge tout en assurant une exécution rapide.

Voici les points clés de sa conception axée sur la performance :
- Listener rapide : La partie de XSA qui écoute les demandes des clients (xsa_srv) est écrite en C pur pour une vitesse d’exécution maximale lors de la réception des connexions.
- Taille réduite : L’exécutable de XSA est volontairement petit, ce qui permet un chargement plus rapide.
- Consommation de mémoire optimisée : xsa_srv n’utilise pas de librairies externes (« tierces ») afin de minimiser son empreinte en mémoire vive (RAM).
- Communication réseau efficace : Les échanges de données sur le réseau sont réduits au strict minimum pour éviter les allers-retours constants. De plus, ces données sont compressées « à la volée » pour accélérer les transferts.
- Gestion optimisée des connexions : Au lieu d’utiliser une méthode de copie de processus (comme le « fork » sous Unix, qui est inefficace sous Windows avec beaucoup de connexions), XSA utilise un système de « pool de threads ». Cette approche, similaire à celle utilisée par des logiciels comme Chrome, permet de gérer un grand nombre de clients connectés sans saturer le serveur.
Résultat en termes de performance :
Le surcoût en performance pour qu’une application soit compatible avec XSA est estimé à environ 10% par rapport à une version sans XSA. C’est un impact relativement faible comparé à d’autres serveurs d’applications. Par exemple, le temps nécessaire pour envoyer et recevoir une requête SQL via XSA est pratiquement le même qu’avec une connexion directe à la base de données (« client lourd »).
Concernant la gestion des bases de données (XDB) et plus particulièrement SQL Server :
La gestion du driver SQL Server est plus complexe que pour d’autres bases de données (comme Sybase, Oracle, MySQL) car :
- Il est nécessaire d’utiliser l’ODBC, une interface standard dont Microsoft ne maintient plus les anciennes bibliothèques, ce qui implique de gérer de nombreuses fonctions et paramètres parfois complexes.
- Il faut assurer la compatibilité avec les anciens drivers des versions de SQL Server 6.5, 7 et 2000.
Résultat pour XDB et SQL Server :
« xdb », la partie de XSA qui gère les bases de données, est capable de fonctionner avec tous les drivers ODBC du marché et propose une gestion optimisée spécifiquement pour SQL Server. Cela signifie que :
- XSA est compatible avec n’importe quel driver ODBC.
- L’utilisation de SQL Server est plus simple car la méthode de connexion et d’utilisation reste la même, même si les versions de SQL Server sont différentes.
En résumé, XSA est conçu pour être un serveur d’applications performant, léger et efficace, avec une attention particulière à la gestion des ressources et à la rapidité des communications.
Sa gestion optimisée de SQL Server via XDB simplifie l’interaction avec cette base de données.