En algunos mercados tecnológicos se necesita disponer de software liviano para hacer correr aplicaciones sobre un servidor web. Esto generalmente es diferente a lo que provee un servicio de hosting de los que solemos conocer, ya que en estos casos no se suele utilizar piezas de software tales como Apache2 o Internet Information Services (IIS). En este artículo presentamos una opción especialmente diseñada para dispositivos embebidos.
¿De qué se trata?
MonkeyServer es un servidor HTTP rápido y liviano para Linux, OSX y BSD. Ha sido diseñado para ser escalable, consumiendo muy pocos recursos de memoria y CPU. Es una solución pensada para servidores HTTP de alta demanda y dispositivos embebidos. Corre sobre arquitecturas ARM, x86 y x86_64.
Características
- MonkeyServer posee las siguientes características:
- De acuerdo al estándar HTTP/1.1
- Manejado por eventos y un modelo de procesos fijo
- Soporte para IPv4 e IPv6
- Soporte para Virtual Hosts
- Configuración indentada para facilitar el ajuste de variables
- Soporte para extensiones, ya sean estáticas o dinámicas
- Interfaz en una API C
- Otras características a través de las extensiones base:
- Soporte para SSL/TLS
- Autenticación básica
- Soporte para CGI: Common Gateway Interface y FastCGI
- Posee una capa de comunicaciones de red llamada Liana
- Implementa un sistema seguridad que consiste en la restricción de acceso por dirección de red, subred y otros filtros, a través del plugin Mandril
- Provee un registro de eventos
- Listado de directorios
- Posee una línea de comandos llamada Cheetah!
- Licenciado bajo Apache License v2.0.
Aplicaciones
Cualquier proyecto y empresa que tenga muchas visitas por día puede beneficiarse del uso de esta pieza de software. Ya sea si tienes una página de descarga de una revista digital, un periódico en línea o un sitio web de una institución educacional en donde los estudiantes toman pruebas en línea.
Debido a que MonkeyServer posee una arquitectura pequeña, optimiza recursos y opera de forma estrecha con el kernel, lo hace una alternativa ideal como servidor HTTP o stack para servir de interfaz en sistemas embebidos.
El software está completamente soportado en procesadores ARM y ha sido probado satisfactoriamente en dispositivos corriendo Android, tarjetas Gumstix, como también en sistemas Raspbian (Raspberry Pi) y Yocto Project.
De forma adicional, tiene un complemento perfecto: Duda I/O, el cual es un framework para web services. Se presenta como una extensión de MonkeyServer y es totalmente compatible con el servidor HTTP.
Desde este punto de vista, el equipo de desarrollo que mantiene ambos proyectos, le dio el palo al gato al presentar estas aplicaciones que funcionan en forma conjunta y satisfacen las necesidades de un público bastante particular en el amplio mercado de los servicios web.
Las características que suma Duda I/O son las siguientes
- API en lenguaje C
- Pseudo objetos
- Manejado por eventos asincrónicos con operaciones de I/O no bloqueantes
- Soporte para paquetes dinámicos
- Soporte para HTTP y HTTPS
- Soporte para Web Sockets
- Soporte para JSON
- Opera con Base64/SHA1/SHA256
- Provee una interfaz de consola
- Almacenamiento de valores clave en memoria
- Soporte de Redis
- Soporte para SQLite, Mysql, MariaDB y PostgreSQL
- Documentación completa





