G-WAN: Servidor de Aplicaciones Web desarrollado en ANSI C scripts
Un nuevo servidor de aplicaciones intenta aparecer en nuestras vidas (como si no tuviésemos bastantes con JBoss, GlassFish, WebLogic, IBM WebSphere, Apache, IIS…), se llama G-WAN y se presenta con el siguiente eslogan:
savings: do the job with 5 million times less servers
Parece que sus desarrolladores están tan seguros de su invento, que han realizado un estudio comparativo con otros servidores (Apache con PHP, GlassFish con Java, y IIS con .Net) y según sus los resultados obtenidos mediante Apache Bechmarking, salen victoriosos.
G-WAN no es OpenSource pero sà gratuito, asà que si os atreveis podeis descargarlo pichando aquÃ. La instalación tanto en Windows como es Linux es muy sencilla. Recomiendan instalarlo en Linux para obtener las máximas prestaciones.
Su alto rendimiento con un uso muy bajo de CPU le permite:
- Mejor desempeño que otros servidores.
- Generar contenidos más dinámicos que otros servidores de aplicaciones.
- Ahorrar energÃa (CPU consumen mucho menos con cargas moderadas).
- Ahorrar dinero (utilizar hardware más barato como ARM o Intel Atom CPU).
- Ahorrar espacio (utiliza muchos menos que otros servidores como Apache o IIS).
En la página de inicio se pueden ver varios ejemplos de C Servlets, utilización de Templates, AJAX, … El siguiente código es el Hello World con Servlet C.
#include "xbuffer.h" // G-WAN dynamic buffersint main(int argc, char *argv[])
{
// --------------------- Servlet Header ----------------------------------
// create a dynamic buffer and get a pointer on the server response buffer
xbuf_ctx reply; get_reply(argv, &reply);
// --------------------- Servlet Body ------------------------------------
// format a response
xbuf_cat(&reply, "HELLO WORLD");
// --------------------- Servlet Footer ----------------------------------
// confirm the reply's dynamic buffer address and size to the server
// (they have changed when more memory is allocated during formatting)
set_reply(argv, &reply); return(200); // return an HTTP code (200:'OK')
}
Para finalizar, os invito que echéis un vistazo a este interesante post realizado por Paco Hernandez, en el cual realiza una comparativa entre Java 7 NIO.2 Asinchronous I/O vs ANSI C Performance.
¿Habrá llegado el momento de aprender Servlet C?
Salu2. Héctor.


