Las ideas mas simples son las mejores

En estos dias, la aplicaciones web esta demando mas rendimiento y escalabilidad. El manejo de grandes volúmenes de datos e información, representa un nuevo reto para la ingenieria de software. Por lo tanto, el nuevo paradigma de la aplicaciones RESTful parecen ser una solución a los problemas actuales, crear aplicaciones mas simple y aprovechar las propiedades del client-side; han contribuido a que aparezcan nuevos patrones de diseño como el MVP o el MVVP. En el siguiente articulo y con base a mi experiencia voy a presentar una forma fácil y ultil de crear una aplicación RESTful.

Primero, es necesario la instalación de ExpressJS. Este novedoso conjunto de librerías hace posible la construcción de aplicaciones de alto nivel. Este framework es flexible, modular y extensible; provee a los desarrolladores la oportunidad de usar código de terceras partes. Para realizar la instalación es necesario contar con NPM (revisar Links de Interés en el pie de este articulo) y ejecutar el siguiente comando desde la termina:

sudo npm install express -g

Para constatar la validez de la instalación y creación de un aplicaciones usando ExpressJS, es necesario ejecutar los siguientes comando en la terminal en el orden correspondiente:

express -V
express app
cd app
npm install
node app

Con el ultimo comando, el servicio sera iniciado y el servicio de ExpressJS usa el puerto 3000 (http://localhost:3000)

En segundo lugar, las aplicaciones RESTful representan en la arquitectura de software como una de las mejores practicas en la implementación de servicios web. En otras palabras, esta tecnologia es una simple alternativa a SOAP y WSDL. Adicionalmente, este protocolo provee diferentes operaciones entre las cuales se encuentran: GET, POST, PUT, DELETE entre otros.

Por consiguiente, ahora podemos definir el CRUD para nuestras aplicaciones basadas en este nuevo paradigma. Según el sitio web REST Api Tutorial, la definición de los metidos es la siguiente:

  • GET, se usara para leer una representación de una recurso. Puede ser un simple texto plano o un HTML.
  • POST, se usara para la creación de recursos
  • PUT, se usara para la modificación o edición de alguna recurso del sistema
  • DELETE, para la eliminación de un recurso

Finalmente, como se combina estas dos tecnologías? por consiguiente, supongamos un ejemplo practico de un Blog. Un software de gestión de contenido le da la posibilidad al usuario de consultar un articulo, crear, editar y eliminar (CRUD). Por lo tanto, el siguiente condigo es un ejemplo simple de como implementar el concepto de REST en un aplicaciones NodeJS.

// Include Middleware
var http = require('http');
// Include Express framework
var express = require('express');

var app = express();

//READ
app.get("/post/:id", function(req, res){
	res.json({
		post : "Show post with ID " + req.params.id
	});
});

//CREATE
app.post("/post", function(req, res){
	res.json({
		post : "Create a post"
	});
});

//EDIT or UPDATE
app.put("/post/:id", function(req, res){
	res.json({
		post : "Edit post with ID " + req.params.id
	});
});

//DELETE
app.delete("/post/:id", function(req, res){
	res.json({
		post : "Delete post with ID " + req.params.id
	});
});



http.createServer(app).listen(3000,function(){
	console.log("Server is listening on 3000 port!")
});

En conclusion, ExpressJS es un pontente y simple herramienta para la creación de aplicaciones bajo el concepto de RESTful; Por lo tanto, el futuro que nos depara es trabajar mas enfocados al Front-End, los nuevos patrones se enfocan en manejar dos capas del lado del cliente y eliminar el controlador del lado del servidor. Es un futuro interesante.

Link de Interés

  • Instalar NodeJS – http://coolestguidesontheplanet.com/installing-node-js-osx-10-9-mavericks/
  • REST Api Tutorial – http://www.restapitutorial.com/lessons/httpmethods.html