Revista Killkana Técnica. Vol. 6, No. 1, enero-abril, 2022
34
IEEE la define de la siguiente manera: Es la orga-
nización fundamental de un sistema encarnada en
sus componentes, las relaciones entre ellos y el
ambiente y los principios que orientan su diseño
y evolución [10]. Dentro de las ventajas de la
arquitectura de software, podemos mencionar que:
simplifica la capacidad de comprender sistemas
complejos planteando limitaciones en el diseño,
reutiliza componentes en múltiples niveles, sepa
-
ra elementos, lo que permite mayor facilidad en
el cambio y mantenimiento del desarrollo, aplica
utilización de patrones [11]. El uso de arquitec
-
tura de software puede realizarse de una manera
eficiente en función del tiempo y ser rentable ya
que permite la reutilización de los componentes
y patrones de diseño en los proyectos [12]. Al
implementar una arquitectura de software es funda-
mental el uso de los patrones arquitectónicos que
brindan un principio general de estructura. Un
patrón arquitectónico expresa un esquema de orga-
nización estructural fundamental para los sistemas
de software. Proporciona un conjunto de subsis-
temas predefinidos, especifica sus responsabilida-
des e incluye reglas y pautas para organizar las
relaciones entre ellos [13].
2.2 Arquitectura REST
REpresentational State Transfer (REST) es un
estilo arquitectónico propuesto por Fielding [14].
REST es para sistemas hipermedias distribuidos
a gran escala y que logra que la World Wide Web
(WWW) sea escalable. Fiel
ding argumenta que
en REST es la existencia de recursos (elementos
de información), que pueden ser accedidos utili-
zando un identificador global (un Identificador
Uniforme de Recurso). Para manipular estos recur-
sos, los componentes de la red (clientes y servi-
dores) se comunican a través de una interfaz están-
dar (HTTP) e intercambian representaciones de
estos recursos (los ficheros que se descargan y se
envían). El cliente puede navegar esencialmente
a través de una amplia gama de recursos existen-
tes, siguiendo los enlaces de un recurso a recurso
[15]. Un principio clave de REST es la interacción
sin estado entre los participantes en una conver-
sación. Un estado en este caso significa el estado
de la aplicación/sesión. El estado se mantiene
como parte del contenido transferido del cliente
al servidor/servicio y viceversa [16]. Más concre-
tamente, en el caso de los servicios, los clientes
que desean utilizar un servicio acceden a una
representación particular de los recursos que repre-
sentan el servicio mediante la transferencia de
contenido de la aplicación utilizando un conjunto
pequeño y definido globalmente de métodos remo-
tos [16]. Estos métodos describen la acción a
realizar sobre los recursos. Los métodos HTTP
para crear, leer, actualizar y borrar recursos, cada
uno identificado por un URI, son (PUT, POST,
GET, y DELETE en HTTP 1.0, mientras que HTTP
1.1 permite extensiones) [17]. En REST, cada
solicitud enviada a un objeto resulta en la trans-
ferencia de una representación de este objeto por
ejemplo, texto, XML, JSON, etc. [15]. REST se
ha convertido en la implementación más utilizada
en la actualidad [18].
3. MEAN
La stack MEAN es una solución potente y comple-
ta. Utiliza el lenguaje de programación JavaScript
[19]. Comprende cuatro bloques principales:
MongoDB como base de datos, Express como
marco de trabajo del servidor web, AngularJS
como marco de trabajo del cliente web y Node.js
como plataforma del servidor. Estos componentes
están desarrollados por diferentes equipos e invo-
lucran a una comunidad fuerte de desarrolladores
y defensores impulsando el desarrollo y documen-
tación de cada componente. Sin embargo, un
Sayago Heredia, Jaime y col.