Subido por Henrry Bourgeot

T.E.G De API Gateway

Anuncio
REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA
EDUCACIÓN UNIVERSITARIA, CIENCIA Y
TECNOLOGÍA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
EXTENSIÓN MARACAY
Implementación de API Gateway Basada en Arquitectura REST
Propuesta de Trabajo de Grado como requisito parcial para optar al Título de
Ingeniero de Sistemas
Autor: Bourgeot Henrry
Tutor: Ing. Jorge Aguilera
Docente de la Asignatura: Abg. Patricia Márquez
Maracay, Noviembre 2024
ÍNDICE
ÍNDICE ................................................................................................................. 2
INTRODUCCIÓN ................................................................................................. 6
CAPÍTULO I ......................................................................................................... 7
EL PROBLEMA ................................................................................................... 7
Presentación o Idea General.......................................................................... 7
Origen del Estudio .......................................................................................... 9
Planteamiento del Problema ........................................................................ 11
Línea de Investigación ................................................................................. 14
Objetivos de la investigación ...................................................................... 16
Objetivo General ....................................................................................... 16
Objetivos Específicos ............................................................................... 16
Justificación de la Investigación ................................................................. 17
Alcances de la Investigación ....................................................................... 19
CAPÍTULO II ...................................................................................................... 22
MARCO REFERENCIAL ................................................................................... 22
Teoría Genérica Explicativa ......................................................................... 23
Planificación .............................................................................................. 23
Control ....................................................................................................... 24
Gestión ....................................................................................................... 25
Toma de Decisiones ................................................................................. 26
Optimización.............................................................................................. 26
2
Antecedentes de Campo .............................................................................. 27
Estudio del Arte de la Tecnología ............................................................... 30
Fundamentos y Características Técnicas, Teóricas y Funcionales ......... 31
Metodología Scrum ................................................................................... 31
Lenguaje de Modelado Unificado (UML) ................................................. 33
Teorías Genéricas Ingenieriles .................................................................... 35
Sistema ...................................................................................................... 36
API .............................................................................................................. 37
API Gateway .............................................................................................. 38
Lenguaje de Programación ...................................................................... 39
Go ………………………………………………………………………………….40
Librerías ..................................................................................................... 41
Base de Datos ........................................................................................... 43
Sistemas Gestores de Base de Datos ..................................................... 43
PostgreSQL ............................................................................................... 44
Bases Legales ............................................................................................... 45
Constitución de la República Bolivariana de Venezuela (1999) ............ 45
Ley Especial Contra los Delitos Informáticos (2001) ............................. 46
Ley de Infogobierno (2013)....................................................................... 48
Ley Sobre el Derecho de Autor (1993) .................................................... 49
Ley Orgánica de Ciencia, Tecnología e Innovación (2005).................... 50
Definición de Términos Básicos ................................................................. 51
CAPÍTULO III ..................................................................................................... 56
3
MARCO METODOLÓGICO ............................................................................... 56
Tipo de Estudio ............................................................................................. 57
Modelo de Investigación .............................................................................. 59
Fases de la Investigación ............................................................................ 60
Fase 1: Diagnóstico del sistema actual en la centralización de los
recursos empresariales ...................................................................... 60
Fase 2: Establecimiento de los requerimientos funcionales y no
funcionales de la API Gateway ........................................................... 61
Fase 3: Diseño de la API Gateway basada en arquitectura REST ........ 62
Fase 4: Construcción de la API Gateway basada en arquitectura REST
............................................................................................................... 63
Fase 5: Ejecutar la instalación, pruebas y validación de la API Gateway
basada en arquitectura REST ............................................................. 64
Técnicas para la Recolección de información ........................................... 65
Sistema de Variables .................................................................................... 66
Conceptualización de Variables .............................................................. 67
Tratamiento de la Información..................................................................... 69
Análisis Cuantitativo ................................................................................. 69
Técnicas y Metodologías ............................................................................. 71
Observación Directa ................................................................................. 72
Revisión Documental ................................................................................ 73
Fases o Etapas del Desarrollo de la Metodología ...................................... 74
Herramientas Que Aplicar ............................................................................ 74
Validez y Confiabilidad ................................................................................. 74
4
Validez ........................................................................................................ 74
Confiabilidad ............................................................................................. 74
Cronograma de Actividades ........................................................................ 74
REFERENCIAS.................................................................................................. 75
5
INTRODUCCIÓN
6
CAPÍTULO I
EL PROBLEMA
Presentación o Idea General
La tecnología digital avanza tan rápido que es la primera vez en la historia
de la humanidad que una innovación como esta en poco tiempo, en solo veinte
años han logrado alcanzar el 50 por ciento de la población mundial y han
transformado las sociedades en gran medida, convirtiéndose en la mejor
herramienta que puede usar el ser humano en la actualidad. Así, su uso a lo
largo de los años se ha convertido en una necesidad ya sea para uso personal
o mejorar la productividad y cubrir muchas actividades organizacionales,
aunado a esto todos los avances tecnológicos han revolucionado en gran
medida el cómo las organizaciones funcionan adquiriendo procesos más
automatizados y al mismo tiempo optimizados y eficientes. Por consecuente
se ha generado una inmensa transformación en los campos donde se
implementan, promoviendo un crecimiento económico y social.
En definitiva, el desarrollo de sistemas complejos que permiten la
interacción entre múltiples plataformas ha sido esencial para facilitar la
ejecución de estas tareas. Por lo anterior, a medida que la tecnología ha
evolucionado, también lo ha hecho la necesidad de gestionar y optimizar la
comunicación entre aplicaciones, haciendo posible que empresas de todos los
tamaños mejoren sus operaciones y tomen decisiones más informadas. Así,
uno de los hitos en este proceso ha sido la creación e implementación de API
Gateway (en español sería puerta de enlace a APIs), que surgieron para
centralizar y simplificar el acceso a los servicios y sistemas en una
organización.
7
En este orden de ideas, en la década del año 2000, grandes empresas
tecnológicas como Amazon y Salesforce impulsaron el uso de APIs para
facilitar la interacción entre servicios web. A medida que las aplicaciones se
volvieron más complejas y distribuidas, las puertas de enlace a APIsse
convirtieron en una herramienta clave para gestionar el acceso a múltiples
recursos desde un solo punto de entrada, optimizando tanto el rendimiento
como la seguridad de los sistemas.
Con el tiempo, estos sistemas han evolucionado para responder a las
necesidades de diferentes tipos de arquitecturas, ya sean aplicaciones
centralizadas o distribuidas. Hoy en día, las puertas de enlace a APIs permiten
a las empresas gestionar de manera eficiente sus servicios, facilitando la
comunicación y el flujo de información e igual los gastos monetarios. Así, no
solo se logra un mayor rendimiento, sino que también se asegura que las
operaciones sean más seguras y fáciles de manejar.
Por esto mismo, la presentación del tema a investigar se enfoca hacia la
implementación de un API Gateway para centralizar la gestión y despliegue de
múltiples servicios de una empresa o equipo que trabaje en el desarrollo de
sistemas complejos, cuyo objeto será ofrecer un servicio centralizado para las
pequeñas y medianas empresas donde convivirán todos los sistemas que se
deseen sin tenerlos hospedados en distintas plataformas, este servicio,
ofrecerá módulos esenciales como enrutamiento de solicitudes, seguridad,
gestión de las aplicaciones alojadas y monitoreo (también conocido como
trazabilidad o auditoría).
Cabe destacar que, este API Gateway está pensado para ser usado por
personal del área de Ingeniería de Sistemas, en otras palabras, que cuenten
con los conocimientos suficientes de desarrollo web. Por lo cual contará con
un sofisticado módulo de administración de usuarios y roles bastante
personalizado, permitiendo de este modo que no haya accesos no autorizados
por parte del mismo equipo de trabajo y garantizando la seguridad de las
8
mismas aplicaciones alojadas en esta puerta de enlace a APIs y la información
de todas estas.
Origen del Estudio
El internet se ha convertido en una parte fundamental que está siempre
presente en nuestras vidas a lo largo de estas últimas décadas, el continuo
incremento de servicios digitales ha ampliado los múltiples usos que se le
puede dar al internet, estos servicios han conducido al desarrollo de
aplicaciones web que continuamente se van haciendo más sofisticadas. Así,
la evolución de aquellas aplicaciones web ha impulsado significativamente a
la evolución en cuanto se refiere a los centros de datos (conjunto de hardware
y software encargados de conectar las aplicaciones web al internet), dicha
evolución ha permitido que pasen de simples balanceadores de carga del
hardware a un conjunto completo de proxis de hardware y software que
comprenden las puertas de enlace a APIs y redes de entrega de contenidos,
por ejemplo.
Así, a mediados de los años 90, específicamente en el año 1995 la
arquitectura de las aplicaciones web apenas estaba dando sus primeros pasos
debido a que en ese entonces los marcos de trabajo como Ruby OnRails o
Django no habían sido desarrollados. Por ende, la arquitectura clásica de
antaño contaba normalmente con tres niveles: base de datos, aplicación,
presentación; era la más empleada y amada en aquel año ya que es bastante
escalable horizontalmente debido a que se podrían agregar más instancias de
dicha arquitectura y de igual forma a nivel de presentaciones mientras que
seguía creciendo exponencialmente el tráfico. Consecuente a esto, la
conexión de varias instancias de una aplicación a internet requirió la primera
9
etapa de la revolución de los centros de datos: el desarrollo e implementación
de los balanceadores de carga.
Estos, se encargaban de distribuir el tráfico a lo largo de una red de
internet, las organizaciones y empresas querían exhaustivamente mejorar la
accesibilidad de aquellas aplicaciones que estén alojadas en un servidor y que
se estén ejecutando en este último, asegurando así una gran escalabilidad y
una alta disponibilidad. Aunado a lo anterior, el balanceador de carga fue
típicamente en sus comienzos un dispositivo netamente de hardware, hasta el
momento en que llegó el lanzamiento de HAProxy en 2001, año en el cual se
comenzó a popularizar el concepto de balanceadores de carga hechos con
software.
Para colmo, estos balanceadores de carga de software llegaron en los
inicios de la Web 2.0, término acuñado por Darcy DiNucci en el año 1999,
diciendo en una revista: “La web del hoy es esencialmente un prototipo. Este
concepto de contenido interactivo universalmente accesible a través de una
interfaz estándar ha demostrado lo asombroso que es que una industria esté
transformando en sí”, lo cual quiere decir que la web se estaba transformando
en algo más dinámico y dejando de ser tan plano como anteriormente lo era,
refiriéndose a la evolución del internet a una forma bidireccional donde los
usuarios pueden participar con los sitios web.
De este modo, le siguieron a la web 2.0 la creación de los SSL (derivado
del inglés, Secure Scokets Layer) que posteriormente evolucionaron a TLS
(Transport Layer Security) para certificar de que hay conexiones encriptadas
y seguras entre el cliente y el servidor, lo que llevaron a otra evolución a todo
el campo relacionado a los balanceadores de carga de hardware/software a
controladores de entrega de aplicaciones más especializados (comúnmente
abreviados en Inglés como ADCs), estos incluían una variedad de
funcionalidades para la aceleración de aplicaciones como el cacheo y
compresión que conllevan a un incremento de la complejidad de la
10
configuración, por ende, el balanceador de carga no solo cubría su propósito
inicial.
Ahora bien, a inicios del año 2010 un gran número de compañías de
cómputo en la nube experimentaron en la base de usuarios un crecimiento
exponencial. Cabe destacar, que el software detrás de estas compañías
originalmente usaba una arquitectura de software monolítica para aplicaciones
web utilizando marcos de trabajo fáciles de usar que permiten realizar
sistemas sin mucha complejidad (como Ruby On Rails o Django). Sin
embargo, se encontraron con un enorme riesgo, a medida que crecía la
cantidad de usuarios de formas astronómicas sus sistemas se volvían cada
vez más lentos y también existían problemas de escalamiento que estaban de
acuerdo con un tipo de problema distinto que llevaba a una arquitectura
distinta.
Por esto, compañías como Twitter y Facebook empezaron a realizar una
refactorización de pedazos claves funcionales afuera de su monolito a
servicios independientemente desplegados, con este cambio fueron capaces
de independizar la escala y gestión de diferentes aspectos de toda una
aplicación en conjunto. Posteriormente estas compañías junto a otras más
compartieron sus descubrimientos e innovaciones con la comunidad a lo que
llevó a la creación de startups enfocadas en este nuevo descubrimiento, lo que
es conocido en la actualidad como API Gateway (en español puerta de enlace
de APIs), el cual ejecutaba la funcionalidad de enrutamiento que estaba en el
monolito original, creando una fachada común para toda la aplicación web, lo
que llevó a reducir la cantidad de la funcionalidad requerida que estaba
duplicada en cada uno de los servicios individuales.
Planteamiento del Problema
11
La
creciente
adopción
de
diversas
aplicaciones
dentro
de
las
organizaciones presenta un desafío importante en términos de administración
y optimización de recursos. Sin embargo, aquellas empresas que apenas
están empezando a surgir o incluso las empresas medianas muchas veces no
cuentan con el capital suficiente para utilizar todos los servicios que ofrecen
los Servicios Web de Amazon (conocido por sus siglas AWS) que involucran
un alto precio y adaptar todas sus aplicaciones al ecosistema que ofrecen
estos servicios para que puedan funcionar de una forma bastante eficiente en
los mismos permitiendo separar las responsabilidades de cada uno de ellos,
realizando de este modo que un servicio se enfoque sólo en una parte de toda
la aplicación.
Por otro lado, dado que estas aplicaciones, sin importar su estructura
interna, deben ser accesibles y gestionables de manera unificada, la ausencia
de un sistema que centralice y controle el acceso, el cual representa un
obstáculo significativo. Esta dispersión provoca, en muchos casos, una
experiencia de usuario fragmentada y poco consistente, además de requerir
configuraciones específicas y redundantes para cada aplicación. Asimismo,
este enfoque aumenta la complejidad de administración, afecta la
escalabilidad, y dificulta la implementación de políticas de seguridad
integradas.
A nivel global, grandes empresas como Facebook, Twitter, y consultoras
de software utilizan muy a menudo los servicios API Gateway que sean de
código abierto (bien personalizados a nivel de autenticación para asegurar la
integridad de los datos), propios o los que ofrece Amazon con sus servicios
web, por lo menos, Facebook ha realizado de una forma eficiente la integración
de sus servicios realizando pequeñas aplicaciones separadas una de las otras,
por ejemplo, su aplicación Messenger, aunque es parte de la aplicación
principal, cuenta con su propio programa que corre en el servidor aparte de
toda la aplicación principal, de igual modo sucede con el Marketplace que está
12
dentro de la misma aplicación, usa un servicio totalmente aparte de la
aplicación en sí.
Además, Amazon emplea sus mismos servicios para su gestión interna,
tanto para una red social para el personal de la empresa, como su página de
venta de productos, y su sistema de gestión de inventarios por nombrar unos
cuantos, y todos estos los mantiene utilizando EC2 (siglas de Elastic Compute
Cloud) y su mismo API Gateway sin contar a su servicio Aurora que es su
motor de base de datos relacional donde almacenan sus datos. Con todo esto,
es evidente que el uso de las puertas de enlace de APIs han abierto un mundo
de posibilidades de soluciones a la problemática planteada.
De este modo, hablando al nivel nacional del desarrollo de un API
Gateway, no hay alguno que sea desarrollado en Venezuela, por lo cual,
grandes empresas del país como por ejemplo Empresas Polar utilizan los
servicios web que ofrece Amazon para el despliegue y gestión de sus distintas
aplicaciones dirigidas al internet. Igualmente es el mismo caso aplicado al
estado Aragua, que no cuenta con un desarrollo hasta el momento de un API
Gateway y muchas de las empresas de menor calibre no implementan una
puerta de enlace de API.
Así, las pequeñas y medianas empresas una vez que implementan una
puerta de enlace de APIs para escalar y desplegar los servicios que ofrecen a
lo largo del internet notan que sus costos son menores, ya que tienen
completamente separadas las aplicaciones y no dependen de una de la otra,
por ende, si se utiliza la clásica arquitectura monolítica para ciertos sistemas,
cuando una funcionalidad falle ocasionará el colapso de la aplicación y
ocasione la pérdida de ciertos datos y la confianza que tendrán los clientes en
el producto, mientras que implementando un API Gateway se asegura que no
se caiga el servidor y que le llegue la información respectiva a los clientes lo
más rápido posible.
13
Así, muchas empresas y supermercados del país utilizan y desarrollan
aplicaciones con una arquitectura monolítica que no permiteseparar las
responsabilidades del sistema, si suponiendo se llegara a haber un error en el
módulo de inventario, el personal de contabilidad no podrá acceder a su
módulo hasta que lo anterior sea solventado, lo cual reduce la efectividad del
sistema a largo plazo y posponiendo actividades de todo el personal que
dependa del sistema. Una vez visto lo anterior, surgen las siguientes
interrogantes.
¿Es importante realizar un diagnóstico el sistema actual en la
centralización de los recursos empresariales?
¿Para el diseñode la API Gateway es importante establecer los
requerimientos funcionales y no funcionales?
¿Para solventar problemas gerenciales es necesario diseñar una API
Gateway basada en arquitectura REST?
¿Es importante construir una API Gateway basada en arquitectura REST?
¿Luego de la construcción se hace necesario ejecutar la instalación,
pruebas y validación de la API Gateway basada en arquitectura REST?
Línea de Investigación
Con respecto a la presente investigación, la misma se enfocara en una
línea de investigación basada en los Sistemas de Información Transaccionales
y los Data Warehouses, los cuales representan dos enfoques clave en la
infraestructura de datos de una organización, y ambos son fundamentales
para soportar aplicaciones cliente-servidor, las cuales permiten interactuar con
estos sistemas para obtener y manipular datos.
Asimismo, los sistemas transaccionales, comúnmente conocidos como
OLTP (Online Transaction Processing), se enfocan en gestionar y procesar
14
datos en tiempo real. Este tipo de sistemas se utiliza ampliamente en
escenarios donde la respuesta inmediata es crucial, como en puntos de venta,
sistemas bancarios y manejo de inventarios, donde la precisión y velocidad de
procesamiento de las transacciones son prioritarias.
Aunado a esto, los sistemas OLTP también permiten realizar operaciones
de inserción, actualización y eliminación de datos de una forma rápida y
totalmente eficiente, permitiendo a los usuarios finales interactuar con los
datos de forma ágil y confiable. De este modo, la normalización de datos en
los sistemas OLTP ayuda a mantener la integridad y evitar la redundancia de
datos, lo cual es fundamental en aquellos entornos donde se manejan grandes
volúmenes de transacciones que deben ser completamente consistentes y
seguras.
Por otro lado, los Data Warehouses o almacenes de datos se enfocan en
el análisis de datos históricos, diseñados para la toma de decisiones
estratégicas mediante el análisis de grandes volúmenes de información
consolidada. Los Data Warehouses almacenan datos de múltiples fuentes y
emplean esquemas de organización optimizados para la consulta y análisis,
como el esquema de estrella o de copo de nieve, que facilitan consultas
complejas y reportes analíticos sin afectar el rendimiento de los sistemas
operacionales. En lugar de actualizaciones constantes en tiempo real, los
datos se cargan periódicamente desde los sistemas transaccionales,
permitiendo a las organizaciones generar informes de inteligencia de negocios
que apoyan decisiones informadas y estratégicas
Asimismo con respecto al eje temático, basado en cliente-servidor en este
contexto se basa en un modelo arquitectónico en el cual una aplicación cliente
(front-end) se comunica con el servidor (back-end) para enviar solicitudes y
recibir respuestas. En un entorno de aplicación cliente-servidor, los clientes
pueden conectarse al sistema transaccional para realizar operaciones
directas, como registrar una compra o actualizar un inventario, o al data
15
warehouse para consultas analíticas, como generar informes de ventas o
analizar patrones de consumo. Este modelo permite que múltiples
aplicaciones cliente, desde sistemas web hasta aplicaciones móviles, accedan
de manera segura y eficiente a los datos almacenados en estos sistemas,
facilitando tanto la operación diaria como el análisis estratégico a nivel
organizacional.
El diseño de aplicaciones cliente-servidor que interactúan con sistemas
OLTP y Data Warehouses también soporta la escalabilidad y flexibilidad,
permitiendo a los usuarios un acceso controlado y seguro a los datos.
Mediante un API Gateway, por ejemplo, se facilita el acceso centralizado,
integrando los servicios en un único punto de entrada que controla el tráfico y
autentica a los usuarios de manera unificada. Esto es particularmente valioso
en organizaciones que necesitan consolidar sus sistemas en una plataforma
coherente que ofrezca tanto transacciones inmediatas como análisis
avanzado, garantizando que los datos sean accesibles y seguros para
distintos perfiles de usuario.
Objetivos de la investigación
Objetivo General
Implementar una API Gateway basada en arquitectura REST
Objetivos Específicos
Diagnosticar el sistema actual en la centralización de los recursos
empresariales.
16
Establecer los requerimientos funcionales y no funcionales para el
desarrollo de la API Gateway.
Diseñar una API Gateway basada en arquitectura REST.
Construir una API Gateway basada en arquitectura REST.
Ejecutar la instalación, pruebas y validación de la API Gateway basada en
arquitectura REST.
Justificación de la Investigación
En un entorno de alta competitividad, las empresas necesitan sistemas de
gestión digital que integren sus aplicaciones de manera eficaz, flexible y
segura. No obstante, para las pequeñas y medianas empresas en Venezuela,
el acceso a soluciones robustas, como las ofrecidas por Amazon Web Services
(AWS), está limitado por los altos costos. Por lo tanto, un API Gateway basado
en arquitectura REST representa una oportunidad estratégica para optimizar
la administración de múltiples aplicaciones y servicios de forma centralizada,
sin incurrir en gastos excesivos.
Desde el punto de vista teórico, el API Gateway aportará un marco de
referencia para la separación de responsabilidades y el control de accesos en
sistemas distribuidos. Asimismo, la aplicación de principios REST dentro del
API Gateway refuerza la interoperabilidad entre servicios y asegura una
arquitectura
alineada
con
los
estándares
de
diseño
actuales.
En
consecuencia, este enfoque proporciona una base sólida para la integración
de microservicios, unificando la gestión de aplicaciones y facilitando la
transición hacia arquitecturas más flexibles, sin comprometer la funcionalidad
de los sistemas.
Así, en el ámbito tecnológico, el API Gateway introduce una infraestructura
que mejora la escalabilidad y la seguridad de las aplicaciones al actuar como
17
un punto de entrada que gestiona tanto el tráfico de datos como la
autenticación y limitación de solicitudes. De este modo, no solo ayuda a
proteger los sistemas ante posibles amenazas, como los ataques de
denegación de servicio (DoS), sino que también asegura que cada aplicación
mantenga un rendimiento óptimo, independientemente de su tamaño.
Además, al ofrecer una solución de API Gateway accesible y de bajo costo, se
proporcionará una alternativa tecnológica que favorece la independencia
frente a servicios internacionales de alto costo como los de AWS, promoviendo
así la autonomía digital de las empresas venezolanas.
Cabe destacar que, en el aspecto práctico, el API Gateway mejorará la
experiencia del usuario final al unificar el acceso a aplicaciones diversas y
ofrecer tiempos de respuesta más consistentes. Por otro lado, para el personal
de tecnología, el sistema permitirá simplificar el despliegue de aplicaciones y
centralizar la gestión de seguridad y permisos, disminuyendo la carga
administrativa y operativa en los sistemas empresariales. Este punto de
entrada único reducirá la redundancia en configuraciones específicas y
facilitará que los desarrolladores gestionen las aplicaciones de manera más
ágil y eficiente, además de permitir la expansión de servicios con un mínimo
de reconfiguración.
Ahora bien, desde una perspectiva científica, la investigación sobre el
desarrollo e implementación de un API Gateway basado en REST contribuirá
al conocimiento en el área de sistemas distribuidos y arquitecturas de software,
validando cómo estos principios pueden aplicarse eficazmente en contextos
de recursos limitados. De este modo, esta investigación permitirá medir el
impacto de tales sistemas en la eficiencia operativa, la reducción de costos y
el nivel de seguridad alcanzado, generando datos y modelos que podrán
emplearse en futuros estudios sobre arquitectura de APIs y optimización de
sistemas para pequeñas y medianas empresas.
18
Para finalizar, hablando en términos investigativos, esta puerta de enlace
de APIs ofrece una alternativa viable y necesaria para empresas venezolanas
que, como muchas en países con economías emergentes, buscan soluciones
digitales accesibles y sostenibles. Así, la implementación de un API Gateway
local, adaptado a las necesidades de pequeñas y medianas empresas, servirá
como un modelo de referencia para otras regiones y facilitará el análisis de los
beneficios de adoptar una infraestructura de API Gateway nacional en
comparación con opciones internacionales. A su vez, este enfoque también
buscará contribuir a documentar buenas prácticas para la integración de
aplicaciones mediante puertas de enlace de APIs, permitiendo que las
empresas venezolanas adopten soluciones de software avanzadas de manera
asequible.
Alcances de la Investigación
El API Gateway desarrollado en esta investigación ofrecerá una
infraestructura robusta y escalable que permitirá centralizar el acceso y gestión
de múltiples aplicaciones dentro de un entorno distribuido. Este sistema
abarcará diversas capacidades y módulos fundamentales, facilitando una
administración eficaz orientada a programadores y personal de TI, y
optimizando la interacción entre aplicaciones mediante un único punto de
entrada.
Para comenzar, el API Gateway gestionará la autenticación y autorización
de todas las solicitudes entrantes, permitiendo configurar políticas de acceso
específicas para cada servicio. De esta manera, ofrecerá soporte para
autenticación basada en tokens, integración con OAuth 2.0 y autenticación
mediante JWT (JSON Web Tokens), lo cual garantiza un control seguro y
personalizado del acceso sin depender de proveedores externos. A su vez,
incluirá un sistema de balanceo de carga interno que optimizará el rendimiento
19
y distribuirá eficientemente el tráfico entre los microservicios. Así, las
solicitudes entrantes serán redirigidas hacia instancias de servicio según la
disponibilidad y carga de estas, manteniendo así una respuesta ágil y estable
incluso en condiciones de alta concurrencia.
Por otro lado, con el fin de proteger los servicios backend ante picos de
tráfico o posibles abusos, el API Gateway integrará módulos de limitación de
tasa de solicitudes, lo que permitirá establecer umbrales de concurrencia por
usuario o por IP. Esto resulta crucial para evitar el sobreuso de recursos y
mitigar amenazas como los ataques de denegación de servicio (DoS),
asegurando un uso más eficiente y seguro de los servicios. Además, el sistema
contará con herramientas de monitoreo en tiempo real que permitirán rastrear
métricas clave como latencia, tiempos de respuesta y número de solicitudes
por segundo. También se generarán reportes periódicos que el personal de TI
podrá revisar para identificar patrones de uso, detectar problemas y optimizar
la eficiencia operativa.
Adicionalmente, el API Gateway implementará algoritmos de compresión y
optimización de datos para reducir el ancho de banda y mejorar los tiempos
de carga. Esto permitirá que la transmisión de datos entre los usuarios y los
servicios backend sea más rápida y consuma menos recursos de red.
Igualmente, este sistema soportará la arquitectura basada en microservicios,
facilitando la orquestación de solicitudes y permitiendo enrutar estas hacia
servicios distribuidos de manera aislada. Así, podrán definirse pipelines de
procesamiento que incluyan transformación de datos y manejo de errores,
optimizando el flujo de datos entre aplicaciones sin afectar la modularidad y el
rendimiento de cada microservicio.
En cuanto a las tecnologías utilizadas, el API Gateway será desarrollado
en Go 1.23, un lenguaje que, debido a su rendimiento y capacidades de
concurrencia, resulta idóneo para construir aplicaciones rápidas y eficientes.
Asimismo, se empleará el marco de trabajo Fiber 2.52.5, el cual garantiza un
rendimiento elevado y proporciona una sintaxis simplificada para el desarrollo
20
de servicios RESTful en Go. En lo que respecta a la configuración del API
Gateway, se usará Gonertia junto con React 18.3.1 para ofrecer una interfaz
de usuario moderna y eficiente, donde el personal técnico podrá configurar
reglas de acceso, monitorear el sistema en tiempo real y realizar ajustes en el
balanceo de carga, entre otras funciones críticas, desde una aplicación web
intuitiva y accesible.
En conjunto, este API Gateway constituirá una solución completa y
adaptable, proporcionando un marco seguro, escalable y optimizado para la
gestión de tráfico entre aplicaciones. Este enfoque no solo centralizará y
simplificará el acceso a los servicios backend, sino que también contribuirá a
que las empresas adopten arquitecturas modernas y flexibles, reduciendo su
dependencia de soluciones costosas y mejorando la eficiencia en entornos de
alta concurrencia.
21
CAPÍTULO II
MARCO REFERENCIAL
La investigación que se llevará a cabo requiere antes de realizarla
conocer unos fundamentos específicos de índole teórica o también
documental, esta parte es fundamental ya que es una exposición coherente y
al mismo tiempo ordenada de aquellas teorías, modelos y paradigmas que
proveen de un mejor contexto teórico o documental a la presente investigación.
De igual forma nos proporciona una visión donde se sitúa este planteamiento
utilizando las mismas teorías, modelos y paradigmas para poder definir
claramente el estado de las nociones tanto en el pasado como en la actualidad.
Según el Manual para la Elaboración de Trabajos de Grado del Instituto
Universitario Politécnico “Santiago Mariño” (2015), el marco referencial es el
apartado que:
Conforma el capítulo II y constituye el conjunto de aportes
teóricos existentes sobre el problema que será objeto de estudio.
Comprende varios alcances cuya denominación dependerá de la
modalidad y tipo de investigación, e implica el procesamiento y
análisis de la información teórica recabada a través de la revisión
bibliográfica, y de otras fuentes documentales, permitiendo al autor
de la propuesta de Proyecto de Investigación construir una sólida
perspectiva teórica que explique el problema objeto de estudio.
(p.49)
Por lo tanto, el marco referencial se asemeja al equipo necesario para
explorar un territorio desconocido en un mapa. Antes de embarcarse en la
investigación de un tema específico, es esencial tener algunas indicaciones y
conocimientos sobre lo que se podría encontrar. De manera similar, el marco
referencial proporciona el contexto y la base conceptual indispensables para
comprender y abordar el tema en cuestión.
22
Teoría Genérica Explicativa
Las teorías genéricas explicativas son enfoques conceptuales amplios
que buscan ofrecer una comprensión fundamental de cómo se organizan,
funcionan e interactúan diferentes sistemas en un contexto determinado. Estas
teorías no se limitan a un solo campo de estudio; en su lugar, proporcionan
principios aplicables a diversas disciplinas, permitiendo analizar fenómenos
complejos y sus dinámicas. De acuerdo con Martínez (2015), "las teorías
genéricas explicativas ofrecen un marco conceptual que permite analizar y
comprender fenómenos complejos en distintos contextos, proporcionando
principios aplicables a diversas disciplinas" (p. 32). Así, esta perspectiva
establece que, más allá de sus diferencias, los sistemas comparten ciertas
estructuras y comportamientos subyacentes que pueden estudiarse de forma
unificada.
Además, estas teorías son fundamentales para la toma de decisiones
informadas en contextos organizacionales y tecnológicos. Por ejemplo, el
concepto de sistemas distribuidos permite a las empresas diseñar
arquitecturas que optimicen la disponibilidad y la resistencia ante fallos. Como
indican Coulouris, Dollimore y Kindberg (2013), "un sistema distribuido es
aquel que aparenta ser un sistema único y coherente para el usuario, aunque
esté compuesto de varios subsistemas" (p. 2). Este enfoque es crucial para
entender cómo organizar recursos en entornos distribuidos, logrando así una
estructura adaptable y confiable para el funcionamiento coordinado de
múltiples componentes o servicios.
Planificación
La planificación en un API Gateway es fundamental para alinear los
objetivos técnicos con las metas estratégicas de la organización. Según
Sensedia (2023), "un API Gateway es esencial para administrar de manera
23
eficiente las comunicaciones entre servicios, asegurando la seguridad,
escalabilidad y rendimiento". (p.67). Así, esto implica anticipar las necesidades
del sistema, estructurar las rutas de las API y definir los estándares de
seguridad. Además, permite prever posibles puntos de fallo y garantizar que
el sistema pueda escalar en función de las demandas futuras.
Así mismo, una planificación adecuada también asegura que los servicios
se integren de manera óptima con las aplicaciones existentes. Lo cual reduce
el riesgo de conflictos y facilita el mantenimiento. Además, la visión estratégica
en esta fase de planificación asegura la flexibilidad necesaria para incorporar
nuevas tecnologías o expandir la infraestructura según las necesidades del
negocio.
Sin embargo, en términos prácticos, planificar la implementación de un API
Gateway no solo trata de los aspectos técnicos, sino también de los
organizativos. Esto incluye la identificación de roles y responsabilidades,
además de la asignación de recursos y la definición de métricas clave para
evaluar el éxito del proyecto. De este modo, las organizaciones pueden
garantizar una implementación efectiva y alineada con sus objetivos generales
y específicos.
Control
El control en un API Gateway asegura que las APIs sean utilizadas de
manera segura y eficiente. De acuerdo a IBM (2023), "las pasarelas de API
garantizan un acceso controlado a los recursos internos al gestionar la
autenticación, la autorización y las cuotas de uso”. (p.12). Lo anterior incluye
la implementación de políticas de acceso, monitoreo continuo y limitación de
solicitudes para prevenir abusos.
Por lo cual, un sistema de control robusto también permite identificar
anomalías en tiempo real, lo que facilita la detección y mitigación de amenazas
de seguridad. Estas capacidades son críticas para proteger los datos sensibles
24
y garantizar el cumplimiento de regulaciones aplicables. La supervisión activa
no solo protege la integridad del sistema, sino que también asegura un servicio
confiable para los usuarios.
Además, los mecanismos de control deben ser flexibles y escalables para
adaptarse a las necesidades cambiantes del negocio. Esto incluye la
capacidad de actualizar políticas de seguridad, ajustar límites de uso y priorizar
el tráfico en función de la criticidad de las solicitudes. De esta manera, el API
Gateway puede seguir funcionando de manera óptima incluso bajo
condiciones de alta demanda.
Gestión
La gestión en un API Gateway implica supervisar y optimizar el ciclo de
vida completo de las APIs. De acuerdo a un blog publicado por el equipo de
Amazon Web Services (2023), "las herramientas de gestión de API ayudan a
monitorizar, analizar y administrar el tráfico, facilitando el cumplimiento de las
políticas empresariales”. (p.49). Lo anterior asegura que las APIs se
mantengan actualizadas y alineadas con los objetivos organizativos.
Cabe destacar que, un aspecto crucial de la gestión es la capacidad de
analizar datos de uso para identificar áreas de mejora. Esto puede incluir
ajustes en la configuración del gateway, mejoras en la documentación o
cambios en las políticas de seguridad. Al tomar decisiones basadas en datos,
las organizaciones pueden garantizar que las APIs sigan siendo relevantes y
eficientes.
Sin embargo, la gestión también abarca la interacción con los
desarrolladores. Fundamentalmente, facilitar herramientas como portales de
documentación y soporte técnico es clave para fomentar el uso adecuado de
las APIs. Una buena gestión no solo optimiza el rendimiento técnico, sino que
también mejora la experiencia de los usuarios internos y externos,
25
consolidando el API Gateway como una pieza central en la arquitectura de la
organización.
Toma de Decisiones
La toma de decisiones en un API Gateway se centra en garantizar que
cada acción esté respaldada por datos precisos y análisis rigurosos. Según un
artículo del blog de Software AG (2023), "la recopilación de métricas en tiempo
real mediante API Management facilita decisiones informadas sobre
optimización y escalabilidad". (p.56). Esto quiere decir que, permite priorizar
mejoras en el rendimiento, definir políticas de acceso adecuadas y ajustar
capacidades en función de las necesidades del negocio, asegurando una
operación eficiente.
Por lo anterior, decidir cómo implementar políticas de seguridad es crucial,
ya que un mal diseño puede comprometer la integridad del sistema completo.
De este modo, las decisiones requieren evaluar el balance entre la usabilidad
y la protección de los datos. Así, al incorporar herramientas de monitoreo en
tiempo real, es mucho más posible ajustar estas políticas rápidamente ante
nuevas amenazas, garantizando así la seguridad continua del sistema y su
alineación con las normativas aplicables.
No está de más aclarar que, las decisiones relacionadas con la evolución
del API Gateway deben considerar factores como la adopción de nuevas
tecnologías, cambios en la demanda del usuario y la competitividad del
mercado. Una buena toma de decisiones permite a las organizaciones
adaptarse rápidamente a los desafíos emergentes, asegurando la relevancia
y sostenibilidad del API Gateway en el tiempo.
Optimización
26
La optimización de un API Gateway busca mejorar la eficiencia operativa y
el rendimiento del sistema. Según un post nuevamente de AWS (2021), "un
diseño optimizado de API no solo mejora la experiencia del usuario, sino que
también reduce los costos de infraestructura al aprovechar mejor los recursos
disponibles".(p.45). Esto incluye ajustar las configuraciones de las APIs para
minimizar el tiempo de respuesta y reducir el consumo innecesario de
recursos.
Una práctica clave para optimizar es analizar el tráfico en busca de
patrones que puedan ser ajustados para mejorar el rendimiento. Esto puede
implicar la implementación de cachés inteligentes, la priorización de solicitudes
críticas o la redistribución del tráfico en momentos de alta demanda. Al aplicar
estas estrategias, el API Gateway puede manejar mayores volúmenes de
tráfico sin sacrificar la calidad del servicio.
Además, la optimización también abarca aspectos organizativos, como
mejorar la colaboración entre equipos de desarrollo y operaciones.
Implementar herramientas que automaticen tareas repetitivas o simplifiquen la
implementación de nuevas APIs contribuye a reducir tiempos y costos. De este
modo, la optimización no solo beneficia la infraestructura técnica, sino que
también refuerza los procesos internos de la organización.
Antecedentes de Campo
De acuerdo con Lifeder (2023), "los antecedentes de una investigación son
la base teórica y empírica que sustenta el estudio. Consisten en estudios
previos relacionados con el tema de investigación, que permiten conocer el
estado actual del conocimiento y las lagunas existentes". (p.56). Esto significa
que los antecedentes no solo sirven como un repaso general del tema, sino
que también proporcionan una visión crítica y estructurada de cómo se ha
desarrollado el conocimiento en el área específica. Al incluir estudios
27
anteriores, el investigador no solo identifica lo que ya se sabe, sino también
las áreas que requieren mayor exploración, lo que resulta crucial para justificar
la importancia y originalidad del estudio en curso.
Además, los antecedentes permiten construir un marco de referencia
sólido que guía la investigación hacia objetivos claros y alcanzables. Este
componente aporta coherencia al trabajo, al tiempo que garantiza que el
enfoque planteado sea relevante y se alinee con las necesidades actuales del
campo de estudio. De este modo, los antecedentes son una herramienta
indispensable para conectar el presente y el pasado en el ámbito investigativo,
estableciendo un puente entre el conocimiento existente y las contribuciones
que el nuevo estudio pretende realizar.
En este contexto, el trabajo de Ruiz, E. (2023), titulado "Protección de APIs
REST", presentado en la Universitat Oberta de Catalunya, se enfoca en
implementar medidas de seguridad para proteger APIs mediante un API
Gateway. Este estudio analizó cómo herramientas como la autenticación, la
autorización y la limitación de solicitudes pueden centralizar el control de
acceso, garantizando un servicio seguro y confiable.
Por ello, los resultados obtenidos subrayan la importancia de un API
Gateway como componente estratégico para gestionar la seguridad en
sistemas distribuidos, especialmente en organizaciones que manejan
información sensible. Este antecedente es relevante porque ilustra un enfoque
práctico y detallado para proteger servicios web, integrando elementos de
diseño de políticas de seguridad que serán fundamentales en la
implementación del proyecto propuesto en esta investigación.
Por otro lado, el trabajo de Montilla, R. (2020), titulado "Microservicios
como estrategia en la facturación electrónica". desarrollado en la Universidad
Mayor de San Andrés, representa un caso práctico del uso de un API Gateway
para gestionar y optimizar procesos empresariales complejos. Este estudio
aborda cómo las empresas pueden migrar de arquitecturas monolíticas a
28
arquitecturas distribuidas basadas en microservicios, utilizando el API
Gateway como punto central de gestión.
El impacto de esta solución permitió a la organización incrementar su
escalabilidad, modularidad y eficiencia operativa, mostrando cómo la
centralización de servicios puede mejorar significativamente el rendimiento y
la seguridad. La relevancia de este antecedente radica en su demostración
práctica de cómo los API Gateways no solo son herramientas de control, sino
también catalizadores de innovación y transformación tecnológica en entornos
empresariales.
En una línea complementaria, se encuentra el estudio de Ruiz, J. (2020),
titulado "Aplicando seguridad a una API REST con JWT", también realizado
en la Universitat Oberta de Catalunya. Este trabajo se centra en la
implementación de JSON Web Tokens (JWT) como mecanismo de
autenticación y autorización, integrados con un API Gateway para fortalecer la
seguridad en arquitecturas RESTful.
La investigación demuestra cómo los JWT, en combinación con un API
Gateway, pueden proporcionar un control de acceso centralizado, eficiente y
escalable, reduciendo el riesgo de vulnerabilidades y mejorando la experiencia
del usuario. Este antecedente resulta particularmente valioso para el presente
trabajo, ya que proporciona una perspectiva técnica detallada sobre la
integración de tecnologías de seguridad en sistemas distribuidos, un aspecto
crucial para garantizar la confiabilidad del API Gateway que se desarrollará.
Estos antecedentes de campo proporcionan una base sólida y
multidimensional para el desarrollo de la presente investigación, ofreciendo
una visión integral sobre las capacidades, limitaciones y beneficios de los API
Gateways en diversos contextos. Por un lado, ayudan a identificar las mejores
prácticas en seguridad, escalabilidad y modularidad; por otro, permiten
adaptar estas soluciones al contexto venezolano, donde las pequeñas y
medianas empresas requieren alternativas tecnológicas accesibles y
29
efectivas. De este modo, los trabajos citados no solo enriquecen el marco
conceptual del proyecto, sino que también orientan su enfoque metodológico
y técnico, asegurando que las soluciones propuestas sean viables,
innovadoras y ajustadas a las necesidades reales del entorno local.
En conclusión, la revisión de estos antecedentes destaca la importancia de
los API Gateways como herramientas clave en la transformación digital de las
organizaciones. Su capacidad para centralizar la gestión de servicios, mejorar
la seguridad y optimizar la interacción entre aplicaciones las convierte en una
pieza esencial para el desarrollo de sistemas distribuidos modernos. Este
conocimiento previo, adaptado y contextualizado, permite que el presente
trabajo de investigación no solo tenga una base teórica sólida, sino que
también ofrezca un aporte significativo al panorama tecnológico nacional,
promoviendo la adopción de soluciones innovadoras y sostenibles en el ámbito
empresarial.
Estudio del Arte de la Tecnología
El estudio del estado del arte en tecnología revela cómo las innovaciones
recientes y los avances en sistemas distribuidos, procesamiento de datos y
arquitectura de microservicios han transformado profundamente la gestión y
operación de sistemas empresariales. Desde una perspectiva histórica, la
tecnología ha evolucionado rápidamente, permitiendo a las organizaciones no
solo automatizar sus procesos, sino también optimizar la comunicación entre
múltiples sistemas y plataformas. De acuerdo con Amazon Web Services
(AWS), (s.f.).
"la arquitectura de microservicios y el uso de sistemas
distribuidos permiten a las empresas diseñar aplicaciones que se pueden
escalar de forma independiente y mejorar la resiliencia frente a fallos en
componentes individuales". (p.78) Esto marca un cambio importante respecto
30
a las arquitecturas monolíticas, en las que cualquier fallo podía afectar todo el
sistema, limitando la flexibilidad y la capacidad de adaptación.
Finalmente, la tecnología de API Gateway ha emergido como una solución
efectiva para la centralización y el control de acceso en aplicaciones
distribuidas. Esta tecnología permite consolidar el tráfico entre múltiples
microservicios y gestionar de manera unificada la seguridad, el balanceo de
carga y la autenticación de usuarios.
Así, de acuerdo a IBM (s.f.), “los API Gateways proporcionan un único
punto de acceso a los microservicios de una aplicación, permitiendo una
administración centralizada que optimiza tanto la escalabilidad como la
seguridad del sistema”. (p.34). Este enfoque ha permitido que las empresas
no solo mejoren su capacidad para manejar grandes volúmenes de usuarios y
solicitudes, sino también garanticen una experiencia de usuario consistente y
de alta calidad. En conjunto, estos desarrollos tecnológicos están permitiendo
a las organizaciones adaptarse mejor a las necesidades del entorno digital
actual.
Fundamentos y Características Técnicas, Teóricas y Funcionales
Metodología Scrum
Scrum es una metodología ágil de gestión de proyectos ampliamente
utilizada en el desarrollo de software, que se enfoca en la entrega incremental
y colaborativa de productos de alta calidad. Esta metodología se organiza en
ciclos de trabajo llamados "sprints", generalmente de dos a cuatro semanas,
en los que se planifica, desarrolla y revisa un conjunto específico de tareas o
funcionalidades.
31
Tal como lo señalan Schwaber y Sutherland (2020), creadores de Scrum,
"Scrum es un marco liviano que ayuda a las personas, equipos y
organizaciones a generar valor a través de soluciones adaptativas para
problemas complejos" (p. 5). Este enfoque iterativo permite que el equipo de
desarrollo responda rápidamente a los cambios y mejore el producto de
manera continua, basándose en la retroalimentación recibida al final de cada
sprint.
Un equipo Scrum está compuesto por tres roles principales: el
ProductOwner, el Scrum Master y el equipo de desarrollo. El ProductOwner es
responsable de maximizar el valor del producto y de gestionar la lista de tareas
o "backlog" de producto, priorizando los elementos según su valor y
necesidades del proyecto. El Scrum Master, por su parte, actúa como
facilitador, ayudando al equipo a seguir las prácticas de Scrum y a
eliminarobstáculos para el progreso. De acuerdo con VersionOne (s.f.), "el
Scrum Master asegura que el equipo siga el proceso Scrum y ayuda a eliminar
cualquier impedimento que pueda interferir con el progreso de los sprints". (p.
23). Este enfoque garantiza que el equipo se mantenga enfocado en los
objetivos del sprint y que se maximice la productividad.
El éxito de Scrum se basa en sus principios de transparencia, inspección y
adaptación. Estos pilares permiten que el equipo trabaje de manera
coordinada y haga ajustes rápidos en función de las revisiones y la
retroalimentación. Al final de cada sprint, se realiza una revisión o
"retrospectiva", donde el equipo evalúa su desempeño y analiza áreas de
mejora. Según Schwaber y Sutherland (2020), “la retrospectiva de sprint
brinda una oportunidad al equipo Scrum para inspeccionarse a sí mismo y
crear un plan de mejoras a implementar durante el próximo sprint” (p. 14). Esta
metodología ha demostrado ser eficaz en proyectos complejos y en entornos
de alta incertidumbre, permitiendo a los equipos de desarrollo entregar valor
de forma constante y adaptable.
32
Lenguaje de Modelado Unificado (UML)
El UML es un estándar de modelado ampliamente utilizado en el desarrollo
de software para representar visualmente los distintos componentes,
relaciones y flujos de un sistema. UML permite crear diagramas que ayudan a
los desarrolladores, arquitectos y demás interesados en el proyecto a
comprender la estructura y el comportamiento de un sistema de software. Así,
en una publicación del blog de Lucidchart (s.f.), "El Lenguaje Unificado de
Modelado (UML) fue creado para forjar un lenguaje de modelado visual común
y semántica y sintácticamente rico para la arquitectura, el diseño y la
implementación de sistemas de software complejos, tanto en estructura como
en comportamiento". (p.90). Por ello, esta versatilidad permite que el lenguaje
de modelado unificado sea totalmente aplicable en diversas fases del
desarrollo de software, facilitando de este modo la comunicación y la claridad
entre los equipos de trabajo.
Entre los diagramas de UML más utilizados se encuentran los diagramas
de clases, casos de uso, secuencia y actividades. El diagrama de clases, por
ejemplo, describe la estructura del sistema y las relaciones entre las clases,
mientras que el diagrama de casos de uso detalla las interacciones del usuario
con el sistema. Cada uno de estos diagramas aporta una perspectiva única
del sistema, lo cual es crucial para el desarrollo de aplicaciones complejas. De
acuerdo a una publicación citada del portal de IBM (s.f.), “los diagramas UML
permiten visualizar el diseño y comportamiento del sistema, y cada tipo de
diagrama resalta aspectos específicos del sistema que ayudan a su
comprensión”. (p,56) Este enfoque modular y visual ayuda a que los equipos
mantengan una visión clara y detallada de cada componente y su
funcionamiento.
33
Finalmente, UML se ha consolidado como un lenguaje de modelado
estándar gracias a su capacidad para soportar distintos paradigmas de
desarrollo, como la orientación a objetos y los procesos ágiles. Esta
versatilidad permite que UML se adapte a múltiples metodologías de
desarrollo, como Scrum, facilitando la integración de sus diagramas en
procesos iterativos. Como señala Lucidchart (s.f.) en un artículo, "UML es un
lenguaje de modelado visual común y semántica y sintácticamente rico para la
arquitectura, el diseño y la implementación de sistemas de software
complejos”. (p.78) Con UML, los equipos de desarrollo logran una
representación precisa y coherente de los sistemas, mejorando la eficiencia y
la colaboración en el ciclo de vida del software.
Tipos de Diagramas UML
Diagrama de Paquetes: tiene una importancia fundamental en la
organización de sistemas complejos, debido a que nos permite visualizar la
agrupación lógica de elementos que conforman la arquitectura del sistema.
Así, la estructuración en paquetes facilita el manejo de la complejidad y
proporciona una forma clara de observar cómo los diferentes módulos del
sistema interactúan entre sí.
De este modo, este tipo de diagrama se enfoca en representar la estructura
estática de un sistema desde un nivel alto, sin entrar en los detalles de la
implementación de cada clase o componente, lo que lo convierte en una
herramienta adecuada para la planificación inicial y el diseño de sistemas a
gran escala. A continuación, se puede apreciar una figura donde se visualiza
la simbología de este diagrama UML en particular:
Simbología
Nombre
34
Descripción
Agrupa elementos del
sistema basados en
Paquete
datos, comportamientos o
interacciones de los
usuarios
Dependencia
Muestra la relación entre
un elemento o varios.
Representa cuando un
Importación
paquete ha sido importado
por otro.
Significa que un paquete
puede ver y utilizar el
<<access>>
Acceso
contenido de otro sin tener
que importarlo
directamente.
Figura 1. Diagrama de Paquetes. Tomado del blog de Lucidchart.
Teorías Genéricas Ingenieriles
Las teorías genéricas en ingeniería constituyen el pilar conceptual
sobre el cual se construyen las soluciones técnicas que transforman el entorno
y mejoran la calidad de vida. De acuerdo a lo que comentan Rodriguez y Rivas
(2023), "la ingeniería es la aplicación del conocimiento científico al diseño de
artefactos y procesos que satisfacen necesidades humanas”. (p.34) Estas
teorías encapsulan principios universales que guían el diseño, la optimización
y la implementación de sistemas en diversos campos de la ingeniería. De este
modo, establecen un lenguaje común que permite a los profesionales
comprender, analizar y resolver problemas con una perspectiva integral.
35
Es importante destacar que estas teorías no se limitan a un área
específica de la ingeniería, sino que son aplicables a una amplia variedad de
disciplinas. Su carácter genérico facilita la adaptación de sus conceptos a
diferentes contextos y escenarios, promoviendo la innovación y el avance
tecnológico. Por lo que al considerar tanto las necesidades humanas como las
limitaciones técnicas, estas teorías logran equilibrar la creatividad con la
viabilidad práctica.
Además, las teorías genéricas ingenieriles no solo proporcionan una
base estructurada para la práctica profesional, sino que también fomentan la
colaboración interdisciplinaria. Al compartir un marco teórico común, los
ingenieros de distintas especialidades pueden trabajar juntos de manera más
eficiente, abordando desafíos complejos desde múltiples perspectivas. Esto
incrementa la capacidad de desarrollar soluciones sostenibles y de impacto
significativo.
Por otro lado, es innegable que estas teorías evolucionan junto con los
avances científicos y tecnológicos. Su carácter dinámico las convierte en
herramientas indispensables para enfrentar las exigencias de un mundo en
constante
cambio.
Su
desarrollo
continuo
permite
integrar
nuevas
metodologías, tecnologías y enfoques, garantizando su relevancia en un
entorno altamente competitivo.
Sistema
Un sistema se define como un conjunto de elementos interrelacionados
que funcionan como un todo organizado. Estos elementos pueden ser
materiales o conceptuales y están estructurados de manera que cada
componente contribuye al objetivo general del sistema. La interacción y
36
dependencia mutua entre las partes son esenciales para el funcionamiento
efectivo del sistema.
De este modo, de acuerdo con Ludwig von Bertalanffy, creador de la
Teoría General de Sistemas, un sistema es "un conjunto de elementos
interconectados que interactúan entre sí para lograr un objetivo común".
(p.57). Por su parte, Chiavenato define un sistema como "un todo organizado
con lógica". Concordando, podemos afirmar que estas definiciones resaltan la
importancia de la organización y la interconexión de los componentes para
alcanzar propósitos específicos.
Por otro lado, los sistemas pueden clasificarse en diversos tipos, tales
como sistemas abiertos y cerrados, dependiendo de su interacción con el
entorno: un sistema abierto intercambia energía y materia con su entorno,
mientras que un sistema cerrado no tiene intercambio con el exterior. Además,
comprender la naturaleza y clasificación de los sistemas es fundamental en
disciplinas como la biología, la ingeniería y la administración, ya que permite
analizar y optimizar procesos complejos de manera integral.
API
Una API (siglas en inglés de Application Programming Interface, traducido
al español como Interfaz de Programación de Aplicaciones) es un conjunto de
definiciones y protocolos que permiten que diferentes aplicaciones se
comuniquen entre sí. Las APIs funcionan como un puente que facilita la
interacción entre sistemas, permitiendo que uno acceda a las funcionalidades
o datos del otro sin necesidad de conocer detalles internos de su
implementación. Según Fielding, uno de los principales autores de la
arquitectura REST, una API es "una interfaz que permite a los componentes
37
de software comunicarse entre sí mediante un conjunto de definiciones y
protocolos".
Por su parte, Martin Fowler, reconocido autor en el ámbito de la ingeniería
de software, describe una API como "una interfaz que permite a los
desarrolladores interactuar con un sistema, proporcionando acceso a sus
funcionalidades y datos". Estas definiciones resaltan el papel fundamental de
las APIs en la interoperabilidad y la integración de sistemas en el desarrollo de
software.
En términos prácticos, una API permite que aplicaciones externas
consuman servicios como acceder a bases de datos, realizar operaciones
específicas o interactuar con funcionalidades de hardware. Esto es
fundamental para crear ecosistemas tecnológicos conectados, donde
múltiples servicios y plataformas colaboran de manera integrada para brindar
soluciones completas y eficientes.
API Gateway
Un API Gateway (en español puerta de enlace de APIs) es un
componente clave en arquitecturas modernas, especialmente en sistemas
basados en microservicios o aplicaciones interconectadas. Actúa como un
intermediario que maneja todas las solicitudes entrantes de los clientes y las
dirige a los servicios adecuados. Además, agrega funcionalidades como
autenticación, autorización, enrutamiento, limitación de tráfico y conversión de
protocolos. Su objetivo principal es proporcionar una capa de abstracción y
centralización que simplifique la interacción entre los clientes y los
microservicios.
De acuerdo con Nginx, un API Gateway es "una solución de gestión que
opera entre un cliente y un conjunto de microservicios, encargándose de
38
tareas como autenticación, limitación de solicitudes, monitoreo y otras
funciones transversales. Similarmente, Martin Fowler explica que “los API
Gateways son esenciales en arquitecturas modernas para gestionar la
comunicación cliente-servidor en aplicaciones distribuidas, minimizando la
complejidad para los consumidores”.
En resumen, el API Gateway es una herramienta que no solo facilita la
integración y seguridad en sistemas distribuidos, sino que también mejora el
rendimiento y la eficiencia al ofrecer una única entrada unificada. Esto es
particularmente útil en aplicaciones con alta concurrencia o múltiples
consumidores, tales como aplicaciones móviles y web, debido a que se llega
a ofrecerles una experiencia consistente y eficiente de acuerdo a sus
necesidades.
Lenguaje de Programación
Un lenguaje de programación es un conjunto de reglas y sintaxis que
permiten a los desarrolladores escribir instrucciones que una computadora
puede interpretar y ejecutar. Estos lenguajes facilitan la creación de software,
aplicaciones y sistemas, actuando como un puente entre la lógica humana y
el procesamiento de datos por parte de las máquinas. Según comenta Robert
Harper, profesor de Ciencias de la Computación en la Universidad Carnegie
Mellon, "un lenguaje de programación es un medio para expresar ideas sobre
procesos computacionales".
Por otro lado, Paul Hudak, en su obra The Haskell School of Expression,
describe que "los lenguajes de programación son herramientas que permiten
a los humanos comunicarse con las computadoras de manera efectiva y
eficiente". De este modo, las definiciones anteriores resaltan la importancia de
los lenguajes de programación como vehículos para transmitir instrucciones y
conceptos a las máquinas.
39
Existen diversos tipos de lenguajes de programación, clasificados según
su nivel de abstracción y propósito. Los lenguajes de alto nivel, como Python,
Java y Go, ofrecen una sintaxis más cercana al lenguaje humano, facilitando
en gran medida el desarrollo y mantenimiento del código. Cabe destacar que
Go, también conocido como Golang, destaca por su enfoque minimalista y su
diseño enfocado en la simplicidad, la eficiencia y la concurrencia,
convirtiéndose en una elección ideal para construir aplicaciones modernas y
escalables. Por último, los lenguajes de bajo nivel, como Assembly,
proporcionan un control más directo sobre el hardware, siendo útiles en
aplicaciones que requieren optimización específica. La elección del lenguaje
adecuado depende de las necesidades del proyecto y las características del
sistema en desarrollo.
Go
Go, también conocido como Golang, es un lenguaje de programación de
código abierto desarrollado por Google y lanzado en 2009. Inicialmente, fue
diseñado por los ingenieros Robert Griesemer, Rob Pike y Ken Thompson
durante su estadía en Google, este lenguaje de programación busca combinar
la eficiencia y seguridad de los lenguajes compilados como C con la facilidad
de uso de lenguajes interpretados como Python, mejorando así la experiencia
de desarrollo y agilizando el mismo. Su creación responde a la necesidad de
gestionar eficientemente sistemas distribuidos y escalables en la era de la
computación en la nube.
De este modo, una de las características distintivas de Go es su enfoque
en la simplicidad y la claridad. Rob Pike, uno de sus creadores, enfatiza que
"Go fue diseñado para ser simple y fácil de entender, evitando características
complejas que dificulten la lectura y el mantenimiento del código". También,
esta filosofía se refleja en su sintaxis limpia y en la ausencia de características
40
como la herencia de clases, lo que facilita la escritura de código legible y
mantenible.
Por otro lado, la concurrencia es otro pilar fundamental de Go, por ello este
lenguaje introduce las goroutines, que permiten ejecutar funciones de manera
concurrente con un consumo mínimo de recursos. Además, Go implementa
canales que facilitan la comunicación segura entre goroutines, por lo cual
Andrew Gerrand, miembro del equipo de Go en Google, señala que "las
goroutines y los canales hacen que la concurrencia en Go sea más accesible
y menos propensa a errores que en otros lenguajes".
La eficiencia y rapidez de compilación son aspectos destacados de Go.
Gracias a su compilador optimizado, los tiempos de compilación son
significativamente más cortos en comparación con otros
lenguajes
compilados. Ian Lance Taylor, ingeniero de Google, menciona que "Go fue
diseñado para compilar rápidamente, permitiendo a los desarrolladores iterar
y probar su código con mayor frecuencia".
Y es de vital importancia reconocer que esta característica es
especialmente valiosa en entornos de desarrollo ágiles. Para finalizar, desde
el momento de su lanzamiento este lenguaje de programación ha ganado una
adopción significativa en la industria tecnológica, debido a que ciertas
empresas como Dropbox, Uber, Google y Netflix utilizan Go en sus sistemas
críticos, aprovechando su capacidad para manejar cargas concurrentes y su
eficiencia en la gestión de recursos. Igualmente, hay tecnologías de
contenedores que usan Go, tales como Docker y Kubernetes.
Librerías
Las librerías de programación son colecciones de código preescrito
diseñadas para resolver problemas comunes y facilitar el desarrollo de
aplicaciones. Estas librerías proporcionan funciones, clases y módulos
41
reutilizables que los desarrolladores pueden integrar en sus proyectos,
reduciendo significativamente el tiempo de desarrollo y evitando la necesidad
de implementar soluciones desde cero. De este modo, son fundamentales en
el ecosistema de la programación, ya que permiten enfocarse en la lógica
específica del proyecto mientras se aprovechan implementaciones probadas
y optimizadas.
Además, una de las principales ventajas de las librerías es su capacidad
para abstraer tareas complejas. Por ejemplo, en el desarrollo web, las librerías
pueden manejar solicitudes HTTP, renderización de vistas, validación de
datos, y más. Como destaca Martin, en su libro Clean Code (2008), "la
reutilización de código mediante librerías bien diseñadas es esencial para
mantener la eficiencia y la calidad en el desarrollo de software". Así, con el uso
de las librerías se logra acelerar el proceso de desarrollo manteniendo un
código legible y evitando también de manera literal recrear la rueda.
De igual forma, las librerías desempeñan un papel fundamental en el
desarrollo de aplicaciones, ya que permiten abordar necesidades específicas
dentro de un proyecto. En este contexto, destacan Gonertia, Inertia.js y React,
cada una cumpliendo roles esenciales en la arquitectura de la aplicación.
Gonertia es un adaptador para Go que facilita la integración con Inertia.js,
permitiendo la creación de aplicaciones monolíticas modernas sin la
complejidad de gestionar APIs tradicionales.
Por otro lado, React es una biblioteca de JavaScript enfocada en la
construcción de interfaces de usuario dinámicas y reutilizables, facilitando la
creación de componentes de manera eficiente donde se podrán observar la
variación de los datos. Finalmente, la combinación de estas herramientas
permite desarrollar aplicaciones web modernas y eficientes, aprovechando las
fortalezas de cada una para ofrecer una experiencia de usuario fluida y un
proceso de desarrollo más ágil.
42
Base de Datos
Una base de datos es un conjunto estructurado de información organizada
para facilitar su acceso, modificación y análisis. Su objetivo principal es permitir
que los datos se almacenen de forma coherente y que puedan ser recuperados
y utilizados de manera eficiente según las necesidades del sistema o los
usuarios. Cabe destacar que, son esenciales para representar el mundo real
en términos digitales, permitiendo modelar y gestionar información relacionada
con cualquier ámbito, desde el comercio hasta la investigación científica.
Según C.J. Date (2016), "una base de datos es una colección de datos
relacionados que representan información sobre un dominio específico”.
(p.37). Este enfoque pone énfasis en la organización y relevancia de los datos,
subrayando su capacidad para representar información compleja de manera
estructurada. En su forma más pura, las bases de datos son herramientas
fundamentales para transformar datos en conocimiento, sirviendo como la
base para análisis precisos y decisiones informadas en diversos contextos.
Sistemas Gestores de Base de Datos
Un sistema gestor de base de datos (SGBD) es un software que permite la
creación, administración y mantenimiento de bases de datos de manera
eficiente y segura. Su función principal es actuar como intermediario entre los
usuarios o aplicaciones y la base de datos, facilitando tareas como la inserción,
consulta, actualización y eliminación de datos mediante lenguajes específicos,
como SQL. Así, os SGBD garantizan la integridad, consistencia y seguridad
de los datos almacenados, además de ofrecer mecanismos para manejar
concurrencia y recuperación en caso de fallos.
Según Elmasri y Navathe, autores del libro Fundamentals of Database
Systems, "un sistema gestor de base de datos es un conjunto de programas
43
que permiten a los usuarios crear y mantener bases de datos" (Elmasri &
Navathe, (2016). “’Estos sistemas pueden clasificarse en función del modelo
de datos que utilizan, como los relacionales, orientados a objetos o jerárquicos,
y en base a su implementación, como locales o distribuidos”.(p.48). Los SGBD
no solo mejoran la eficiencia y el control de los datos, sino que también
permiten el desarrollo de aplicaciones robustas y escalables en entornos
empresariales y científicos.
PostgreSQL
PostgreSQL es un sistema gestor de bases de datos relacional de código
abierto, reconocido por su robustez, flexibilidad y capacidad para manejar
datos de forma eficiente. Diseñado inicialmente en 1986 como un proyecto
académico en la Universidad de California en Berkeley, PostgreSQL ha
evolucionado hasta convertirse en una solución confiable y ampliamente
utilizada en entornos empresariales y de investigación. Su diseño está basado
en el cumplimiento de estándares como SQL y en la implementación de
características avanzadas, lo que lo posiciona como una herramienta versátil
para una variedad de aplicaciones.
De este modo, según dice Momjian (2017) cofundador del proyecto
PostgreSQL, "PostgreSQL es un sistema de base de datos orientado a la
calidad y la innovación, que prioriza la corrección, la consistencia y las
características avanzadas para el manejo de datos" (p.67). Una de sus
principales fortalezas es su extensibilidad, que permite a los usuarios definir
tipos de datos personalizados, agregar funciones y crear extensiones para
adaptarse a necesidades específicas.
La comunidad activa de PostgreSQL es otro de sus grandes activos.
Gracias a su modelo de desarrollo colaborativo, se actualiza constantemente
para integrar nuevas características, corregir errores y mantenerse competitivo
44
frente a otras soluciones. Su uso se extiende a sectores como finanzas,
logística, ciencia de datos y administración pública, demostrando su
versatilidad y confiabilidad. Además, PostgreSQL se destaca por su capacidad
de integración con herramientas externas y lenguajes de programación,
consolidándose como un pilar fundamental en la construcción de sistemas de
información avanzados.
Bases Legales
El presente trabajo de grado se fundamenta en una sólida base legal,
esencial para su desarrollo, ya que proporciona el respaldo jurídico necesario
para proteger todo el contenido elaborado en esta investigación. Según
Hernández, Fernández y Baptista (2014), "las bases legales de una
investigación se refieren al conjunto de leyes, reglamentos y normas que
sustentan jurídicamente el estudio". (p.78). Por ello, a continuación, se
presentan una serie de artículos que salvaguardan el sistema desarrollado
contra el uso indebido o apropiación sin la debida autorización del autor.
Constitución de la República Bolivariana de Venezuela (1999)
La Constitución establece derechos fundamentales que incluyen la
protección de la privacidad, el acceso a la información y el manejo responsable
de los datos personales. Estos derechos son la base para cualquier normativa
que regule las tecnologías de información en el país. Así, el Artículo 28
reconoce el derecho de toda persona a conocer la información almacenada
sobre ella en registros oficiales o privados, así como el uso que se haga de
45
esta información. Además, este artículo obliga a los responsables del manejo
de datos a garantizar la transparencia y la protección de estos.
De esta forma, el artículo tiene implicaciones directas para el diseño y
operación de un API Gateway, ya que este sistema debe permitir a los usuarios
consultar la información almacenada sobre ellos de manera transparente. Esto
se puede lograr mediante la implementación de portales o interfaces de
usuario que ofrezcan acceso a los datos y el uso de políticas de manejo ético
de la información.
Además, el cumplimiento de este artículo 28 implica la adopción de
medidas para prevenir el uso indebido de los datos, garantizando que
cualquier acceso o modificación esté debidamente autorizado y registrado. Por
lo mismo, estos principios son extremadamente fundamentales para construir
un sistema confiable que respete los derechos de los usuarios y que al mismo
tiempo cumpla con todas las disposiciones constitucionales del país.
Ley Especial Contra los Delitos Informáticos (2001)
Esta ley establece un marco legal robusto y detallado que tiene como
objetivo prevenir, sancionar y reducir los riesgos asociados con los delitos que
puedan cometerse mediante el uso de tecnologías de información en
Venezuela. Además, está diseñada para proteger tanto los sistemas
computacionales como los datos que estos almacenan, así como las
infraestructuras tecnológicas que soportan dichos sistemas, garantizando la
integridad, confidencialidad y disponibilidad de los recursos tecnológicos en el
país. Por lo cual, este marco legal es aplicable tanto al sector público como
privado, abarcando un espectro amplio de actividades relacionadas con el uso
de tecnologías.
De esta forma, el Artículo 2 introduce definiciones fundamentales que son
esenciales para interpretar el alcance de la ley. También este artículo describe
46
términos clave como "sistema", entendido como un conjunto de recursos
tecnológicos interconectados; "información", que hace referencia a los datos
estructurados almacenados o transmitidos dentro de un sistema; y "data",
como el contenido procesable en formatos electrónicos. Estas definiciones son
especialmente relevantes en el contexto de arquitecturas cliente-servidor y la
implementación de sistemas como un API Gateway, ya que proporcionan un
marco de referencia claro para identificar los elementos que deben ser
protegidos por la ley.
Por su parte, el Artículo 6 se enfoca específicamente en el sabotaje o daño
a sistemas tecnológicos, imponiendo sanciones severas para quienes, sin
autorización, interfieran, alteren, dañen o destruyan recursos tecnológicos, ya
sea en el nivel de hardware o software. Este artículo también contempla como
agravantes las acciones que
interrumpan
servicios
críticos o
que
comprometan la seguridad de los datos almacenados en los sistemas
afectados.
Este nivel de detalle permite abordar con precisión las amenazas que
enfrentan las infraestructuras tecnológicas modernas, especialmente en
sistemas que operan con arquitecturas distribuidas o centralizadas. Cabe
destacar que, son de vital importancia en el contexto de la implementación de
un API Gateway, ya que este tipo de sistema tecnológico actúa como un punto
de conexión central para el manejo y transmisión de datos entre aplicaciones
distribuidas.
La interpretación clara de términos como "sistema" e "información" asegura
que el diseño de estas herramientas considere las obligaciones legales de
proteger estos activos tecnológicos. Además, el Artículo 6 refuerza la
necesidad de implementar mecanismos de seguridad avanzados, tales como
autenticación y autorización estrictas, monitoreo continuo, encriptación de
datos y sistemas de detección de intrusiones, para prevenir sabotajes y
47
accesos no autorizados que puedan comprometer el sistema o la información
que maneja.
Ley de Infogobierno (2013)
Establece el marco regulatorio para el uso de tecnologías de información
en Venezuela, especialmente en el ámbito público. Su propósito principal es
garantizar que los sistemas que manejan datos públicos y privados sean
accesibles, eficientes, seguros e interoperables, promoviendo la transparencia
y modernización en los procesos administrativos del Estado y su interacción
con los ciudadanos. Esta ley es particularmente relevante en el contexto del
diseño e implementación de sistemas tecnológicos avanzados, como un API
Gateway, que actúa como un punto central para la gestión de datos y servicios
distribuidos.
Así, el Artículo 2 delimita el alcance de la ley, especificando que se aplica
a los órganos y entes del Poder Público, así como a las entidades del Poder
Popular que utilicen tecnologías de información para sus operaciones. En este
se establece principios fundamentales como la accesibilidad, asegurando que
los ciudadanos puedan interactuar con los sistemas tecnológicos del Estado;
la eficiencia, que implica que dichos sistemas deben optimizar recursos y
tiempos en sus operaciones; y la seguridad, que resalta la protección de los
datos manejados por estos sistemas. En este sentido, cualquier sistema
desarrollado en este ámbito, como un API Gateway, debe cumplir
estrictamente con estos principios, asegurando un impacto positivo tanto en
los procesos internos como en la experiencia de los usuarios.
En este orden de ideas, el Artículo 14 subraya la obligación de garantizar
la interoperabilidad entre los sistemas de información utilizados por el Estado.
Por lo anterior es que la interoperabilidad es clave para asegurar que
diferentes sistemas, aplicaciones y plataformas puedan comunicarse y trabajar
48
juntos de manera eficiente. En el caso de un API Gateway, este artículo cobra
especial relevancia, debido a que su diseño debe permitir la integración fluida
entre múltiples sistemas y servicios, facilitando el intercambio de datos de
manera estructurada y consistente. Además, la interoperabilidad no solo
mejora la eficiencia operativa, sino que también promueve la transparencia, al
permitir que los ciudadanos y los entes públicos accedan a información
consolidada y precisa.
Por último, el Artículo 15 establece la necesidad de implementar medidas
de seguridad robustas en los sistemas que administran datos, con el objetivo
de proteger la información contra accesos no autorizados, manipulaciones
indebidas y cualquier forma de vulneración. Igualmente, es fundamental para
garantizar la integridad y confidencialidad de los datos gestionados por el API
Gateway. Sin embargo, entre las medidas que deben adoptarse están el uso
de protocolos de encriptación como HTTPS y TLS, la implementación de
autenticación multifactor y la monitorización constante del sistema para
detectar y prevenir posibles amenazas.
Ley Sobre el Derecho de Autor (1993)
La Ley Sobre el Derecho de Autor protege las creaciones intelectuales en
diversas áreas, incluyendo la tecnología, estableciendo un marco jurídico
sólido que garantiza los derechos exclusivos de los autores sobre sus obras.
En el ámbito de la informática, esta ley resulta especialmente relevante al
extender su protección a los programas de computadora y bases de datos,
reconociéndolos como obras intelectuales que gozan de los mismos derechos
que otras creaciones literarias, científicas o artísticas.
En este contexto, el Artículo 1 de esta ley afirma que se consideran
protegidas todas las creaciones del intelecto humano, incluyendo aquellas
relacionadas con el desarrollo tecnológico. Por lo anterior, esta disposición
49
abarca obras tangibles e intangibles, asegurando que los autores puedan
controlar el uso de sus creaciones. Por otro lado, el Artículo 5 detalla
específicamente que los programas de computadora y bases de datos están
protegidos, destacando que su reproducción, distribución o modificación solo
puede realizarse con la autorización expresa del autor. Además, el Artículo 11
refuerza este derecho al otorgar a los creadores la facultad exclusiva de decidir
cómo se utiliza su obra, evitando que terceros puedan beneficiarse sin el
debido permiso.
Fundamentalmente, la implementación de un API Gateway se beneficia de
esta normativa, ya que el código fuente, los algoritmos y las bases de datos
utilizados en su desarrollo están completamente protegidos. Esto asegura que
el autor pueda ejercer un control total sobre su creación, estableciendo
restricciones legales frente a cualquier intento de copiar, distribuir o modificar
el sistema sin autorización. En un entorno donde el software es una
herramienta clave para la competitividad, contar con esta protección legal no
solo salvaguarda los derechos del creador, sino que también fomenta un
entorno de innovación al garantizar que los desarrolladores reciban el
reconocimiento y los beneficios de su trabajo.
Ley Orgánica de Ciencia, Tecnología e Innovación (2005)
Es un pilar fundamental para el desarrollo de la innovación tecnológica en
Venezuela. Su objetivo principal es promover la investigación y el desarrollo
en ciencia y tecnología como herramientas para el progreso económico y
social del país. Esta ley fomenta la creación de tecnologías adaptadas a las
necesidades locales, estableciendo un marco que incentiva tanto a los
desarrolladores como a las instituciones a colaborar en la producción de
soluciones innovadoras.
50
Así, el Artículo 3 establece que la ciencia y la tecnología deben contribuir
al desarrollo sostenible del país, enfatizando la importancia de generar
soluciones tecnológicas que atiendan problemas específicos en áreas
estratégicas como la educación, la salud, la industria y la administración
pública. El Artículo 27, por su parte, regula la transferencia de tecnologías
desarrolladas con financiamiento público o incentivos fiscales, garantizando
que estas herramientas sean accesibles y beneficien a la sociedad en su
conjunto. Finalmente, el Artículo 28 exige que las innovaciones tecnológicas
se alineen con las necesidades del país, asegurando que los desarrollos no
solo sean técnicamente avanzados, sino también socialmente relevantes.
En el contexto del desarrollo de un API Gateway, esta ley brinda un marco
que no solo protege los resultados del trabajo tecnológico, sino que también
incentiva su implementación en sectores estratégicos. Este sistema, al
optimizar la gestión de datos y servicios, responde directamente a los objetivos
establecidos en el Artículo 3, ya que puede mejorar significativamente la
eficiencia de procesos administrativos y empresariales en el país.
Definición de Términos Básicos
La definición precisa de los términos básicos es fundamental para
garantizar la comprensión del estudio. De acuerdo con Fernández y Baptista
(2014), "la definición de términos o glosario consiste en explicar el sentido en
que se emplean los términos o conceptos clave en una investigación" (p. 61).
Esta práctica nos permite delimitar el alcance de los conceptos utilizados,
evitando de este modo ambigüedades y al mismo tiempo asegurando que el
lector interprete correctamente el contenido del trabajo.
Además, una adecuada definición de términos facilita la replicabilidad del
estudio, ya que otros investigadores podrán entender y aplicar los conceptos
de manera consistente y de este modo poseer un contexto mucho más amplio
51
de la investigación que se encuentra leyendo, obteniendo de este modo
nuevos puntos de vistas y conocimientos en base a conceptos nunca
anteriormente conocidos y que son ampliamente explicados y utilizados en la
presente.
Administrador: Persona responsable de la instalación, configuración,
mantenimiento y soporte de los sistemas informáticos y redes en una
organización.
Análisis de Datos: Proceso de examinar, transformar y modelar datos
para descubrir información útil, conclusiones y apoyar la toma de decisiones.
Aplicación Distribuida: Sistema que opera en múltiples computadoras
conectadas a través de una red, trabajando conjuntamente para un objetivo
común.
Arquitectura de Software: Diseño estructural de un sistema de software
que define sus componentes y relaciones.
Autenticación: Proceso de verificación de la identidad de un usuario o
sistema antes de otorgar acceso a recursos.
Autorización: Proceso de conceder permisos a un usuario autenticado
para acceder a ciertos recursos o realizar acciones específicas.
Back-End: Parte de un sistema que gestiona la lógica de negocio, las
bases de datos y las operaciones del servidor.
Balanceo de Carga: Técnica para distribuir el tráfico de red o solicitudes
entre múltiples servidores para optimizar el rendimiento.
Cache: Almacenamiento temporal de datos frecuentemente usados para
mejorar la velocidad de acceso en un sistema.
Circuit Breaker (Cortacircuitos): Patrón de diseño implementado en un
API Gateway para evitar la sobrecarga de servicios cuando detecta fallas
recurrentes en ellos.
52
Contenedor: Entorno virtualizado que encapsula una aplicación y sus
dependencias para garantizar que se ejecute de forma consistente en
cualquier entorno.
Dependencia: Relación entre módulos o componentes de un software
donde uno requiere al otro para funcionar.
Dominio: Área específica de conocimiento o actividad sobre la cual se
desarrolla un sistema.
Eficiencia: Capacidad de un sistema para realizar tareas con el mínimo
uso de recursos y tiempo.
Endpoint: URL específica de una API que permite a los clientes interactuar
con recursos o funcionalidades mediante solicitudes HTTP, como obtener,
enviar, actualizar o eliminar datos.
Enrutamiento: Proceso mediante el cual el API Gateway dirige las
solicitudes de los clientes hacia el servicio correspondiente en función de la
configuración establecida.
Escalabilidad: Capacidad de un sistema para manejar un aumento en la
carga de trabajo o usuarios sin degradar su rendimiento.
Firewall: Herramienta de seguridad de red que filtra y controla el tráfico
entrante y saliente para proteger sistemas y datos.
Framework (Marco de trabajo): Conjunto de herramientas y librerías
predefinidas que proporciona una estructura base para el desarrollo de
software, facilitando la implementación de funcionalidades recurrentes.
Front-End: Parte del sistema con la que interactúan directamente los
usuarios finales.
Hashing: Proceso criptográfico que transforma datos de cualquier tamaño
en una cadena de caracteres de longitud fija, utilizada para verificación y
seguridad.
53
HTTP (Hypertext Transfer Protocol): Protocolo de comunicación que
permite la transferencia de datos entre un cliente y un servidor en la web
Interfaz de Usuario (UI): Elementos gráficos y componentes con los que
interactúan los usuarios para operar un sistema o aplicación.
Interoperabilidad: Capacidad de diferentes sistemas o aplicaciones para
trabajar juntos de manera efectiva.
JSON (JavaScript Object Notation): Formato de intercambio de datos
ligero y legible para humanos y máquinas.
Latencia: Retraso en la transmisión de datos desde el momento en que se
envían hasta que se reciben.
Middleware: Software o función que actúa como intermediario para facilitar
la comunicación y gestión de datos entre diferentes aplicaciones.
Monitoreo: Proceso de supervisar el rendimiento y el estado de un sistema
en tiempo real.
Paquete: Colección de archivos y directorios necesarios para organizar y
modularizar el código del sistema.
Patrón de Software: Solución reutilizable y comprobada para resolver
problemas recurrentes en el diseño y desarrollo de sistemas de software, como
MVC (Modelo-Vista-Controlador) o Singleton.
Protocolo: Conjunto de reglas que define cómo se comunican entre sí los
componentes de un sistema.
Rate Limiting (Limitación de Tasa): Técnica utilizada por el API Gateway
para restringir el número de solicitudes permitidas a un cliente dentro de un
período de tiempo determinado.
Redundancia: Método de duplicar componentes o datos para aumentar la
disponibilidad y tolerancia a fallos en un sistema.
54
Reglas de CORS (Cross-Origin Resource Sharing): Configuración del
API Gateway que controla qué dominios externos pueden interactuar con los
servicios backend.
REST (Representational State Transfer): Estilo arquitectónico que utiliza
estándares HTTP para la comunicación entre sistemas.
Servidor: Equipo o programa que proporciona servicios o recursos a otros
equipos, denominados clientes, en una red.
Tolerancia a Fallos: Capacidad de un sistema para continuar operando
correctamente incluso si uno o más de sus componentes fallan.
UX (User Experience): Experiencia del usuario al interactuar con un
sistema o aplicación, evaluada en términos de facilidad de uso, funcionalidad,
accesibilidad y satisfacción general.
Virtualización: Tecnología que permite crear múltiples entornos virtuales
sobre una única infraestructura física, mejorando la eficiencia y flexibilidad.
55
CAPÍTULO III
MARCO METODOLÓGICO
Es una sección fundamental que detalla los métodos, técnicas y
procedimientos empleados para alcanzar los objetivos de la investigación.
Según Balestrini (2013), "el marco metodológico es la instancia referida a los
métodos, las diversas reglas, registros, técnicas y protocolos con los cuales
una teoría y su método calculan las magnitudes de lo real". En primer lugar,
se define el tipo de investigación, especificando si es exploratoria, descriptiva,
explicativa, correlacional, entre otras. Esta clasificación permite al lector
comprender la naturaleza del estudio y el nivel de profundidad con el que se
abordará el problema, además, influye directamente en las herramientas y
técnicas que se utilizarán posteriormente.
Asimismo, es esencial incluir el diseño de la investigación, que describe la
estrategia general que se seguirá para recolectar y analizar los datos
necesarios. Por ejemplo, el diseño puede ser experimental, cuasiexperimental,
no experimental o de campo, dependiendo de los objetivos y del contexto del
estudio. Este elemento se conecta con la población y la muestra, donde se
identifica el grupo de interés al que se dirige el estudio y se determina si se
trabajará con toda la población o con una parte representativa de esta,
denominada muestra.
Posteriormente, es necesario describir las técnicas e instrumentos de
recolección de datos. Esto abarca métodos como encuestas, entrevistas,
observaciones y análisis de documentos, entre otros. Además, se debe
justificar por qué se seleccionaron estas herramientas y cómo se adaptan al
contexto de la investigación. Es aquí donde también se deben explicar los
procedimientos de análisis de datos, ya que, dependiendo de si la
investigación es cualitativa, cuantitativa o mixta, se emplearán técnicas
56
específicas como análisis estadísticos, categorización de información o
triangulación de datos.
Por otro lado, el marco metodológico debe incluir las limitaciones de la
investigación. Esto implica reconocer las restricciones que podrían influir en el
desarrollo del estudio, como las limitaciones temporales, la disponibilidad de
recursos o las dificultades para acceder a ciertos datos. Este aspecto es
fundamental, ya que demuestra que el investigador ha considerado posibles
desafíos y ha tomado medidas para minimizar su impacto en los resultados.
Tipo de Estudio
Este punto hace referencia al esquema general o marco estratégico que
proporciona unidad, coherencia, secuencia y sentido práctico a todas las
acciones llevadas a cabo para abordar el problema y alcanzar los objetivos
planteados. En este contexto, la presente investigación se encuentra
enmarcada dentro de la modalidad de investigación tecnológica. De acuerdo
con el Manual para la Elaboración del Trabajo de Grado del Instituto
Universitario Politécnico Santiago Mariño (2015), “la investigación tecnológica
se caracteriza por ser más instrumental, procedimental y programática, y la
transformación se constituye en su fin principal” (p. 25). Esto implica que este
tipo de investigación se orienta hacia la aplicación práctica de conocimientos
científicos para desarrollar soluciones que respondan a necesidades
concretas.
En este sentido, la investigación proyectiva es un enfoque dinámico que
facilita la planificación de acciones futuras mediante la identificación y análisis
integral de los factores asociados al problema. Estas acciones no solo
optimizan situaciones actuales, sino que también ofrecen alternativas
prácticas y funcionales que se ajustan a las necesidades del contexto
estudiado. Es decir, se enfoca en presentar soluciones concretas, alineadas
57
con las condiciones y recursos disponibles, garantizando así que las
propuestas sean viables y efectivas en su implementación.
Además, este tipo de investigación se basa en la elaboración de
propuestas orientadas a satisfacer necesidades prácticas en áreas
específicas, como organizaciones, instituciones o comunidades. Estas
propuestas surgen de un diagnóstico previo que permite identificar las
condiciones actuales, los procesos explicativos involucrados y las tendencias
futuras. A partir de estos elementos, se genera una solución que no solo
responde al problema inmediato, sino que también considera posibles
escenarios futuros para garantizar la sostenibilidad de los resultados
obtenidos.
Asimismo, el Manual de Trabajo de Grado del Instituto Universitario
Politécnico Santiago Mariño (2015) destaca que la investigación proyectiva
integra de manera sistemática la búsqueda teórica con la aplicación práctica,
logrando un equilibrio entre el análisis y la acción. Esto implica que las
soluciones propuestas se fundamentan en un proceso riguroso de recopilación
y análisis de datos, lo que garantiza su relevancia y aplicabilidad en el contexto
real.
Finalmente, la presente investigación utiliza este enfoque para desarrollar
soluciones innovadoras y adaptadas a las necesidades específicas del
problema identificado. En línea con lo planteado por el manual, se asegura un
proceso estructurado que parte del diagnóstico inicial y culmina en la
implementación de una propuesta viable y efectiva, contribuyendo así a
resolver las necesidades identificadas y optimizando las condiciones
existentes.
58
Modelo de Investigación
El método de investigación cualitativo es un enfoque centrado en la
comprensión profunda de fenómenos sociales y humanos, priorizando los
significados, contextos y experiencias desde la perspectiva de los
involucrados. A diferencia del método cuantitativo, que se enfoca en medir y
analizar variables numéricas, el cualitativo busca explorar y describir la
naturaleza subjetiva de los fenómenos, permitiendo una interpretación rica y
detallada de los mismos. Lo anterior va de acuerdo con Bernai (2010), que
menciona:
Este método está orientado a profundizar casos específicos y no a
generalizar. Su preocupación no es prioritariamente medir, sino
cualificar y describir el fenómeno social a partir de rasgos
determinantes, según sean percibidos por los elementos mismos
que están dentro de la situación estudiada.
Además, el método cualitativo se caracteriza por un enfoque interpretativo,
el cual busca analizar las interacciones humanas en su entorno natural,
considerando el contexto cultural y social en el que se desarrollan. Este
enfoque permite que el investigador profundice en las experiencias
individuales y colectivas, proporcionando una comprensión integral de los
factores que influyen en el fenómeno estudiado. Asimismo, la flexibilidad
inherente a este método posibilita adaptaciones durante el proceso
investigativo, respondiendo a nuevas direcciones o hallazgos que surjan en el
transcurso del estudio.
Por otro lado, este método se apoya en técnicas de recolección de datos
como entrevistas en profundidad, observación participante y análisis
documental, las cuales permiten captar la riqueza de los detalles y matices
que son esenciales para interpretar adecuadamente los fenómenos. Según
Toro (2008), "el método cualitativo busca la medición de los fenómenos
59
sociales, lo cual supone derivar de un marco conceptual, pertinente al
problema analizado, una serie de preguntas que expresan relaciones entre las
variables formuladas en forma deductiva”.
Por lo anterior, este enfoque resulta especialmente pertinente, ya que
permite comprender las necesidades y limitaciones específicas de las
pequeñas y medianas empresas en Venezuela en relación con soluciones
tecnológicas. Asimismo, posibilita el análisis del contexto socioeconómico que
condiciona la adopción de nuevas tecnologías y facilita la exploración de
experiencias previas relacionadas con el uso de herramientas como el API
Gateway. Esta perspectiva integral es clave para diseñar soluciones que
respondan efectivamente a las realidades y desafíos del entorno estudiado,
ofreciendo una base sólida para proponer un modelo tecnológico viable y
contextualizado.
Fases de la Investigación
Fase 1: Diagnóstico del sistema actual en la centralización de los
recursos empresariales
En esta fase inicial, se llevará a cabo un diagnóstico exhaustivo del sistema
actual empleado para la centralización de recursos empresariales en las
organizaciones objeto de estudio. Este análisis implicará recopilar información
detallada acerca de los procesos, herramientas y estrategias actualmente
implementadas para la gestión de recursos. Además, se identificarán las
principales limitaciones y carencias que enfrentan las empresas en el contexto
tecnológico y organizacional. Este diagnóstico proporcionará un panorama
60
integral de las necesidades y problemáticas que justifican el desarrollo de la
API Gateway.
Así, el diagnóstico se basará en métodos cualitativos y, de ser necesario,
cuantitativos, con el fin de obtener datos confiables que sustenten las
decisiones posteriores. Se priorizará la recolección de datos primarios a través
de entrevistas, encuestas y análisis de documentos internos, asegurando una
comprensión clara y precisa del entorno empresarial actual. Este análisis
permitirá sentar las bases del proyecto y garantizar que las soluciones
planteadas respondan a las necesidades específicas de las empresas
analizadas.
Fase 2: Establecimiento de los requerimientos funcionales y no
funcionales de la API Gateway
Esta fase tiene como objetivo establecer los requisitos técnicos que guiarán
el desarrollo de la API Gateway. Por ello, los requerimientos funcionales se
enfocarán en definir las características y funcionalidades específicas que el
sistema debe cumplir, tales como los endpoints REST, mecanismos de
autenticación, gestión de usuarios y conexiones con servicios externos.
Mientras que por otro lado, los requerimientos no funcionales abarcarán
aspectos como rendimiento, escalabilidad, disponibilidad y seguridad,
elementos críticos para garantizar el éxito y sostenibilidad de la solución
tecnológica.
De este modo, el proceso de definición de requerimientos incluirá sesiones
de consulta con expertos en tecnología y representantes de las empresas
involucradas, asegurando que las especificaciones estén alineadas con las
necesidades del entorno empresarial. Por lo anterior, se generará un
documento técnico detallado que describa tanto los requerimientos
61
funcionales como los no funcionales, sirviendo como guía para las etapas
subsiguientes del diseño y desarrollo. Este documento será revisado y
validado para garantizar su viabilidad y alineación con los objetivos
planteados.
Fase 3: Diseño de la API Gateway basada en arquitectura REST
El diseño de la API Gateway será desarrollado con base en los
requerimientos establecidos en la fase anterior. Este diseño incluirá la
definición de la arquitectura general del sistema, los flujos de datos y las
interacciones entre los distintos componentes. También, se especificarán los
endpoints REST que conformarán la API, detallando sus funcionalidades,
parámetros y métodos de acceso. Asimismo, se diseñarán los mecanismos de
seguridad necesarios para proteger los datos y garantizar la autenticidad de
las peticiones realizadas a lo largo del sistema y las aplicaciones embebidas
en el mismo.
Cabe destacar que, el diseño se representará mediante diagramas y
esquemas técnicos, como diagramas de clases, de flujo y de secuencia, que
permitirán visualizar de manera integral la estructura y comportamiento del
sistema. Este proceso asegurará completamente a que la solución propuesta
sea robusta, escalable y adaptable a las necesidades específicas de las
empresas pequeñas y medianas. Aunado a todo lo anterior, se documentarán
todas
las
decisiones
técnicas
tomadas,
incluyendo
las
tecnologías
seleccionadas, los patrones de diseño adoptados y las justificaciones que las
respaldan.
62
Fase 4: Construcción de la API Gateway basada en arquitectura REST
Durante esta fase, se procederá con la implementación técnica de la API
Gateway, siguiendo las especificaciones definidas en el diseño. La
construcción se llevará a cabo utilizando herramientas y tecnologías
modernas, tales como frameworks de desarrollo y bases de datos, que
permitan garantizar un sistema robusto y escalable. Este proceso incluirá la
configuración del entorno de desarrollo, la definición de los controladores,
modelos y rutas necesarios, así como la implementación de los endpoints
REST
previamente
definidos.
Se
priorizará
el
uso
de
estándares
internacionales y buenas prácticas de programación para asegurar un código
limpio, mantenible y eficiente.
Además, el desarrollo se realizará en módulos o etapas, comenzando por
las funcionalidades esenciales, como los sistemas de autenticación y
autorización, para garantizar la seguridad de los datos y las transacciones.
Posteriormente, se integrarán los módulos relacionados con la gestión de
usuarios, conexión con servicios externos y manejo de errores. Cada módulo
será sometido a pruebas unitarias para verificar su correcto funcionamiento de
manera individual antes de integrarse al sistema completo. Este enfoque
incremental permitirá detectar y corregir errores a tiempo, reduciendo riesgos
durante el desarrollo.
Asimismo, se llevará a cabo una documentación exhaustiva del código y
los procesos implementados, lo que incluirá tanto explicaciones detalladas
sobre el funcionamiento interno de los componentes como las configuraciones
realizadas en el servidor y las herramientas utilizadas. Esta documentación
servirá como una guía técnica para futuros desarrolladores y garantizará la
replicabilidad del sistema. Al finalizar esta fase, se contará con un prototipo
63
funcional que será preparado para su instalación y evaluación en la etapa
siguiente.
Fase 5: Ejecutar la instalación, pruebas y validación de la API Gateway
basada en arquitectura REST
La etapa final del proyecto consistirá en la instalación del sistema en un
entorno controlado que simule las condiciones reales de operación, lo que
permitirá evaluar su funcionalidad en escenarios representativos. La
instalación incluirá la configuración de servidores, despliegue del sistema en
el entorno de producción o pruebas, y la integración con los servicios
necesarios. Este proceso buscará garantizar que todos los componentes del
sistema operen de manera conjunta y eficiente, cumpliendo con los
requerimientos establecidos previamente.
Una vez instalada la API Gateway, se llevarán a cabo pruebas exhaustivas
para evaluar su rendimiento, estabilidad y capacidad de respuesta bajo
diferentes condiciones. Estas pruebas incluirán, entre otras, casos de uso real,
simulaciones de carga y estrés para medir la capacidad del sistema de
manejar múltiples solicitudes simultáneamente, y análisis de tiempo de
respuesta para validar la eficiencia de los endpoints REST. Además, se
realizarán pruebas de seguridad para garantizar la protección de los datos y la
integridad del sistema frente a posibles ataques o vulnerabilidades.
Por otro lado, la validación de resultados será un componente crítico en
esta fase. Se recopilarán datos durante las pruebas para analizar el
cumplimiento de los objetivos planteados y se compararán con los
requerimientos funcionales y no funcionales establecidos en fases anteriores.
Adicionalmente, se buscará retroalimentación de expertos y usuarios
potenciales del sistema, lo que permitirá realizar ajustes finales antes de su
64
implementación definitiva. La fase culminará con la elaboración de un informe
técnico que documentará todo el proceso, desde la instalación hasta los
resultados de las pruebas, destacando los logros alcanzados, las limitaciones
encontradas y las recomendaciones para futuras implementaciones. Este
informe no solo será clave para cerrar el proyecto, sino que también servirá
como referencia para posibles mejoras o adaptaciones del sistema.
Técnicas para la Recolección de información
En el desarrollo de esta investigación, se emplearán dos técnicas
principales para la recolección de información: la observación directa y la
revisión
documental,
ambas
adaptadas
al
contexto
del
diseño
e
implementación del API Gateway. Estas técnicas permiten obtener datos
relevantes y fiables que servirán de base para analizar el problema y
desarrollar una solución tecnológica eficiente.
La observación directa consiste en examinar de forma sistemática el
entorno donde se implementará el API Gateway, incluyendo los procesos
actuales y la interacción de los sistemas existentes. Esta técnica permitirá
identificar las necesidades específicas y las áreas de mejora relacionadas con
la centralización de los recursos empresariales. Al estar presente en el
contexto de estudio, el investigador puede recopilar información en tiempo
real, detectando problemas que no se reflejan en los registros documentales,
y evaluando el funcionamiento y la operatividad de los sistemas en su entorno
natural. La observación directa también facilita el análisis de los flujos de
trabajo y de las limitaciones que enfrentan las pequeñas y medianas empresas
en la gestión de sus recursos tecnológicos.
Por otro lado, la revisión documental se enfocará en el análisis de fuentes
secundarias,
como
manuales
técnicos,
65
informes
previos,
estudios
relacionados y especificaciones tecnológicas. Esta técnica permitirá recopilar
antecedentes sobre el uso de API Gateways en contextos similares,
identificando buenas prácticas, estándares internacionales y posibles
problemas asociados a su implementación. Además, se analizarán
documentos internos de las empresas involucradas, lo que ayudará a
comprender mejor los requisitos funcionales y no funcionales necesarios para
la solución propuesta. La revisión documental es fundamental para garantizar
que el diseño del API Gateway se fundamente en conocimientos teóricos
sólidos y experiencias prácticas documentadas.
Para finalizar, se puede expresar en otras palabras que, en conjunto, estas
técnicas proporcionarán una visión integral del problema y sus posibles
soluciones, combinando el conocimiento teórico con la experiencia práctica.
Por ello, este enfoque dual garantizará que la propuesta tecnológica sea
contextualizada, viable y efectiva para las necesidades de las empresas en
estudio.
Sistema de Variables
En el ámbito de la investigación científica, las variables representan las
características o propiedades de los fenómenos que pueden variar y ser objeto
de estudio. Según Hernández, Fernández y Baptista (2014), una variable es
"una propiedad que puede fluctuar y cuya variación es susceptible de medirse
u observarse" (p. 83). Esta definición enfatiza la importancia de identificar y
definir claramente las variables en una investigación, ya que permiten
relacionar conceptos y establecer las características específicas que serán
analizadas.
66
Conceptualización de Variables
En toda investigación, es fundamental identificar y definir las variables, ya
que estas permiten relacionar conceptos y especificar las características que
el investigador analizará, desde lo más general hasta lo más específico. Para
lograr una comprensión precisa, es necesario desglosar cada variable en
dimensiones, áreas, aspectos, indicadores, índices o subíndices. Según el
Manual para la Elaboración del Trabajo de Grado del Instituto Universitario
Politécnico "Santiago Mariño" (2015), no solo deben especificarse las
variables a estudiar; es necesario también conceptualizarlas, enunciando las
características que las conforman y especificando las relaciones entre estas;
de manera que se precise su significado sobre la base de la teoría o teorías
manejadas en la investigación.
En este contexto, las variables se consideran unidades que pueden
cambiar su valor o determinación durante el proceso investigativo. Hernández,
Fernández y Baptista (2014) señalan que "una variable es una propiedad que
puede fluctuar y cuya variación es susceptible de medirse u observarse". Esto
implica que las variables son atributos de un fenómeno u objeto de estudio que
pueden variar y ser medidos o evaluados. Esta evaluación se realiza a través
de instrumentos que transforman conceptos abstractos en elementos
prácticos, facilitando su comprensión y análisis.
67
Cuadro 1. Conceptualización de Variables
Objetivo específico 1: Diagnosticar el sistema actual en la centralización de los recursos empresariales.
Variable
Definición
Definición
conceptual
operacional
Gestor
Recurso
empresarial
que
acepta todas las
llamadas API y
actúa como un
proxy inverso.
Dimensión Indicadores
Técnicas
Instrumentos
URL específica
Observación
que actúa como
punto
de
entrada para las
solicitudes
Desarrollo
- Centralización
directa.
- Ahorro de costos Revisión
de
documental
- Web
- Block de notas
- Computador
los clientes.
Objetivo específico 2: Establecer los requerimientos funcionales y no funcionales para el desarrollo de la API Gateway.
Especificaciones
detalladas de las
Requerimientos
funcionales y no
funcionales
funciones que un
sistema
debe
cumplir,
describen lo que
el sistema debe
hacer
Los funcionales
incluyen
- Windsurf
enrutamiento y
autenticación. Y
entre
los
no
funcionales
disponibilidad
Gateway
- Golang, Fiber
- JavaScript
- React
están las vistas,
rendimiento
API
y
- Inertia
Revisión
documental
- Web
Tratamiento de la Información
El tratamiento de la información en investigaciones cualitativas implica un
proceso meticuloso de análisis e interpretación de los datos recolectados. Este
enfoque permite identificar patrones, temas y significados emergentes,
proporcionando una comprensión profunda y contextualizada del fenómeno
estudiado. Según Mieles Barrera, Tonon y Alvarado Salgado (2012), "el
análisis temático es una forma rigurosa y sistemática de procesar información
cualitativa, en el marco de la fenomenología social". En este contexto, para
garantizar la validez y confiabilidad de los hallazgos, es esencial que el
investigador mantenga una actitud reflexiva y crítica durante todo el proceso
de análisis. Esto incluye la triangulación de datos, la búsqueda de
discrepancias y la consideración de múltiples perspectivas.
Además, es fundamental documentar detalladamente cada etapa del
proceso de análisiipción de los datos hasta la interpretación final. Esta
documentación no solo proporciona transparencia al estudio, sino que también
facilita la replicabilidad y la evaluación crítica por parte de otros investigadores.
Lo anterior va de acuerdo a lo dicho por Mieles Barrera (2012), "la difusión y
creciente popularidad de la investigación cualitativa en las ciencias sociales
hacen necesario reconstruir su historia y revisar de forma permanente sus
supuestos epistemológicos"
Análisis Cuantitativo
Se centra en la recolección y evaluación de datos numéricos para
identificar patrones, relaciones y tendencias en los fenómenos estudiados.
Este enfoque permite a los investigadores medir variables específicas y
establecer correlaciones estadísticas que facilitan la comprensión de la
realidad investigada. Según Hernández, Fernández y Baptista (2014), "una
variable es una propiedad que puede fluctuar y cuya variación es susceptible
de medirse u observarse" .
Por consiguiente, la implementación de técnicas cuantitativas como
experimentos controlados, permite la obtención de datos que pueden ser
analizados mediante métodos estadísticos. Esto facilita la generalización de
los hallazgos a poblaciones más amplias, aumentando la validez externa de la
investigación. Además, el análisis cuantitativo proporciona una base sólida
para la comparación de resultados entre diferentes estudios, contribuyendo al
avance del conocimiento científico en diversas disciplinas.
En otro orden de ideas, la presente investigación estará enfocada en un
análisis cuantitativo porque busca medir y evaluar aspectos específicos
relacionados con el diseño, desarrollo e implementación del API Gateway
basado en arquitectura REST. Este enfoque es necesario debido a que el
proyecto implica la recopilación y análisis de datos numéricos que permitan
validar su funcionalidad, rendimiento y eficacia en la centralización de recursos
empresariales. Al trabajar con métricas precisas, se podrán evaluar
indicadores clave, como el tiempo de respuesta de los endpoints, la capacidad
de manejo de solicitudes simultáneas y el nivel de mejora en la gestión de los
procesos empresariales.
Además, el análisis cuantitativo resulta fundamental en este contexto, ya
que permite realizar pruebas de carga y estrés sobre la API Gateway,
asegurando que esta cumpla con los estándares de calidad y escalabilidad
requeridos. Este tipo de análisis proporciona resultados objetivos y
reproducibles, necesarios para determinar si la solución tecnológica responde
efectivamente a las necesidades identificadas en la fase de diagnóstico. Por
ejemplo, los datos obtenidos permitirán establecer comparaciones entre el
70
sistema propuesto y otros existentes, validando el impacto positivo de la
implementación.
Por último, el enfoque cuantitativo también facilita la toma de decisiones
basadas en evidencia empírica. Los datos recolectados servirán para
identificar posibles limitaciones y áreas de mejora en el sistema, así como para
justificar su viabilidad técnica y económica. Este enfoque asegura que las
conclusiones derivadas de la investigación sean sólidas y confiables,
contribuyendo no solo al éxito del proyecto, sino también al avance en el
campo de soluciones tecnológicas para pequeñas y medianas empresas.
Técnicas y Metodologías
Las técnicas y metodologías en una investigación son completamente
esenciales para guiar el proceso de recolección y análisis de información de
manera sistemática. De este modo, estas herramientas permiten abordar los
problemas de estudio de forma organizada, asegurando la validez y
confiabilidad de los resultados obtenidos. Según Hernández, Fernández y
Baptista (2014), "las técnicas de recolección de datos son procedimientos
estandarizados que se emplean para recoger información relevante en una
investigación".
En este orden de ideas, en el caso de esta investigación, se emplearán dos
técnicas principales, las cuales son la observación directa y la revisión
documental. Primero, la observación directa se centra en el análisis
sistemático de los procesos y comportamientos en su entorno natural,
mientras que la revisión documental permite recopilar información existente de
fuentes confiables, proporcionando un marco teórico y contextual sólido para
el estudio.
71
Observación Directa
Es una técnica cualitativa que implica examinar fenómenos en su entorno
real, sin la intervención directa del investigador en los eventos observados.
Esta técnica permite captar información rica y contextualizada, lo que la hace
especialmente útil para investigaciones que buscan analizar comportamientos
o procesos específicos. Esto va de la mano con la afirmación de Hernández.
(2014) que dice "la observación es una técnica que consiste en el registro
sistemático, válido y confiable de conductas manifiestas".
Por ende, la observación directa será fundamental en esta investigación
para identificar y analizar los procesos empresariales relacionados con la
centralización de los recursos. Este método permitirá comprender mejor las
necesidades tecnológicas específicas que justifican la implementación del API
Gateway, proporcionando de este modo datos clave para las fases posteriores
del proyecto.
Block de Notas
El bloc de notas es un instrumento esencial para registrar de manera
manual las observaciones realizadas en campo. Este recurso permite
documentar los datos de forma rápida y precisa, incluyendo descripciones de
eventos, procesos y cualquier hallazgo relevante durante la observación.
Según Hernández. (2014), "los instrumentos manuales como el bloc de notas
son prácticos para registrar datos de manera flexible y detallada durante el
trabajo de campo". Además, este instrumento facilita la organización de la
información recolectada, permitiendo de esta manera al investigador identificar
patrones o detalles relevantes al momento de realizar el análisis. También, su
portabilidad lo convierte en una herramienta ideal para registrar datos en
72
tiempo real, asegurando que no se pierdan detalles importantes del contexto
observado.
Revisión Documental
La revisión documental es una técnica que permite recopilar y analizar
información preexistente contenida en fuentes como libros, artículos
científicos, informes y documentos técnicos. Esta técnica es útil para
contextualizar la investigación, identificar antecedentes y construir un marco
teórico sólido. Cabe destacar que, esto concuerda con lo que menciona
Hernández (2014) "la revisión documental es una técnica que consiste en el
análisis sistemático de documentos relevantes para el problema de
investigación".
En otro contexto, para esta investigación, la revisión documental será
empleada para analizar recursos relacionados con la arquitectura de API
Gateways además de los estándares tecnológicos y mejores prácticas en la
gestión de recursos empresariales. Lo anteriormente mencionado permitirá
identificar aquellos elementos clave que serán considerados durante el diseño
e implementación de dicha solución tecnológica.
Web
La web será una fuente primaria de información en la revisión documental,
facilitando el acceso a artículos científicos, estándares tecnológicos y recursos
actualizados sobre API Gateways y su implementación. Según Hernández et
al. (2014), "el acceso a fuentes digitales permite una revisión más amplia y
actualizada de la literatura existente". Por ende, utilizar la web como
instrumento de investigación permitirá acceder a una amplia gama de recursos
73
internacionales, asegurando que la solución propuesta esté alineada con las
tendencias y estándares actuales en el ámbito tecnológico. Además, esta
herramienta proporciona rapidez y eficiencia en la búsqueda y recopilación de
información relevante.
Fases o Etapas del Desarrollo de la Metodología
Herramientas Que Aplicar
Validez y Confiabilidad
Validez
Confiabilidad
Cronograma de Actividades
74
REFERENCIAS
Adetunji, D. (2024, 10 septiembre). What is an API Gateway and Why is it Useful?
freeCodeCamp.org.
Recuperado
30
de
octubre
de
2024
https://www.freecodecamp.org/news/what-are-api-gateways/
Adler,
J.
(2024,
22
mayo).
¿PUEDE
LA
INTELIGENCIA
ARTIFICIAL
TRANSFORMAR EL MUNDO DEL ARTE? Artishock Revista. Recuperado 30
de octubre de 2024. https://artishockrevista.com/2024/05/22/puede-lainteligencia-artificial-transformar-el-mundo-del-arte/
An Introduction to Database Systems, 8th Edition, C J Date.pdf. (s. f.). Google Docs.
Recuperado
5
de
noviembre
de
2024
https://docs.google.com/file/d/0B9aJA_iV4kHYR1I1Q1MxQ2VzX0U/edit?
resourcekey=0-m-SoWfxx0CbK6tjYrMttow
Booch, G., Rumbaugh, J., & Jacobson, I. (1999). Unified Modeling Language User
Guide, the (2nd Edition) (Addison-Wesley Object Technology Series).
ResearchGate.
Recuperado
15
de
noviembre
de
2024
https://www.researchgate.net/publication/234785986_Unified_Modeling_
Language_User_Guide_The_2nd_Edition_AddisonWesley_Object_Technology_Series
Colmenares, A. F. C., Quero, V. R. D., & Haydee, R. H. R. (2023). Fundamentos en
la generación de teorías. Revista Digital del Doctorado En Educación de la
Universidad Central de Venezuela, 9(17). Recuperado 30 de octubre de 2024
https://doi.org/10.55560/arete.2023.17.9.1
Courtois, S. (2023, 7 septiembre). How To Choose the Right API Gateway
Architecture for Your Company. SnapLogic. Recuperado 30 de octubre de
2024
https://www.snaplogic.com/blog/choose-right-api-gateway-
architecture
Data Warehouse vs. Transactional Databases. (s. f.). Sophia. Recuperado 30 de
otubre
de
2024
https://app.sophia.org/tutorials/data-warehouse-vs-
transactional-databases
DB-Elmasri Navathe - Fundamentals of Database Systems.pdf. (s. f.). Google Docs.
Recuperado
1
de
noviembre
de
2024
https://docs.google.com/file/d/0B5phH0ROMomBOGppMjFPcUNwakk/ed
it?resourcekey=0-gQDjePu2CxiL-q7UV1uaxA
DiNucci, D. D. (Ed.). (1999, abril). Web 2.0 - Web Design Museum. Web Design
Museum;
D.
DiNucci.
Recuperado
5
de
noviembre
de
2024,
de
https://www.webdesignmuseum.org/web-design-history/web-2-0-1999
GeeksforGeeks. (2024, 17 octubre). Package Diagram – Unified Modeling Language
(UML).
GeeksforGeeks.
Recuperado
15
de
noviembre
de
2024
https://www.geeksforgeeks.org/package-diagram-introductionelements-use-cases-and-benefits/
Granger, N. (2024, 21 abril). Understanding Transactional Databases and Data
Warehouses - iheavy. iheavy. Recuperado 5 de noviembre de 2024
https://www.iheavy.com/transactional-databases-and-data-warehouses/
Jabbour, G. (2022, 19 septiembre). “Reinventarse o morir”: el arte y las nuevas
tecnologías.
Expansión.
Recuperado
5
de
noviembre
de
2024
https://expansion.mx/tecnologia/2022/09/19/arte-y-rv-ra-ia
Kong. (s. f.). What is an API Gateway? Core Fundamentals and Use Cases. Kong Inc.
Recuperado 30 de octubre de 2024 https://konghq.com/blog/learningcenter/what-is-an-api-gateway
76
Li, R. (2020, 14 mayo). The Past, Present, and Future of API Gateways. InfoQ.
Recuperado 5 de noviembre de 2024 https://www.infoq.com/articles/pastpresent-future-api-gateways/
Load Balancing 101 - Learn all about load balancers | VMware. (s. f.). Recuperado 30
de octubre de 2024 https://www.vmware.com/topics/load-balancing
Manuel Castells - La dimensión cultural de Internet. (s. f.). Recuperado 5 de
noviembre
de
2024
https://www.uoc.edu/culturaxxi/esp/articles/castells0502/castells0502.ht
ml
P. Rodriguez, & A. Rivas. (2023). Ingeniería: mejora continua y adaptación al cambio.
Magazín Universitario 2023. Recuperado 5 de noviembre de 2024
https://revistas.uam.edu.ve/magazin/article/download/19/32/67
Partner, R. C., & Partner, R. C. (2024, 10 octubre). ¿Qué es una API? Definición,
tipos de API y ejemplos de uso. Channel Partner. Recuperado 30 de octubre
de
2024
https://www.channelpartner.es/corporate/especiales-
corporate/que-es-api-como-funciona-tipos-ejemplos/
Qué es el lenguaje unificado de modelado (UML). (s. f.). Lucidchart. Recuperado 5
de noviembre de 2024 https://www.lucidchart.com/pages/es/que-es-ellenguaje-unificado-de-modelado-uml
¿Qué
es
una
API?
(s. f.).
Recuperado
30
de
octubre
de
2024
https://www.redhat.com/es/topics/api/what-are-applicationprogramming-interfaces
The Couchbase Blog. (2024, 1 mayo). Database vs. Data Warehouse: Differences
Between Them, Use Cases, Examples. Recuperado 5 de noviembre de 2024
https://www.couchbase.com/blog/database-vs-data-warehouse/
77
Tutorial sobre diagramas de paquetes. (s. f.). Lucidchart. Recuperado 15 de
noviembre
de
2024
https://www.lucidchart.com/pages/es/que-es-un-
diagrama-de-paquetes-uml
Using API Gateway as a Single Entry Point for Web Applications and API
Microservices | Amazon Web Services. (2020, 10 abril). Amazon Web
Services.
Recuperado
5
de
noviembre
de
2024
https://aws.amazon.com/es/blogs/architecture/using-api-gateway-as-asingle-entry-point-for-web-applications-and-api-microservices/
Vahia, S. (2024, 9 enero). Unleashing the Power of API Gateway: A Comprehensive
Guide.
Sage
IT.
Recuperado
5
de
noviembre
de
https://sageitinc.com/reference-center/what-is-an-api-gateway
78
2024.
Descargar