Introducción a MongoDB Stitch, la plataforma BaaS de MongoDB

Dentro de los modelos de servicio Cloud, primero llegó Infrastructure as a service (IaaS). Así pudimos desplegar MongoDB en una infraestructura completa (AWS, GCP, Microsoft Azure, …) y crear nuestro propio centro de datos. Este es el tipo de cloud que permite mayor control, eso sí, a costa de una mayor complejidad.

Más tarde Platform as a service (PaaS) nos permitía desplegar nuestro MongoDB en PODs de OPENSHIFT. PaaS nos da acceso a un entorno de ejecución para nuestras aplicaciones y nos proporciona servicios para el desarrollo, testing y hosting de aplicaciones.

Luego con Software as a service (SaaS) tuvimos acceso web a software finalizado. En SaaS la complejidad de la infraestructura queda oculta al usuario y además nos facilita integración mediante APIs.

Diferencias de gestión (manager/vendor) en On-premises y Cloud: IaaS, PaaS y SaaS
Diferencias en la gestión de soluciones On-Premises y Cloud

 

Después llegó MongoDB Atlas, que pertenece al subtipo Database as a service (DaaS) y nos ofrece una cómoda abstracción sobre la que poder desarrollar.

Y en junio de 2017, Mongo lanzó Stitch, una nueva herramienta Backend as a service (BaaS) pensada para desarrollar en JS (en navegador o en Node), Java (Android) o Swift (iOS).

Vamos a ver cómo funciona MongoDB Stitch con este ejemplo: https://www.kenwalger.com/stitch/glucose.html

Antes de comenzar a programar, tendremos que realizar unos simples pasos de configuración:

1. Seleccionar Stitch Apps en el menú del proyecto

2. Crear una nueva aplicación

3. Activar autenticación

4. Filtros

5. Field rules

 

Y ya estamos listos para picar el código:

const client = new stitch.StitchClient('glucose-cqkgh');
const db = client.service('mongodb', 'mongodb-atlas').db('glucose');

function displayCommentsOnLoad() {
	client.login().then(displayComments);
}

function displayComments() {
	db.collection('results').find({}).then(docs => {
		var html = docs.map(c => "<div>" + c.comment + "</div>").join(""); 
		document.getElementById("comments").innerHTML = html; 
	}); 
} 

function addComment() { 
	var foo = document.getElementById("new_comment");
	db.collection("results").insert({owner_id : client.authedId(), comment: foo.value}).then(displayComments);
	foo.value = ""; 
}

 

Aunque Stitch está un poco verde y no sabemos si acabará cuajando, no deja de ser interesante poder contar con una herramienta más que pueda servir de inspiración o punto de partida para otros proyectos bajo la fantástica transparencia del BaaS.

¿Te pareció interesante? Compártelo:
Share on Facebook
Facebook
Share on Google+
Google+
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Print this page
Print
Email this to someone
email

Víctor Martín

Ingeniero Informático que desarrolla su actividad profesional como Arquitecto Software.