core_2 - MutakamwoyoCloud/MCloud GitHub Wiki

3.3.2.3 Core

Estructura

Gracias a nuestro ecosistema NodeJS podemos llevar a cabo un desarrollo ligero y directo con un flujo de ejecución controlado.

Las principales características de nuestro core son:

Servidor Rest HTTP: server.js

Lo primero que buscamos en el cliente de este sistema es un proceso o servicio que atienda peticiones de los usuarios, lo más sencillo para lograr esto, es el ya bien conocido servidor HTTP, estas palabras en NodeJS nos llevaron a Express una gran librería que nos da justamente eso, los métodos necesarios para tener un servicio de escucha atendiendo peticiones de la manera más ligera posible.

Este entonces, es el primer módulo de nuestro core, a partir de él funciona todo el sistema, este proceso escuchará por el puerto 3001 y se comunicará automáticamente con el puerto 3000 reservado para la GUI.

El módulo consiste en un servicio de escucha http con los métodos para contestar a todas las posibles peticiones, al ser el comienzo de la ejecución del core, se encargará también de crear el resto de módulos además de cargar posibles configuraciones.

Módulo principal:

El módulo principal encargado de la funcionalidad de la parte cliente de MCloud es el manejador de peticiones. Se encargará, como su propio nombre indica ,del manejo de peticiones, gestionar, ordenar, encapsularlas dentro de paquetes... El manejador de peticiones se dedicará a recoger la información brindada por nuestro servidor y convertirla en paquetes que almacenará en el sistema de ficheros de nuestro SO.

En él también podremos definir el horario de envío de peticiones de MCloud y se encargará de todas las operaciones con archivos binarios como puede ser la compressión o descompresión de archivos.

Este módulo actúa como una especia de controlador, ya que es el encargado de ejecutar al resto de programas/módulos para MCloud.

Módulo comunicación:

El módulo de comunicación es ftpwrapper, es un programa estático que envuelve el protocolo normal File Transmission Protocol y agrega el código de el propio protocolo que usamos en MCloud para la transferencia de peticiones.

Como ya hemos dicho, este se dedicará a hacer llegar las peticiones al proveedor, que tendrá que tener un servidor ftp en escucha para atender las peticiones de este cliente.

Módulo Almacenamiento:

Este sería el último módulo principal de el core del cliente, se encargará de la tarea de almacenar todos los datos obtenidos delegando su almacenamiento final en disco a un servicio Mongodb personalizado para MCloud.

Contiene los métodos necesarios para guardar información con mongodb y también la de su acceso o modificación.

⚠️ **GitHub.com Fallback** ⚠️