Home - Heavyblade/cirrus GitHub Wiki

HTTP-Server para la plataforma Velneo V7

Cirrus.js es una implementación en JavaScript del protocolo HTTP corriendo directamente sobre el objecto TCP de Velneo V7, que le permite servir paginas HTML, JSON, Javascript y Css directamente a una aplicación de Velneo v7.

Para que se usa ?

El propósito es permitir que aplicaciones de gestíon desarrolladas sobre v7 para que puedan ser aprovechadas en entornos web, logrando de esta forma funcionalidades como pedidos online, crear aplicaciones mobile con jQuery Mobile, listar el catalogo de productos, solicitud de citas online e inmuerables posibilidades gracias a que puedes desarrollar webs y API's de acceso a tus datos que pueden ser consumidas mediante paginas html o webservices.

Indice

Instalación

Para comenzar a usar Cirrus.js en la carpeta /bin puedes encontrar un archivo .vin el cual podrás instalar dentro de tu Velneo vServer y heredar en este algún proyecto del que desees servir datos web, es decir el web server debe quedar "por encima" de la aplicación a servir a fin de poder usar las búsquedas y procesos de datos de pertenecientes a esta.

Listo ahora tienes a Cirrus.js disponible y solo debes iniciar el objeto TCP en el plano y puerto de ejecucuón en el que lo desees usar.

Uso rápido

"Hola Mundo" usando Cirrus.js

	// Definicion del controlador
	wApp.helloController = {
		sayHello: function(params){
			return({mensaje: "Hola Mundo"});
		}
	}

	// Creando las rutas
	wApp.router.addRoutes({"GET /hello": "helloController#sayHello"})

	//Procesando los requests
	var request = theRoot.varToString("REQUEST")
	theRoot.setVar("RESPONSE", Response(Request(request)))

Inicio objecto TCP en el puerto 4000 y pruebo:

	>> curl -i -H "Accept: application/json" http://localhost:4000/hello
	"{"mensaje":"Hola Mundo"}"

FAQ's

y el front end HTTP server ?

Si vas a desarrollar una AppWeb o un sitio web que vas a necesitar un servidor web que se encargue de la concurrencia, assets, caché y demas, para ello puedes usar Apache o Nginx y configurar proxys inversos o load balancers de tal forma que sean capaces de servir archivos estáticos cuando existan o que redirija peticiones http hacia el vServer cuando se pidan datos dinámicos. Performance

es Cirrus.js equivalente a vModApache ?

No, vModApache es un modulo especializado para acceso a vServers desarrollado directamente por Velneo S.A y su función es mas parecida a las funcionalidades CGI; Cirrus.js por el contrarío pretende ser directamente un HTTP server orientado la creación de API's y que puede ser complementado con Nginx o Apache para obtener lo mejor de ambos mundos.

Puede usarse Cirrus.js en el cloud de Velneo ?

Si, para suscriptores los de velneo es posible usar un rango puertos TCP asignados a sus vServers en la nube, los cuales, entre otros propósitos, pueden usarse para servir web requests mediante Cirrus.js

Consume Cirrus.js enganches al vServer?

No, Cirrus.js corre directamente sobre las conexiones que permite el objeto TCP de v7 y no realiza una conexion VATP con el vServer.

es Cirrus.js multiplataforma ?

Si, al correr directamente sobre el objeto TCP de v7 correra en cualquier plataforma donde el vServer tenga capacidad de ejecutarse.

Quieres contribuir ?

Para contribuir a Cirrus.js, clona el repositorio, verifica que todos los specs pasan (abre el archivo spec/SpecRunner.html), no existen dependencias y simplemente puedes revisar el código y realizar pull request al repositorio para añadir funcionalidades faltantes o corregir bugs encontrados.

Dispones además dentro de la suite de Jasmine.js de un apartado donde puedes tester el performance de tus cambios o adiciones utilizando para ello la librería Benchmark.js.

Licencia

Cirrus.js es liberado bajo las directivas de la licencia MIT