Para aquellos que no la conozcáis, MongoDB es una de las bases de datos NoSQL más extendidas y con mayor aceptación por la comunidad de desarrolladores. MongoDB ha lanzando recientemente un nuevo producto, llamado Stitch, un BaaS que surge con la idea de facilitarnos la tarea de crear aplicaciones. BaaS son las siglas de Backend as a Service, que hacen referencia a un servicio que promete reemplazar las tareas de desarrollo del lado del servidor (o backend), si no es en su totalidad, al menos en gran medida.
En este artículo voy a explicaros las funcionalidades de las que dispone el Backend as a Service de MongoDB, profundizando un poco en cada una de ellas.
Autenticación
Este módulo nos permite gestionar la autenticación de nuestra aplicación de una forma muy sencilla y ágil. Para ello, disponemos de varios métodos de autenticación diferentes:- Anónima: Para permitir el acceso a nuestros recursos de forma anónima.
- Email/Password: Para realizar el registro en nuestra aplicación con email y contraseña.
- Google: Podemos utilizar Google para iniciar sesión en nuestra aplicación.
- Facebook: Al igual que con Google, podemos habilitar Facebook para nuestros usuarios.
- API Keys: Podemos crear una clave API individual con la que llamar desde nuestro cliente.
- Custom Authentication: También disponemos de la opción de desarrollar nuestra propio sistema de autenticación.
Servicios
Los servicios nos permiten añadir funcionalidades comunes a nuestra aplicación sin la necesidad de tener que implementarlas por nosotros mismos. En la fecha de realización de este artículo, tenemos los siguientes servicios:- Twilio: Para envío de mensajes de texto.
- S3: Para servir y guardar recursos estáticos.
- Servicio HTTP: Nos permite realizar peticiones http.
- Amazon SES: Envío de emails.
- Servicio Github: Para responder a eventos de Github.
- Notificaciones PUSH: Envío de notificaciones con Firebase.
- Base de datos: Evidentemente, mongoDB.
Funciones
Las funciones son piezas de código que podemos incluir y que ejecutarán una lógica que nosotros mismos implementaremos. Estas funciones deben ser escritas en javascript y pueden interactuar con el resto de componentes a través de la variable context. En este ejemplo, podemos observar cómo defino una función sum que recibe dos parámetros y devuelve la suma de ambos. Si quisiésemos llamar a esta función desde otra, tendríamos que ejecutar lo siguiente:context.functions.execute("sum", 5,3); // returns 8