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.