G-wan

G-Wan
[[Fichier:Logo de G-Wan |frameless |upright=0.55 |alt=Description de l'image Logo de G-Wan. ]]

Informations
Développé par Pierre Gauthier
Environnement Linux
Unix
Windows ...
Type Serveur HTTP
Licence Freeware et propriétaire
Site web gwan.ch

G-Wan [Global-WAN] est un logiciel de serveur Web (ou HTTP) écrit par TrustLeap, dont le développement a débuté en 2009 pour développer des applications Web, d'où le support de scripts natifs dans les langages Java, C, C++, D et Objective-C.

Particularités

Serveur multi-thread et asynchrone

G-WAN est un logiciel serveur multi-thread: un seul exécutable est nécessaire pour utiliser tous les cœurs de tous les micro-processeurs d'une machine serveur. G-Wan est également un serveur asynchrone, ce qui permet à chaque thread de traiter un grand nombre de connexions HTTP.

Ce choix d'architecture mixte permet des performances plus élevées que les serveurs seulement multi-threads ou asynchrones, mais également une consommation de mémoire plus modeste comparativement aux serveurs HTTP classiques, tels qu'Apache ou Nginx, lesquels doivent cumuler soit un grand nombre de threads (un par connexion), soit plusieurs processus serveurs (un par cœur de micro-processeur).

Modularité

G-Wan permet de créer des applications Web de manière très simple puisqu'il suffit de créer un fichier source (Java, C, C++, etc.) dans un répertoire donné pour avoir:

  • une application Web
  • un handler (l'équivalent des modules d'Apache ou de Nginx)
  • un script de maintenance (permettant des tâches diverses comme le monitoring ou les sauvegardes)

Chaque handler peut agir comme un filtre sur le contenu en entrée, en sortie ou intermédiaire (proxy) en utilisant les fonctions du langage de programmation choisi. Ainsi, à titre d'exemple, les fichiers Flash FLV peuvent être servis en streaming à la volée par le handler « flv.c » avant envoi, et ce en seulement une quinzaine de lignes de code C[1] (d'autres serveurs Web, comme Apache, Nginx ou Lighttpd requierent respectivement 137 lignes[2], 352 lignes[3] et 257 lignes[4] pour accomplir la même tâche).

Optimisations

Le serveur G-Wan utilise son propre Key-Value store (banque de donnée clef-valeur) pour réduire le nombre d'appels système, et la consommation des ressources mémoire système et micro-processeur. Cette structure de donnée est très rapide sous des systèmes multi-processeurs parce qu'elle est wait-free (sans temps d'attente), ce qui signifie qu'elle permet à toutes les tâches de s'exécuter en parallèle, sans blocage ni délai.

Beaucoup de serveurs Web sont mono-thread (mono-tâche) pour éviter de résoudre ces problèmes de synchronisation et de concurrence que le Key-Value store de G-Wan a résolu.

Productivité

Les scripts G-Wan peuvent être mis à jour à la volée sans avoir à arrêter le service HTTP, ce qui simplifie grandement le développement d'applications Web: il suffit de presser la touche F5 dans le navigateur Internet pour exécuter la version la plus récente du code source d'un script.

Plateformes prises en charge

G-Wan fonctionne sous les systèmes d'exploitation Linux et Microsoft Windows. La version Windows n'est plus mise à jour depuis que la version Linux s'est montrée plus rapide.

Utilisations

Outre le fait d'être un serveur HTTP, G-Wan permet de ré-utiliser le code source écrit dans les langages de programmation les plus populaires (Java, C, C++, D, Objective-C) pour porter des applications de bureau vers le Web. En offrant des scripts de manière native, G-Wan évite de devoir passer par l'interface FastCGI, plus lente et plus consommatrice en resources.

Notes et références

Voir aussi

Liens externes

Article publié sur Wikimonde Plus

  • Portail de l’informatique