Está en la página 1de 61

DISEÑO DE UN SISTEMA DISTRIBUIDO PARA MEJORAR EL PROCESO

DEL APOYO ALIMENTARIO

LINA GERALDINE GOMEZ PEDRAZA - 20211678026


JUAN SEBASTIAN RODRIGUEZ VANEGAS - 20211678020
RAFAEL ANDRÉS MARTÍNEZ RAMIREZ - 20211678028
JUAN SEBASTIAN CASTAÑEDA GUTIERREZ - 20211678039
MICHAEL ESTEBAN MUÑOZ PACHÓN - 20211678041

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

INGENIERIA EN TELEMATICA

BOGOTÁ

2021

1
DISEÑO DE UN SISTEMA DISTRIBUIDO PARA MEJORAR EL PROCESO
DEL APOYO ALIMENTARIO

LINA GERALDINE GOMEZ PEDRAZA - 20211678026


JUAN SEBASTIAN RODRIGUEZ VANEGAS - 20211678020
RAFAEL ANDRÉS MARTÍNEZ RAMIREZ - 20211678028
JUAN SEBASTIAN CASTAÑEDA GUTIERREZ - 20211678039
MICHAEL ESTEBAN MUÑOZ PACHÓN - 20211678041

PRESENTADO A:
MIGUEL ANGEL LEGUIZAMON PAEZ
ISMAEL ANTONIO ARDILA SANCHEZ

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

INGENIERIA EN TELEMATICA

BOGOTÁ

2021

2
CONTENDIO

1. Introducción
2. Objetivos
2.1. Objetivo General
2.2. Objetivos Específicos
3. Marco Teórico
3.1. Marco Conceptual
3.1.1. Sistema Distribuido
3.1.2. Características De Un Sistema Distribuido
3.1.3. Base De Datos Distribuida
3.1.4. Middleware
3.1.5. Web Service
3.1.6. Servicios Web Rest
3.1.7. Tgs
3.1.8. Sistema
3.2. Marco Referencial
4. Caracterización Del Sistema Actual
5. Propósito Y Alcance Del Proyecto
6. Diseño Y Descripción Detalla De La Solución
7. Beneficios De La Solución
8. Desarrollo E Implementación De La Solución
9. Componente Sistemas Distribuidos
9.1. Aplicabilidad Del Concepto Y Características De Los Sistemas
Distribuidos
9.2. Arquitectura Cliente Servidor
9.3. Middleware Y Sus Componentes
9.4. Sincronización De Relojes
10. Componente Tgs:
10.1. Análisis De Requerimientos
10.2. Análisis De Requisitos
10.3. Aplicación Conceptos De Tgs:
10.4. Implementar Diagramas Causales Y De Forester, Proyección En
El Tiempo
11. Conclusiones
12. Referencias

3
LISTA DE ILUSTRACIONES

Ilustración 1: Interfaz de registro


Ilustración 2: Interfaz de inicio de sesión
Ilustración 3: Interfaz de solicitud
Ilustración 4: Interfaz conformación de solicitud
Ilustración 5: Interfaz de generación de informe
Ilustración 6: Modelo de servicios
Ilustración 7: Modelo arquitectura cliente-servidor del proyecto
Ilustración 8: Modelo de bases de datos distribuidas

Ilustración 9: Esquema de retroalimentación

Ilustración 10: Rango Apoyo alimentario

Ilustración 11: Diagrama causal


Ilustración 12: Diagrama de forester
Ilustración 13: Proyección de estudiantes con apoyo
Ilustración 14: Proyección de estudiantes que aplican al apoyo

Ilustración 15: Proyección de estudiantes que no toman el apoyo

4
LISTA DE TABLAS

Tabla 1. Operaciones REST

Tabla 2: Jerarquización del sistema

5
1. Introducción

Con el avance de la tecnología, surge la necesidad de tecnificar, y facilitar ciertos


procesos, que en su naturaleza resultan tediosos de llevar y controlar. Es por
esto que se presentan y desarrollan soluciones tecnológicas. Actualmente el
apoyo alimentario en la Universidad Distrital se maneja con listas físicas de
asistencia, motivo por el cual retrasa el proceso, afectando la persistencia y la
integridad de los datos. Así mismo la entrega del apoyo alimentario toma
demasiado tiempo, factor en el cual se ve afectado tanto para la comunidad
estudiantil como para los encargados de prestar el servicio, que tendrán que
recopilar los datos solicitados de forma manual al final del proceso a una base
de datos para realizar un informe previo a la institución.

De este modo, se busca plantear una solución, implementando un sistema


distribuido el cual permita proveer este servicio, y dar cara al tedioso y demorado
proceso, a la vez de conectar a todos los estudiantes posibles para tener un
control considerable de tiempos, accesos y datos necesarios para el final del
procedimiento, este sistema estará compuesto por varios ordenadores en las
diferentes facultades de la universidad, además de brindar un fácil acceso a todo
tipo de información y así realizar una recopilación de datos, para hacer su
respectivo control y gestión.

6
2. Objetivos
2.1. General

Diseñar un sistema distribuido a lo largo de las sedes de la Universidad


Distrital Francisco José de Caldas, que permita sistematizar y fortalecer el
proceso de apoyo alimentario que brinda la institución.

2.2. Específicos
• Establecer una base de datos distribuida, que permitan llevar control
sobre la información de los estudiantes que hacen uso de este servicio.
• Diseñar aplicativo web que esté ligado al sistema distribuido que
permita llevar control de turnos a la hora de hacer uso del servicio, que
facilite la generación de recibos de pago del apoyo alimentario y brinde
las herramientas necesarias para la elaboración de informes y
estadísticas finales

7
3. Marco Teórico
3.1. Marco conceptual:
3.1.1. Sistema distribuido:
Un sistema distribuido es un conjunto de ordenadores que trabajan juntos
de forma coordinada, a través del intercambio de mensajes, para
conseguir un objetivo. En dicho sistema, el estado y los programas se
guardan en múltiples ordenadores. A pesar de que los procesos que
tienen lugar están separados entre los diferentes participantes, para el
usuario parece que está trabajando con un único ordenador.
3.1.2. Características de un sistema distribuido:

Heterogeneidad: Es la capacidad del sistema distribuido de poder contar


con diferentes partes en cuanto a su composición, es decir, soporta
diferentes sistemas operativos, lenguajes de programación, redes y
hardware, que mediante los protocolos de comunicación de Internet
suplen todo tipo de interacción y a través del middleware se completa de
suplir cualquier tipo de disparidad en cuanto a su uso.

Extensibilidad: Determinado como la capacidad del sistema distribuido


de poder añadir o quitar componentes sin ningún tipo de problema para
su constante mejora.

Escalabilidad: Comprendido como la suficiencia del sistema distribuido


de poder añadir más usuarios a su sistema sin ningún tipo de problema
en cuanto a rendimiento y costos, por ejemplo, un alza de visitas en la
página web no debería suponer mayor problema si el sistema distribuido
es escalable, ya que está preparado para este tipo de sucesos.

Seguridad: Busca tres factores principales, confidencialidad (protección


contra el descubrimiento por individuos no autorizados); integridad
(protección contra la alteración o corrupción); y disponibilidad (protección
contra interferencia con los procedimientos de acceso a los recursos). Si

8
se cumplen con estas tres características, se considera que el sistema
distribuido es seguro y se puede confiar en éste.

Tratamiento de fallos: Es cuando los miembros que componen el


sistema distribuido son conocedores de los errores que los demás pueden
tener, lo que significa que, si uno de ellos llega a fallar, los demás son
conocedores del hecho, pero el sistema seguirá trabajando
correctamente, aislando el equipo que presenta el error para su pronta
solución o arreglo, sintetizando, no importa si algún miembro del sistema
falla, los demás siguen activos prestando sus servicios.

Concurrencia: Los recursos que son requeridos de forma concurrente en


el sistema deben siempre estar disponibles sin importar la cantidad de
veces que se necesiten. Es necesario que el recurso sea seguro en un
entorno concurrente.

Transparencia: Se dice que un sistema distribuido es transparente,


cuando este es capaz de presentarse ante los usuarios y las aplicaciones
como si fuese un sistema que corre en una sola computadora, y no como
un sistema cuyos procesos y recursos están distribuidos físicamente en
varias computadoras.

Transparencia de Acceso: oculta las diferencias entre la


representación de los datos y la manera en que los recursos son
accedidos.

Transparencia de Ubicación: oculta la localización de los


recursos y permite el acceso a los mismos sin la necesidad de
conocer su localización.

Transparencia de Migración: oculta que un recurso o un cliente


del sistema sea reubicado, lo que permite hacer dichas
reubicaciones sin afectar la operación de los usuarios y los
servicios.

9
Transparencia de Recolocación: oculta que un recurso o un
cliente del sistema pueda moverse a una ubicación diferente
mientras están en uso.

Transparencia de Replicación: oculta la existencia de múltiples


ejemplares del mismo recurso.

Transparencia de Concurrencia: oculta que un recurso sea


compartido por varios usuarios sin interferir entre ellos mismos.

Transparencia Frente a Fallos: oculta el fallo y recuperación de


un} recurso dentro del sistema, dejando que los usuarios terminen
sus tareas a pesar de los fallos de hardware o software que
pudieran presentarse.

Transparencia de Persistencia: oculta si un recurso (de software)


esta almacenado en memoria o en disco.

3.1.3. Base de datos distribuida:

Son un grupo de datos que pertenecen a un sistema, pero a su vez está


repartido entre ordenadores de una misma red, ya sea a nivel local o
cada uno en una diferente localización geográfica, cada sitio en la red
es autónomo en sus capacidades de procesamiento y es capaz de
realizar operaciones locales y en cada uno de estos ordenadores debe
estar ejecutándose una aplicación a nivel global que permita la consulta
de todos los datos como si se tratara de uno solo.
Características de las BDD:

● Disponibilidad básica: Los datos siempre estarán disponibles


mientras la consistencia lo permita.
● El estado de la información cambiará en el tiempo al no existir
consistencia en la información.

10
● Estos sistemas garantizan consistencia en algún tiempo en el
futuro

3.1.4. Middleware:

Es un software que asiste a una aplicación para interactuar o comunicarse


con otras aplicaciones, o paquetes de programas, redes, hardware o
sistemas operativos. Esto simplifica el trabajo de los programadores en la
compleja tarea de generar las conexiones y sincronizaciones que son
necesarias en los sistemas distribuidos. De esta forma, se provee una
solución que mejora la calidad de servicio, así como la seguridad, el envío
de mensajes, la actualización del directorio de servicio

3.1.5. Web Service:

Un Web Service, o Servicio Web, es un método de comunicación entre


dos aparatos electrónicos en una red. Es una colección de protocolos
abiertos y estándares usados para intercambiar datos entre aplicaciones
o sistemas. Las aplicaciones escritas en varios lenguajes de
programación que funcionan en plataformas diferentes pueden utilizar
web services para intercambiar información a través de una red. La
interoperabilidad, por ejemplo, entre Java y Python o Windows y Linux se
debe al uso de estándares abiertos.

Componentes de un web service:

Servicio: Es la función que se ofrece a los solicitantes que cumplen con


los requisitos mínimos que especifica el proveedor del servicio

Registro de servicios: Es un ente donde se encuentran las descripciones


de servicios, este ente puede ser consultado tanto por los proveedores de
servicios como por los solicitantes.

11
Consumidor: El consumidor es quien utiliza el servicio. Se puede ver
desde 2 puntos de vista: desde el punto de vista de arquitectura y desde
el punto de vista comercial.

Proveedor: El proveedor es quien publica un servicio. Se puede ver


desde 2 puntos de vista: desde el punto de vista de arquitectura y desde
el punto de vista comercial.

3.1.6. Servicios web REST:

REST es una interfaz para conectar varios sistemas basados en el


protocolo HTTP (uno de los protocolos más antiguos) y nos sirve para
obtener y generar datos y operaciones, devolviendo esos datos en
formatos muy específicos, como XML y JSON.

A diferencia de SOAP, más que un protocolo es una definición de


arquitectura donde nos indica cómo realizar el intercambio y manejo de
datos a través de servicios web. A aquellos servicios web que siguen su
definición se les conoce como RESTful Web services.

Servicios RESTFul:

Los servicios Web RESTful se basan en recursos. Un recurso es una


entidad, la cual se almacena principalmente en un servidor y el cliente
solicita el recurso utilizando servicios Web RESTful.

Características Servicios web REST:

1. PROTOCOLO CLIENTE/SERVIDOR SIN ESTADO: Cada petición


HTTP contiene toda la información necesaria para ejecutarla, por
tanto, esto permite que ni cliente ni servidor necesiten recordar
ningún estado previo. No obstante, existen algunas excepciones y
hay algunas aplicaciones HTTP que incorporan memoria caché,
para que así, el cliente pueda ejecutar en un futuro la misma
respuesta para peticiones idénticas.

12
2. CUATRO OPERACIONES MÁS IMPORTANTES: Las
operaciones más importantes relacionadas con los datos en
cualquier sistema REST y la especificación HTTP son cuatro;
POST (crear), GET (leer y consultar), PUT (editar) y DELETE
(borrar).
3. OBJETOS EN REST MANIPULADOS CON URI: La URI es el
identificador único de cada recurso de un sistema REST. Esta, nos
facilita el acceso a la información, para poder modificarla o borrarla.
También para compartir su ubicación exacta a terceros.
4. INTERFAZ UNIFORME: Para poder realizar una transferencia de
datos en un sistema REST, este aplica acciones concretas (POST,
GET, PUT y DELETE) sobre los recursos, siempre y cuando estén
identificados con una URI. Esto lo que permite es facilitar la
existencia de una interfaz uniforme que sistematiza el proceso con
la información.
5. SISTEMA DE CAPAS: Su estructura o arquitectura es jerárquica
entre sus componentes, y cada una de estas capas, lleva a cabo
una funcionalidad dentro del sistema REST.
6. UTILIZACIÓN DE HIPERMEDIOS: El concepto hipermedio
utilizado en los casos de API REST sirve para explicar la capacidad
de un interfaz de desarrollo de aplicaciones para proporcionar al
cliente y al usuario los enlaces adecuados, y ejecutar acciones
concretas sobre los datos.

13
Operaciones RESTFul:

OPERACI MÉTODO URI PARÁMETROS RESULTADO


ÓN HTTP

Listar GET /{recurso} No aplica Lista del tipo de


recurso

Crear POST /{recurso} Dentro del Se crea un nuevo


cuerpo en el recurso
POST

Leer GET /{recurso}/{recurso_id} No aplica Recurso en función al


id

Actualizar PATCH/PU /{recurso}/{recurso_id} Se pasan Se


T usando una actualiza/reemplaza
cadena de el recurso
consulta

Borrar DELETE /{recurso}/{recurso_id} No aplica Se elimina el recurso


en función al id

Tabla 1. Operaciones REST

3.1.7. Teoría general de sistemas:

La Teoría General de Sistemas (TGS) es un esfuerzo de estudio


interdisciplinario que trata de encontrar las propiedades comunes a
entidades, los sistemas, que se presentan en todos los niveles de la
realidad, pero que son objeto de disciplinas académicas diferentes. Su
puesta en marcha se atribuye a Ludwig Von Bertalanffy.

La TGS debería constituirse en un mecanismo de integración entre las


ciencias naturales y sociales y ser al mismo tiempo un instrumento básico
para la formación y preparación de científicos.

14
3.1.8. Sistema:
Un sistema es un conjunto de "elementos" relacionados entre sí, de forma
tal que un cambio en un elemento afecta al conjunto de todos ellos. Los
elementos relacionados directa o indirectamente con el problema, y sólo
estos, formarán el sistema que vamos a estudiar.

Entrada de un sistema:

Son los ingresos del sistema. Constituyen la fuerza de arranque que


suministra al sistema sus necesidades operativas. Pueden ser recursos
materiales, recursos humanos o información. Las entradas pueden
clasificarse de la siguiente manera:

● En serie: es el resultado o la salida de un sistema anterior con el


cual el sistema en estudio está relaciona en forma directa.
● Aleatorio o al azar: representan entradas potenciales para un
sistema, esto significa que pueden o no llegar.
● Retroacción o retroalimentación: son entradas que modifican el
funcionamiento futuro del sistema a partir del estudio (control) de
las salidas anteriormente producidas por el propio sistema.

Proceso de un sistema:

Es lo que transforma una entrada en salida. Como tal puede ser una
máquina, un individuo, una computadora, un producto químico, una tarea
realizada por un miembro de la organización, etc.

En la transformación de entradas en salidas podemos conocer o no como


se efectúa esa transformación. Cuando se conocen: las entradas, las
salidas y el proceso que transforma las entradas en salidas decimos que
este proceso se denomina "caja blanca". Cuando por el contrario se
conocen las entradas y las salidas, pero no se conoce en detalle el
proceso mediante el cual las entradas se transforman en salidas, decimos
que se trata de una "caja negra".

15
Salida de un sistema:

Son los resultados que se obtienen de procesar las entradas. Las mismas
son el resultado del funcionamiento del sistema o, el propósito para el cual
existe el sistema. Las salidas de un sistema se convierten en la entrada
de otro sistema, que la procesa para convertirla en otra salida, repitiendo
este ciclo indefinidamente

Propiedades de un sistema:

● Retroalimentación: Es cuando las salidas de un proceso vuelven


a ingresar al sistema como insumo o información.
○ Retroalimentación positiva: Se encarga de amplificar o
potenciar ciertos cambios o desviaciones introducidos en un
sistema, para que este pueda evolucionar o crecer hacia un
nuevo estado de equilibrio, diferente del anterior. Permite el
control de un sistema y que él mismo tome medidas de
corrección con base a la información retroalimentada.
○ Retroalimentación negativa: La retroalimentación
negativa está asociada a los procesos de autorregulación u
homeostáticos. los sistemas con retroalimentación negativa
se caracterizan por la mantención de determinados
objetivos.
● Sinergia: Es el efecto que al juntarse dos organismos o más,
obtienen por trabajar de común acuerdo, la sinergia es la suma de
energías individuales que se multiplica progresivamente,
reflejándose sobre la totalidad del grupo.
● Caja negra: Se denomina caja negra a aquel elemento que es
estudiado desde el punto de vista de entradas que recibe y las
salidas o respuestas que produce, sin tener en cuenta su
funcionamiento interno. en otras palabras, de una caja negra nos
interesará su forma de interactuar con el medio que le rodea.

16
● Relaciones: Una relación es un vínculo que entrelaza dos o más
elementos que hacen parte del subsistema o de un sistema
complejo.
○ Simbiótica: Tipo de relación en donde al menos un sistema
de los involucrados obtiene ventajas de la relación.
○ Sinérgica: Es la relación que no es necesaria para el
funcionamiento, pero sí resultaría útil.
○ Superflua: Se utiliza cuando el sistema está en
funcionamiento o esté preparado para alguna eventualidad.
● ·Rango: Es la jerarquización que existe entre los diferentes
subsistemas que contiene. Indica la jerarquía.
● Recursividad: La recursividad significa el hecho de que un
sistema, este compuesto a su vez de objetos que también son
sistemas. en general que un sistema sea subsistema de otro más
grande. Representa la jerarquización de todos los sistemas
existentes es el concepto unificador de la realidad y de los objetos.
● Homeostasis: Es una propiedad de los sistemas que definen su
nivel de respuesta o de adaptación ante los cambios del ambiente.
● Entropía: Es el desgaste que presenta el sistema en el transcurso
del tiempo o por su constante funcionamiento. Los sistemas
altamente entrópicos tienden a desaparecer por no tener la
capacidad de contrarrestar su desgaste
● Jerarquía: Organización de elementos del sistema en una escala
ordenada y subordinante según un criterio de mayor o menor
importancia o relevancia dentro de la misma.
● Equifinalidad: Característica de sistemas abiertos, en los que se
busca obtener un objetivo por diversos caminos
● Neguentropía: Mecanismo por el cual el sistema pretende
subsistir, busca estabilizarse ante una situación caótica.
● Permeabilidad: La permeabilidad de un sistema mide la
interacción que este recibe del medio, se dice que a mayor o menor
permeabilidad del sistema el mismo será más o menos abierto.

17
● Isomorfismo: se refiere a la construcción de modelos de sistemas
similares al modelo original. Un ejemplo, un corazón artificial es
isomórfico respecto al órgano real
● Integración e independencia: Se denomina sistema integrado
aquel en el cual su nivel de coherencia interna hace que un cambio
producido en cualquiera de sus subsistemas produzca cambios en
los demás subsistemas y hasta en el sistema mismo
● Centralización: Un sistema se dice centralizado cuando tiene un
núcleo que comanda a todos los demás, y estos dependen para su
activación del primero, ya que por sí solos no son capaces de
generar ningún proceso.
● Descentralización: Los sistemas descentralizados son aquellos
donde el núcleo de comando y decisión está formado por varios
subsistemas. En dicho caso el sistema no es tan dependiente, sino
que puede llegar a contar con subsistemas que actúan de reserva
y que sólo se ponen en funcionamiento cuando falla el sistema que
debería actuar en dicho caso.
● Holismo: El holismo es la idea de que las propiedades de un
sistema no pueden determinarse con la simple suma de sus partes
(o analizando sus partes de forma individual); sino que las partes o
componentes deben verse como un todo
● Armonía: Es la propiedad de los sistemas que mide el nivel de
compatibilidad en su medio o contexto. Un sistema altamente
armónico es aquel que sufre modificaciones en su estructura,
proceso o características, en la medida en que el medio se lo exige,
y es estático cuando el medio también lo es; de ahí que ocurran
modificaciones en el sistema para lograr el alcance de los objetivos.
● Finalidad: La Finalidad es un principio de la Teoría General de
Sistemas que describe cómo los sistemas orgánicos y sociales
siempre están orientados hacia un objetivo común.

Sistema abierto: Los sistemas abiertos, son aquellos que intercambian


una gran cantidad de materia y energía con el exterior. Elementos como

18
la temperatura o la presión atmosférica, por ejemplo, entran en juego sólo
cuando se asume la condición del sistema de influir por factores externos.

Sistema cerrado: Los sistemas cerrados, no presentan intercambio con


el medio ambiente que los rodea, son herméticos a cualquier influencia
ambiental. No reciben ningún recurso externo Son aquellos sistemas cuyo
comportamiento es totalmente determinado y programados y que operan
con muy pequeño intercambio de materia y energía con el medio
ambiente.

3.2. Marco referencial o estado del arte:

Dentro del mundo laboral y académico, ya existen productos y propuestas


que, de alguna manera u otra, nos permiten orientar nuestro sistema.

Inicialmente, se puede evidenciar la presencia del uso de artefactos


tecnológicos que han permitido el desarrollo de diversos sistemas robustos
en el manejo de información, lo que ha posibilitado el desarrollo de procesos
más accesibles y factibles para las diferentes entidades públicas y privadas.

Uno de los ejemplos principales, es el desarrollo por parte de CIEL


INGENIERIA, de DIGITURNO, este es un sistema inteligente que optimiza
los canales de atención a través de tecnologías de IA y machine learning,
logrando mejorar los niveles de servicio y la experiencia del Cliente, en sí,
DIGITURNO se configura como una solución directa a las filas extensas y sin
orden dentro de cualquier institución, fue diseñada con el objetivo de poder
solicitar, por medio de una aplicación o plataforma web, cierto turno que le
permita realizar algún proceso o solicitud dentro de una variedad amplia de
instituciones, además, con todas la tecnologías que tiene implementadas,
permite a aquellas compañías que hagan uso de ella, realizar proyecciones
acerca de la demanda de sus servicios, además de la generación de
estadísticas, para la recopilación y manejo de esos datos específicos.

Por otro lado, una de las principales entidades en usar este tipo de tecnología
fue en la Registraduría Nacional de Colombia, en donde se almacenan

19
abundantes datos/informaciones dactilares de cada ciudadano(a). En el cual
a partir de la creación de este sistema, permite así en el 2009 en los puestos
de votación para elección de alcalde del municipio de Belén, departamento
de Caquetá, un claro ejemplo, en donde gracias a la diversidad de tecnología
que se crea con el tiempo y además en donde las entidades junto con la
población participe, permite que el éxito de este tipo de sistemas, que aunque
para los ojos del ciudadano no tiene mucha claridad sobre el funcionamiento
interno, interesa los resultados y la utilidad que puede ser este en su
cotidianidad.

Sumado a lo anterior, el proyecto tiene similitud, en su funcionamiento maneja


el concepto de caja negra, y en el cual puede obtener múltiples beneficios
para la comunidad universitaria en general, esto por medio del uso de
biométricos y en donde el usuario es partícipe principal del funcionamiento
del sistema como tal por medio de la interacción de éste, dando así paso para
el respectivo proceso ( teniendo en cuenta el modelo OSI), en donde
internamente se hace la debida ejecución, análisis, y demás factores a tener
en cuenta, y dar una respuesta al usuario.

Cabe importante resaltar, la realización de proyectos de grado, dentro de la


universidad, que van encaminados al mismo objetivo, la sistematización de
algún proceso interno de la universidad, para que de alguna manera u otra
se vuelva mucho más efectivo, y evite tanto el embotellamiento de personas,
con un manejo mucho óptimo de la data recopilada en el proceso. Por
ejemplo, el proyecto DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO
PARA EL CONTROL DE ACCESO EN LA SEDE DE INGENIERÍA DE LA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS MEDIANTE EL
USO DE TORNIQUETES CONTROLADOS POR CARNET CON
TECNOLOGÍA NFC Y LECTOR BIOMÉTRICO DE HUELLA DACTILAR, se
plantea el desarrollo e implementación de un sistema que controle la entrada
a la facultad de ingeniería, todo por medio de biométricos dactilares, y la
tecnología NFC de los carnets. De esta manera se puede visualizar que

20
existen varias propuestas de solución y soluciones configuradas, para
problemáticas como las expresadas en este proyecto.

4. Caracterización del sistema actual (problema o necesidad a resolver)

La universidad Distrital Francisco José de Caldas, a través de una de sus


dependencias conocida como Bienestar Institucional, brinda un servicio a toda la
comunidad universitaria llamado “Apoyo alimentario”, el cual consta de la entrega
de almuerzos a los estudiantes de las distintas sedes de la universidad.

Todo este proceso empieza por la diligencia de unos formatos para aplicar al
servicio, una vez aprobado éste, se establece el tipo de servicio con el cual
contará el estudiante durante el semestre, el cual permitirá generar un recibo de
pago con el valor consumido. Dicho recibo se entrega a final de semestre.

El proceso de entrega actual del apoyo alimentario (pre-pandemia) se describe


de la siguiente forma:

• La franja de entrega del apoyo alimentario se realiza desde las 11:30 am


hasta las 15:00, en la cual el estudiante se acerca al punto realizando fila.
• Cuando sea su turno el estudiante da unos datos, que son; nombre,
código, número telefónico, carrera y firma.
• El estudiante recibe su almuerzo y así termina el proceso de entrega.
• A final de semestre, el estudiante recibe por medio de correo electrónico
el recibo con el valor consumido, generado por Bienestar Institucional.

Una vez descrito el proceso actual, describiremos los principales problemas que
identificamos:

● Las filas que se realizan para recibir el apoyo alimentario, específicamente


entre las 12:00 y las 14:00 son muy extensas, generando un retraso en la
entrega del mismo.

21
● Las listas que se mencionaron en el punto dos (2) son físicas y se deben
llenar cada vez que el estudiante pide el apoyo alimentario, lo cual es un
proceso tedioso para el estudiante como para los encargados de las listas,
ya que no hay un control eficiente sobre aquellos estudiantes que vuelvan
a pedir el apoyo.

Además de lo mencionado anteriormente, los registros físicos son más


difíciles de interpretar, ya sea por una mala ortografía, mala diligencia o
que las listas en algún punto se pierdan, rompan o se ensucien.

Tampoco los registros físicos (hojas) contribuyen al medio ambiente, y su


almacenamiento puede ocupar un gran espacio.

22
5. Propósito y alcance del proyecto

El propósito de este proyecto es mejorar el servicio del apoyo alimentario, ya que


actualmente la entrega de esta toma demasiado tiempo y resulta algo tedioso
tanto para los estudiantes como para los encargados de la entrega, como estos
datos son recolectados en listas físicas tendrán que subirlo manualmente para
su respectivo análisis y gestión para control del mismo. Implementando un
sistema distribuido para la interacción de los datos entre las varias facultades.
Dicho sistema contará con diferentes características que permitirán establecer
comunicación y acceso de diferentes usuarios a través de un conjunto de
ordenadores independientes conectados a una misma red, que nos permitirá
incrementar la capacidad, velocidad de procesamiento y almacenamiento de los
datos recolectados.

Este sistema contará con middleware que nos dará la capacidad de compartir
recursos e información por medio de una interfaz, que, conectada a una base de
datos distribuida, podrá almacenar la información de cada una de las facultades,
y estar en la capacidad de generar solicitudes y peticiones para realizar el
consumo de ciertos recursos entre los usuarios y de esta forma tener un fácil
acceso a la información pertinente de los servicios que presta bienestar
institucional.

A este sistema distribuido va a estar enlazado un aplicativo web que mejorará la


recolección de datos a la hora de reclamar este servicio, donde los estudiantes
tendrán que pasar un biométrico (tarjeta chip o huella digital) y el sistema lo
almacena directamente a la base de datos, segunda función, desde cualquier
lugar podrá consultar información básica sobre la cantidad de almuerzos
reclamados y datos personales en el rol de estudiante.

23
6. Diseño y descripción detallada de la solución

Teniendo en cuenta la problemática anteriormente descrita, se propone la


implementación de un sistema distribuido, compuesto por:

Sistema Web:

Se plantea el desarrollo de un sistema de información web, separado por


diferentes módulos y roles:

● Roles:
○ Estudiante:
■ Interfaz para registro: Este módulo el estudiante tendrá la
posibilidad de registrarse a la plataforma, una vez ya sea
beneficiario activo del apoyo alimentario, los datos
necesarios serán: nombres completos, código, correo
institucional y contraseña. Posterior a este proceso se
enviará un correo de confirmación, para que quede activo
en la plataforma de ella
■ Interfaz para inicio de sesión: Este módulo le permitirá al
estudiante, ingresar sus credenciales, para poder
autenticarse dentro de la plataforma y hacer el uso
correspondiente
■ Interfaz para solicitud de turno: Este módulo le permitirá
al estudiante ingresar, y solicitar un turno para poder ir a
retirar el apoyo alimentario, esto dentro de las franjas
establecidas y desde la facultad en la que se encuentre, sin
importar si no es su facultad habitual
○ Administrador:

24
■ Interfaz para inicio de sesión: Este módulo le permitirá al
administrador, ingresar sus credenciales, para poder
autenticarse dentro de la plataforma y hacer el uso
correspondiente de ella
■ Interfaz para generación de informe: Este módulo se
encargará de recopilar la información de las bases de datos,
creando un informe detallado de fácil comprensión para su
respectivo control y proceso.

Sistema de control biométrico:

Se plantea, el desarrollo de un sistema, que permita el manejo de los sensores


biométricos a utilizar, estos con el uso del biométrico, se busca evitar que los
estudiantes al solicitar su apoyo alimentario tengan que diligenciar las listas, sino
que el poner su huella, el sistema valide si el estudiante hace parte o no del
apoyo alimentario.

● Interfaz para recolectar los datos cuando se reclame el servicio: este


módulo se encargará de recolectar la información del estudiante una vez
este haya pasado, el lector biométrico o la tarjeta chip, para solicitar el
almuerzo. Estos datos se irán almacenando en una base de datos
distribuida alojada en la facultad.

Bases de datos

La finalidad en este apartado es realizar una descripción de la posible


implementación de una base de datos en el sistema, en donde incluye una
respectiva estructura de almacenamiento de datos/información además del
método de acceso que tendrán aquellos actores que tengan autorización de usar
esta información de manera eficiente para su respectivo proceso a realizar.

En concreto, el propósito es tener en cuenta la introducción de redundancia


controlada de datos, monitorizar y compartir información de este el sistema final.

25
Personal:

● Administrativo: son los encargados de validar la información de las


bases de datos, para generar los informes correspondientes y así
establecer el presupuesto para el siguiente semestre.

26
7. Beneficios de la solución

Los beneficios que nos ofrece la solución son:

● Persistencia de la información sobre los estudiantes que hacen uso del


apoyo alimentario.
● Mayor control en la entrega y distribución del apoyo alimentario.

● Agilizar el proceso de digitalización de datos

● Generación de informes mas consistentes y respaldados, que brinden una


herramienta adecuada de análisis y toma de decisiones

27
8. Desarrollo e implementación de la solución:

El aplicativo web ligado al sistema distribuido se desarrollará en PHP, junto con


el lenguaje de etiquetas HTML, soportado por el framework BootStrap, además
del uso de JavaScript, soportado por el framework JQuery. A continuación, se
visualiza los diferentes diseños para las interfaces descritas anteriormente.

Ilustración 1: Interfaz de registro

28
Ilustración 2: Interfaz de inicio de sesión

Ilustración 3: Interfaz de solicitud

Ilustración 4: Interfaz conformación de solicitud

29
Ilustración 5: Interfaz de generación de informe

Junto a esto y no menos importante, la base de datos distribuida será


desarrollada en el motor MySQL, donde permitirá almacenar, en primera
instancia la información básica de cada estudiante beneficiario del apoyo
alimentario, además de esto, se almacenará la información recolectada por el
proceso de entrega del almuerzo, quienes o no asistieron y a qué hora lo hicieron.

El sistema tiene muy presente la arquitectura cliente servidor, que, gracias a su


estructura, nos garantizará una mejor percepción en el proceso de transmisión
de la petición ofreciendo así características como; confiabilidad, integridad y
estabilidad, todo esto regido por los modelos OSI y TCP/IP

Además, dentro del sistema distribuido en la parte del middleware se usarán


servicios web, que, debido a su sencillez y capacidad de comunicar cualquier
tipo de máquina o código, simplificará de forma evidente las peticiones que se
realicen al sistema, además de contar con mecanismos de seguridad eficientes
que mantienen la integridad de los datos, y que facilitan la compartición de
recursos e información por el mismo uso de protocolos como el HTTP.

30
9. Componente Sistemas Distribuidos:

9.1. Aplicabilidad del concepto y características de los Sistemas


Distribuidos

El sistema anteriormente descrito, clasifica como un sistema distribuido,


debido a la naturaleza del mismo, se busca que varios nodos, en este caso
entendidos como estudiantes y personal de bienestar, ubicados en diferentes
puntos geográficos se conecten entre sí, para que puedan compartir tanto
recursos como información que son necesarios para que el objetivo principal
del sistema se cumpla.

● Heterogeneidad

El sistema contará con diferentes tipos de dispositivos conectados,


que evidentemente tienen sus características respectivas en cuanto a
Software y Hardware, dando a entender que el aplicativo integrado al
sistema es de fácil acceso y manejo, permitiendo así que el
intercambio de datos se haga sin importar que tipo de dispositivo lo
está haciendo, y brindar así los resultados esperados.

● Apertura

El sistema distribuido será abierto, ya que permitirá la integración de


varios elementos, tanto en software como en hardware, para mejorar
y dar más capacidad al proceso del apoyo alimentario. Un ejemplo, es
que más adelante se puedan incluir todos los servicios que ofrece
Bienestar Institucional (movilidad, jóvenes en acción, reliquidación,
entre otros) para conformar un sistema en el cual se puedan ejecutar
diferentes procesos relacionados con la universidad, eso sí,
implementando también, diferentes redes con banda ancha,
servidores, estaciones de trabajo, bases de datos, etc. Sin afectar ni
duplicar los datos existentes.

31
● Seguridad

El sistema distribuido tendrá políticas de seguridad, las cuales acogen


a todos los usuarios, así que toda información que sea suministrada al
sistema distribuido será confidencial, tanto para el usuario como para
los administradores del mismo.

Por ejemplo, el sistema estará en la capacidad de validar si el


estudiante está solicitando de nuevo el apoyo alimentario, igualmente
el acceso a las bases de datos

● Escalabilidad

El sistema distribuido propuesto tendrá la capacidad de recibir


múltiples peticiones realizadas por los estudiantes, especialmente
durante la franja de 12:30 a 14:00, en la cual el flujo de solicitudes
puede crecer exponencialmente. Si es necesario, se puede agregar
otro servidor, en el cual pueda agilizar el proceso evitando los cuellos
de botella, tanto en el sistema, como en las filas de entrega.

Así mismo, se podrá enviar y recibir grandes volúmenes de


información, sin que el rendimiento del Sistema Distribuido se vea
afectado.

● Tolerancia a fallos.

El sistema distribuido estará en la capacidad de seguir ejecutándose


correctamente y continuamente, así presente fallas tanto de software
o hardware.

Si llegase a presentar alguna situación que perjudique todo el sistema,


éste tendrá la capacidad de guardar los datos y conservarlos hasta
que se haga un mantenimiento adecuado, por ejemplo, generar
backups de las diferentes bases de datos y de esta forma, los usuarios
puedan obtener su respectiva información.

32
● Concurrencia.

El sistema distribuido será concurrente, un claro ejemplo sería en la


franja de entrega del apoyo alimentario, ya que varios usuarios estarán
solicitando su turno, esto es replicado en todas las facultades a la
misma hora, ejecutando N procesos en el sistema, si llegase a copar
la capacidad del sistema, se podría añadir otro servidor como se había
mencionado anteriormente.

● Compartición de recursos.

El sistema distribuido compartirá recursos entre los componentes del


mismo sistema, desde el intercambio de información con las bases de
datos, hasta el intercambio de datos con los sensores biométricos, son
ejemplos de lo que se puede llegar a compartir dentro del sistema.

● Transparencia
• Acceso

Se podrá acceder al sistema distribuido desde cualquier punto


geográfico, siempre y cuando esté conectado a una red, permitiendo
al usuario acceder e interactuar con el sistema sin importar su punto
de geolocalización.

• Lugar

Para el usuario será irrelevante dónde se almacene la información, un


ejemplo para esto, sería que un estudiante de la facultad tecnológica
puede acceder a sus datos o solicitar el apoyo alimentario, así esté en
otra facultad.

• Concurrencia

Los diferentes procesos que se ofrecen podrán ser usados por


distintos usuarios y podrán obtener la información solicitada sin

33
generar interferencia con los demás usuarios que hagan parte del
sistema.

• Replicación

Independientemente de la ubicación de la información, se podrá


consultar cuando sea solicitada por el usuario, así mismo será
transparente para los usuarios a la hora de ejecutar un proceso.

• Fallos

El sistema seguirá funcionando si alguno de los componentes falla o


deja de funcionar de la manera adecuada, si alguna de las estaciones
de la base de datos deja de estar en línea, los nodos tendrán la
capacidad de conectarse con alguna otra estación, que le permita
funcionar de manera adecuada, donde para el usuario va a ser
transparente en este aspecto.

• Migración

Para el usuario será transparente si la información que transcurre por


el sistema distribuido es trasladada a otro sitio dentro del mismo
sistema, por cualquier motivo (daño, cambio de proveedor, informe de
estadístico)

• Rendimiento

El sistema estará en la capacidad de difundir la carga de las


actividades por realizar entre las diferentes máquinas conectadas de
las facultades, respaldando el respectivo funcionamiento y velocidad
del sistema en el tiempo de respuesta y almacenamiento de
información.

34
• Escalabilidad

En dado caso, que se deba realizar la conexión de otro dispositivo


hacia el sistema para suplir las necesidades que conllevan el gran
número de solicitudes realizadas por el usuario, este no será evidente
para los ojos del usuario, ya que el sistema como tal sigue su
funcionamiento sin interrupción

9.2. Arquitectura Cliente Servidor

Inicialmente para dar un contexto la arquitectura cliente/servidor, es un


modelo de uso distribuido, en el cual se reparten entre el actor o distribuidores
de los servicios y en el cliente, siendo este aquel que realiza las respectivas
peticiones hacia el servicio o servidor, en donde debe atender dichas
demandas de peticiones. Tanto el cliente como el servidor son actores
abstractos que pueden ocupar en una o varias máquinas o dispositivos.

Ahora bien, en importante resaltar que en la esta arquitectura cliente servidor


posee una disposición en general de un sistema multicapa, en donde el
servidor se dispersa o separa en diferentes subsistemas o solicitudes que
pueden efectuados por diversos dispositivos ampliando en grado de
distribución del sistema, o lo también denominado como balanceador de
carga.

Los aspectos que se tienen en cuenta en la elaboración del modelo


cliente/servidor en el proyecto, inicialmente se identifica el tipo de cliente/
usuario que va dirigido en sistema, indiscutiblemente como se ha mencionado
en el transcurso del desarrollo del proyecto, es hacia la comunidad estudiantil
y funcionarios o encargados de prestar el servicio del apoyo alimentario,
supliendo así la necesidad de ofrecer un servicio óptimo, en el cual el usuario
pueda ejecutar las actividades que ofrece el sistema esto a través de una
interfaz gráfica del usuario (GUI) , por ejemplo, en cuestión de unos simples
pasos obtener la reserva del servicio en el apoyo alimentario.

35
Ilustración 6: Modelo de servicios

En base a la ilustración anterior, se puede evidenciar un posible proceso


interno en función de la petición de un servicio de un cliente a través del
sistema hacia el servidor, dando hacia la relación del proceso desde la
entrada hasta la respuesta de este (MVC). A grandes rasgos podemos
encontrar en la siguiente ilustración el funcionamiento de la arquitectura
cliente/servidor en el apoyo alimentario, en el cual se ven presentes en la
parte inferior el área de los clientes y en la parte superior los servidores.

Ilustración 7: Modelo arquitectura cliente-servidor del proyecto

36
Características Cliente - Servidor

Protocolos asimétricos:

En la arquitectura cliente servidor existe la característica protocolos


asimétricos que es donde hay una relación muchos a uno entre los clientes y
un servidor. En nuestro proyecto se evidenciará cuando los estudiantes
inician sesión o realicen alguna petición conforme a sus datos, igual manera
cuando los administradores por medio del aplicativo requieran de un servicio,
el servidor espera pasivamente por las solicitudes de los clientes,

Encapsulación de servicios:

El servidor es un especialista, cuando se le entrega un mensaje solicitando


un servicio, él determina cómo conseguir hacer el trabajo. Los servidores se
pueden actualizar sin afectar a los clientes en tanto que la interfaz pública de
mensajes que se utilice por ambos lados permanece sin cambiar

Integridad

El código y los datos de un servidor se mantienen centralizados, lo que origina


que el mantenimiento sea más barato y la protección de la integridad de datos
compartidos. Al mismo tiempo, los clientes mantienen su independencia y
“personalidad”.

Intercambios basados en mensajes

Fundamentalmente se aplica el concepto de las primitivas de comunicación


y el tipo de reconocimiento de este paquete de mensaje(s) entre el cliente y
el servidor. En síntesis, se habla del Req, Rep, Ack, Aya, Iaa, Ta, y Au,
parámetros en el cual nos permite obtener una mejor claridad desde el envío
de mensaje hasta la recepción y respuesta correspondiente notificando
cualquier novedad presentada en el transporte de este mensaje (solicitud) si
es de manera exitosa o alguna alteración de este. Con lo anterior, se puede
evidenciar en el sistema como mensajes/notificaciones desplegables a la

37
hora de interactuar con este, dando por entendido al usuario que ha ocurrido
con el estado de su solicitud.

Modularidad

Relacionado a la tolerancia a fallos, aunque es complejo pronosticar el tipo


de fallas que se pueden presentar en el sistema, no solo a nivel en el
componente físico sino en el software como tal, entonces al aplicar el
concepto de modularidad permite que, si se llega a presentar una falla en su
totalidad o parcialmente, este tenga un módulo predispuesto en cualquier otro
punto que pueda sustituir la labor hasta que se pueda reparar o añadir un
nuevo dispositivo y retornar su rol respectivo.

Código reutilizable

Como su nombre lo indica, permite que el código sea reutilizado en varios


dispositivos o nodos, esto es posible con la implementación del concepto de
middleware, más exactamente de la web services, en el cual permite que a
través de esta capa proporciona una visión de un sistema único, en el que
sea posible la conexión de varios dispositivos con diferentes S.O (Sistemas
Operativos), permitiendo así que la ejecución del desarrollo del sistema sea
óptimo y se avance en la mejora que desee realizar.

Escalabilidad

En la arquitectura cliente/servidor puede avanzar de dos maneras, horizontal


o vertical. No se puede optar por alguna de ellas, ya que seguramente se
puede denotar ambas en al mismo tiempo o en intervalos de tiempos
diferentes, para ejemplificar un poco, en el caso de la escalabilidad vertical,
para ilustrar un poco se puede observación en el caso de que se quiera
realizar un tipo de migración de información del servidor hacia otra máquina
con mayor capacidad que pueda dar aforo con el número de solicitudes
realizadas y que es muy probable que en el transcurso del tiempo aumente
la cantidad de clientes y por ende el número de peticiones, o en dado caso

38
en vez de un solo dispositivo añadir un gran número de nuevas máquinas
servidoras que cumplan con la misma función mencionada.

Recursos compartidos

El servidor puede proporcionar el servicio a varios clientes al mismo tiempo,


al aplicar el concepto de sistemas distribuidos, implica que las solicitudes
sean repartidas entre los diferentes nodos para no congestionar el sistema,
además de tener la alternativa de acceder a esta información al personal
autorizado para realizar las respectivas labores correspondientes de
Bienestar institucional.

Con respecto a la tecnología cliente/servidor se utilizará:

Servidores de bases de datos

Su funcionalidad es cuando a través de un aplicativo el cliente envía una


solicitud o petición hacia el servidor base de datos (Sql), y en donde el
segundo actor devuelve el resultado correspondiente. En el proyecto, se
visualiza este mismo procedimiento, en el cual el cliente realiza una solicitud
de servicio en el sistema, se envía este mensaje de solicitud por un medio o
canal de comunicación (red) al servidor, este se recepciona y devuelve la
notificación del resultado obtenido, que sería notificando la reserva del
servicio en el apoyo.

Servidores de aplicaciones web.

La solicitud del cliente al servidor es por medio del protocolo HTTP, servidor
en el cual se ajusta al proyecto ya que, al tener diferentes nodos o puntos de
localización tanto de la prestación del servicio en las diferentes facultades
como en la petición de este, sistema por el cual es primordial tener una
conexión con la red de internet.

39
Ilustración 8: Modelo de bases de datos distribuidas

9.3. Middleware y sus componentes

Este sistema contará con middleware que nos dará la capacidad de compartir
recursos e información por medio de una interfaz, que, conectada a una base
de datos distribuida, podrá almacenar la información de cada una de las
facultades, y estar en la capacidad de generar solicitudes y peticiones para
realizar el consumo de ciertos recursos entre los usuarios y de esta forma
tener un fácil acceso a la información pertinente de los servicios que presta
bienestar institucional.

Los servicios web utilizan estándares de internet que nos permiten el envío
de paquetes de información por medio de diferentes equipos conectados a
una red, la cual se almacenará en diferentes bases de datos de cada una de
las sedes de la Universidad Distrital.

Los servicios web nos permitirán integrar diferentes recursos pertenecientes


al proceso de bienestar institucional de una manera eficiente, sin preocuparse
por cómo fueron construidas, dónde residen, sobre qué sistema operativo se
ejecutan o cómo acceder a ellas, esto mediante formatos estandarizados que
interpretan todos los sistemas, permitiéndonos un ahorro en tiempo y
disminuyendo la complejidad del sistema. Precisamente por esta razón es
que los servicios web se consideran integradores, porque permiten crear una
interfaz de acceso a las aplicaciones, sin importar las características de

40
implementación de éstas. el cliente y el servidor apenas han de presentar
rasgos en común para poder comunicarse.

Para ser más específicos, el uso de servicios web tipo REST será lo que
predomine dentro del sistema antes descrito, debido a que hacen uso del
protocolo HTTP, permitiendo el transporte de la información sea mucho más
sencilla, junto a esto, como se mencionó anteriormente estos permiten una
integración y cambio de información muy rápida, todo esto a través de
formatos como XML o JSON, que ayudan a entender y replicar la información
de una manera mucho más eficiente. Además, el desarrollo de servicios
independientes colaborará que si alguno de ellos falla los otros puedan
funcionar de manera adecuada sin que existe algún tipo de error, o alguno de
los procesos de detenga

La interoperabilidad de los Web services puede ser fundamental, ya que nos


permitirá el consumo de clientes en distintas plataformas.

Ventajas

● La ventaja principal de los servicios web es que la comunicación


no depende de una plataforma determinada por lo que el cliente
y el servidor apenas han de presentar rasgos en común para
poder comunicarse.
● Los servicios Web fomentan los estándares y protocolos
basados en texto, que hacen más fácil acceder a su contenido
y entender su funcionamiento.
● Aportan interoperabilidad entre aplicaciones de software
independientemente de sus propiedades o de las plataformas
sobre las que se instalen.

Desventajas

● Para realizar transacciones, no pueden compararse en su


grado de desarrollo con los estándares abiertos de computación
distribuida cómo CORBA.

41
● Al apoyarse en HTTP, pueden esquivar medidas de seguridad
basadas en firewall cuyas reglas tratan de bloquear o auditar la
comunicación entre programas a ambos lados de la barrera.

9.4. Sincronización de relojes

La sincronización de relojes en un contexto distribuido es un tema que


representa la variedad de soluciones que puede haber en función de la
demanda de peticiones a partir de los algoritmos distribuidos. Inicialmente se
debe tener en cuenta la caracterización de dichos algoritmos distribuidos

• La información relevante se distribuye entre varias máquinas.

• Los procesos toman las decisiones sólo con base en la información


disponible en forma local.

• Debe evitarse un único punto de fallo en el sistema.

• No existe un reloj común o alguna otra fuente precisa del tiempo


global.

Se considera para el proyecto usar el algoritmo de Lamport, para precisar un


poco tiene como objetivo alcanzar un ordenamiento de los sucesos en un
sistema distribuido. Ahora bien, en el ámbito de aplicaciones distribuidas en
las cuales el orden de eventos puede llevar a diferentes estados finales, este
algoritmo representa una posible solución; como por ejemplo en el caso de
las transacciones bancarias. Previamente en el contexto del proyecto se
aplicaría el mismo concepto, plasmado en el momento en que se realiza una
petición para tomar el servicio del apoyo alimentario, básicamente su función
es cuando un nodo (haciendo referencia al cliente) llega de primera instancia
o primer lugar en realizar la solicitud al servidor, este es atendido
inmediatamente (también conocido como first come, first served).

42
Con el algoritmo de Lamport, este algoritmo soluciona el problema de la
escalabilidad, ya que solo exige un mensaje entrante y uno saliente para
sincronizar cada máquina, sumado a esto aplica la definición de relojes
lógicos, que dispone para ordenar eventos en ausencia de un reloj común,
permitiendo así que se ejecuten las peticiones o mensajes en un tiempo
establecido y así llevar un monitoreo de la transmisión, recolección de las
solicitudes y tiempos tomados para dar la respectiva respuesta, característica
por el cual puede determinar si el sistema es óptimo en prontitud de solución.

43
10. Componente TGS:
10.1. Análisis de requerimientos:
Actualmente la Universidad Distrital ofrece un servicio denominado como
Apoyo alimentario, para contextualizar es un programa creado con la finalidad
de suplir una de las necesidades diarias del estudiante con mayor
vulnerabilidad socioeconómica y nutricional. Este programa motiva al
estudiante para su permanencia en la Universidad y así poder desarrollar sus
capacidades intelectuales.

La información es ingresada de forma manual, debido a que se debe llevar


un control de asistencia de los usuarios que toman este servicio y en el cual
deben diligenciar por medio de listas físicas, motivo por el cual retrasa el
proceso, afectando la persistencia y la integridad de los datos. Así mismo la
entrega del apoyo alimentario toma demasiado tiempo tanto el ofrecer el
servicio como en el desgaste físico y mental de los funcionarios en el
momento de enviar esta información la red central, encargada de llevar todo
el control y gestión de información de los gastos y presupuestos de la
Universidad y además por parte de los estudiantes en tiempo requerido.

De este modo se toma como referencia este servicio de bienestar institucional


con el fin de plantear un sistema que permita estructurar el proceso de la
entrega del apoyo alimentario, que permita reducir el tiempo de espera y la
efectividad de entrega, así como también la verificación/ veracidad de su
información.
10.2. Análisis de requisitos

Se describe en este apartado los servicios que debe proporcionar el sistema


y las restricciones del mismo

Ambiente físico

● En cada facultad se debe establecer una estación de trabajo,


compuesta por un computador y un biométrico, en cual se encargará

44
de validar la información del estudiante. Éste deberá estar ubicado en
la cafetería de cada facultad.
● Dicha estación debe estar alejada de la zona de alimentos por
cuestiones de salubridad.
● El computador de la estación debe estar conectado directamente a un
modem prestador de servicios de internet para que el proceso sea ágil
y no haya lag en el sistema.
● Se debe revisar las conexiones de cada componente hardware de la
estación, para evitar problemas o fallos durante el proceso de entrega
del apoyo alimentario.
● Se debe limpiar constantemente el biométrico para evitar pérdidas de
tiempo cuando el sensor no reconozca la huella del estudiante.

Funcionalidad

● El estudiante debe ser estudiante activo de la Universidad Distrital.


● El estudiante debe ser admitido para acceder al apoyo alimentario.
● Una vez cumplido el requisito descrito en el anterior punto, el
estudiante debe registrarse en el sistema suministrado por Bienestar
Institucional, con sus nombres y apellidos, carrera, código, número de
teléfono y la huella digital. Dado que el estudiante no complete el
registro, puede acercarse a Bienestar Institucional para terminar el
diligenciamiento.
● El servicio de solicitud del apoyo alimentario funcionará por franjas
horarias, en este caso desde las 11:30 hasta las 14:00 en todas las
facultades, los demás servicios estarán disponibles.

Documentación

● Se requerirá la información relacionada con los estudiantes que


pertenecen al servicio de apoyo alimentario brindado por Bienestar
institucional.

45
Datos

● La entrada de los datos se realizará mediante el registro realizado en


el sistema.
● Todos los datos recolectados serán almacenados en su respectiva
base de datos de acuerdo a la facultad a la que pertenezca el usuario
● La salida de los datos se verá reflejada dependiendo del proceso
ejecutado

Recursos

● Base de datos distribuida.


● Equipos de cómputo, teniendo en cuenta la adecuación del espacio y
componentes electrónicos necesarios para acceder al uso del sistema.

Seguridad

● El acceso al aplicativo del sistema solo será para estudiantes activos


de la Universidad Distrital Francisco José de Caldas.

10.3. Aplicación conceptos de TGS:

¿Qué tipo de sistema es el nuestro?

Nuestro sistema se clasificaría como un sistema abierto debido a que


interactuamos con nuestro entorno, de tal forma que existe un intercambio de
energía o información con los elementos que lo rodean, esto debido a que
hay entradas del sistema que son externas.

Subsistemas

Sistema administrativo: Es el área encargada de la clasificación de la


información obtenida de los estudiantes para la generación de los
respectivos informes y recibos de pago.

Sistema de prestación de servicios: Es el área encargada de la


recepción y validación de los estudiantes, y la entrega del almuerzo.

46
Sistema de solicitud: Es el área encargada de la solicitud del apoyo
alimentario.

Entradas

● Listas: se consideran como entradas las listas con el número


total de admitidos al apoyo alimentario.
● Infraestructura: espacios adecuados para la prestación del
servicio.
● Tecnología: son todos los dispositivos tecnológicos necesarios
para el desarrollo del sistema como tal, por ejemplo: biométricos
y computadores.
● Fuerza de trabajo: es el personal capacitado que interviene en
los procesos realizados en el sistema.
● Data: es la información recolectada por parte del sistema.

Procesos

● Proceso registro de admitidos:


1. Una vez que el estudiante sea admitido por la oficina de
Bienestar Universitario, éste deberá registrarse en el sistema
con los siguientes datos: nombres completos, código, carrera,
clave y correo institucional.
2. Una vez diligenciado el formulario, este deberá enviar la
información y quedará activa su cuenta para posteriormente
solicitar el apoyo alimentario.
● Proceso solicitud apoyo alimentario:
1. El estudiante deberá iniciar sesión en el sistema, una vez
realizado esto se dirige al apartado de “Solicitar turno”
2. Después ir a la ubicación de entrega de almuerzos, pasando la
tarjeta chip o la huella digital el sistema reconoce que ya estás
reclamando el almuerzo
3. Procedes a recibir el almuerzo
● Proceso generación recibo de pago:

47
1. El estudiante deberá iniciar sesión en el sistema, una vez
realizado esto se dirige al apartado de “Recibo de pago”
2. El sistema obtendrá la información que esté almacenada en la
base de datos para su previo cobro.
● Proceso generación de informes:
1. El administrativo encargado de Bienestar Universitario deberá
iniciar sesión en el sistema, una vez realizado esto se dirige al
apartado de “Generación de Informes”
2. Una vez en este apartado, deberá diligenciar unos datos
específicos, los cuales son: la sede o la facultad de la cual
quiere extraer los datos, la fecha en la que quiere obtener los
datos (diario, semanal, mensual o la duración del semestre) y
por último podrá elegir el tipo de formato en la cual quiere
obtener el informe. (PDF o CSV)

Salidas

● Informes de bienestar: es una lista generada con la cantidad de


estudiantes que tomaron el apoyo alimentario durante el semestre.

48
Retroalimentación

Ilustración 9: Esquema de retroalimentación

En la Ilustración 1 se muestra el proceso de realimentación del sistema,


donde los informes de bienestar en las salidas serán nuevas entradas de
información.

Propiedades del sistema

Sinergia:

Se visualiza al momento de crear el sistema, este se compone de la parte


física y de la parte lógica o de software, además de la parte humana, cada
uno de estos elementos es fundamental para el sistema funcione en su
totalidad y ver todas estas piezas como un solo organismo o sistema, debido

49
a que todo trabajan en conjunto. La finalidad es proporcionar un servicio en
beneficio común tanto de quien lo concede como el que lo recibe.

Caja negra:

Elemento por el cual está asociada al sistema, ante la percepción del usuario
en el instante en que realiza la petición del servicio, internamente desconoce
el procedimiento, transmisión del mensaje, lugar determinado donde llega
esta solicitud (Servidor), aparte de esto, protocolos, software y demás
tecnologías y artefactos que permiten enviar el usuario la respectiva
información de salida de la petición a través de una notificación según el
estado obtenido.

Rango:

Ilustración 10: Rango Apoyo alimentario

Jerarquía: Una vez especificado el rango de nuestro sistema, los niveles de


jerarquía se establecen de la siguiente manera:

50
Subsistemas Complejidad Descripción

Alta
Sistema Es el Sistema encargado de la
administrativo clasificación de la información obtenida de
los estudiantes para la generación de los
respectivos informes y recibos de pago,
todo esto a través de la información
recolectada en las bases de datos de cada
facultad y generando por medio del
sistema.

Media
Sistema de Es el Sistema encargado de la recepción y
prestación de validación de los estudiantes, y la entrega
servicio. del almuerzo, esto mediante el uso de un
biométrico y el apoyo del personal
capacitado.

Media
Sistema de solicitud. Es el Sistema encargado de la solicitud del
apoyo alimentario, se lleva a cabo
mediante la solicitud a través del equipo
ubicado en su estación apoyado por el
personal capacitado.

Tabla 2: Jerarquización del sistema

Recursividad: Se aplica en nuestro sistema debido a que en nuestros


subsistemas los diferentes procesos realizados pueden afectarse entre sí.
Sin embargo, no se tendría en cuenta que nuestro sistema pertenecería a un
supra sistema como un subsistema.

51
Homeostasis: Buscamos el equilibrio interno dentro de nuestro sistema para
así aplicar la propiedad de adaptación ante los cambios que se puedan
presentar en nuestro sistema, por ejemplo, mediante la capacitación de
buenas prácticas en la medida de prestación de servicios, la calidad de los
productos tecnológicos a utilizar y la actualización constante de técnicas en
cuanto en el instante de adquirir el servicio. Así como también, en el momento
que se desee ampliar o cambiar los elementos para prestar un servicio a
mayor escala y en otras áreas que presta bienestar institucional, obteniendo
así un sistema más factible.

Entropía: Como en cualquier sistema existe entropía al haber desgaste del


mismo, por ejemplo, se ve reflejado en el sistema de apoyo alimentario
cuando el personal no está capacitado con las nuevas técnicas o tecnologías
que se usan en el mercado, ejemplo claro de lo mencionado, en el momento
de usar el biométrico, aunque parezca una actividad bastante sencilla, para
otra toma más tiempo en aprender. También, se generaría entropía si no se
tienen en cuenta los comentarios tanto de los empleados de Bienestar
Institucional como de los estudiantes puesto que no entrarían en
retroalimentación en el sistema.

Regulación: En nuestro sistema del apoyo alimentario, la interacción de


todos los subsistemas interrelacionados e interdependientes deben ser
controlados, de tal modo que esta regulación permite la correcta interacción
entre los procesos que permitan cumplir el objetivo de brindar un buen
servicio y salvaguardar la información.

Equifinalidad: Debido a que nuestro sistema es considerado como un


sistema abierto, sin importar las condiciones iniciales se pretende llegar al
objetivo de la satisfacción de los estudiantes mediante los diferentes servicios
ofrecidos.

Neguentropía: Mediante las capacitaciones, se busca que el personal


prestador del servicio aplique las nuevas técnicas que hay en el área
tecnológica para un mejor funcionamiento. Por otro lado, en el momento que

52
se puedan exponer problemas tanto el componente físico como lógico es
importante tener un control periódico en el mantenimiento de estos tanto
preventivos como correctivos. Además, se tiene en cuenta las opiniones de
los funcionarios y comunidad en general sobre la mejora de los servicios.

Permeabilidad: Debido a las entradas que se presentan en el sistema tales


como materia prima, infraestructura, tecnología, recurso humano e
información, provenientes del medio, nuestro sistema tiene mayor
permeabilidad donde el sistema será más abierto.

Isomorfismo: En esta propiedad aplica al sistema debido a que según su


definición son semejanzas entre diversos sistemas, para ejemplificar
encontramos sistemas como; el digiturno, turno de atención EPS, entre otras
áreas donde se aplica la metodología para tomar el turno solicitando un
servicio, en cuanto al sistema distribuido podemos tomar el sistema integrado
de transporte público ya como en la estructura como en su utilización son
similares en cuanto a la manera en cómo se recolecta los datos, y que están
divididos en varios nodos , es así mismo que aplica al sistema del apoyo
alimentario para tomar el servicio.

Integración e independencia: Se presenta integración debido a que los


cambios en los procesos de los subsistemas planteados anteriormente
afectarían a los demás subsistemas, por lo tanto, no se ve la independencia
de estos, se puede observar cuando en situaciones como la pandemia, que
se vio afectado ya que los estudiantes ya no podían asistir para reclamar
dicho servicio, se vieron en la obligación de implementar una nueva forma
para seguir prestando el servicio, con ello crear unos nuevos subsistemas
para que se adaptara al cambio, es decir, por medio de una asignación
monetaria mensual a cada estudiante inscrito que toma el servicio.

Centralización: Nuestro sistema es centralizado debido a que los


subsistemas dependen el uno del otro para su funcionamiento de la
prestación del servicio del apoyo alimentario, por lo tanto, si uno de estos
fallara, no hay otro subsistema que lo reemplace.

53
Descentralización: Como la descentralización es aquel que no depende de
un núcleo o sistema principal para nuestro sistema No aplica debido a que
los subsistemas son dependientes como se mencionó anteriormente en las
propiedades.

Holismo: En el apoyo alimentario se observa el sistema como un todo, en el


cual identificamos sus partes las cuales se identifican como subsistemas y
sus procesos, además de que funcionan de manera organizada y
dependientes unos de otros.

Armonía: Esta propiedad es evidente en el sistema, debido a que en el


campo tecnológico cada vez hay nuevas herramientas de actualizaciones y
medios de comunicación y en ese sentido nuestro sistema deberá realizar
modificaciones en su estructura y sus procesos para lograr el alcance de los
objetivos y a largo plazo usar este sistema en otras áreas.

10.4. Implementar diagramas Causales y de Forester, proyección en


el tiempo:

Diagrama causal:

Ilustración 21: Diagrama causal

54
Diagrama de Forrester

Proyección en el tiempo

Ilustración 32: Diagrama de forester

Ilustración 13: Proyección de estudiantes con apoyo

55
Ilustración 14: Proyección de estudiantes que aplican al apoyo

56
Ilustración 15: Proyección de estudiantes que no toman el apoyo

57
11. Conclusiones
• Se logró integrar los conceptos vistos en TGS como en Sistemas
Distribuidos en un solo proyecto.
• Se identificaron los subsistemas del Apoyo alimentario.
• Se logró la realización del diagrama causal y de Forrester.
• Se logró evidenciar la proyección de estudiantes con apoyo alimentario
en 10 años.
• El desarrollo de este proyecto se logró mediante el trabajo en grupo.

58
12. Referencias

Balsero Meneses, Alvaro Javier Y Vargas García, Cristian German.


Diseño e implementación de un prototipo para el control de acceso en la
sede de ingeniería de la Universidad Distrital Francisco José de Caldas
mediante el uso de torniquetes controlados por carnet con tecnología
NFC y lector biométrico de huella dactilar, 2016 de
https://repository.udistrital.edu.co/bitstream/handle/11349/3430/VargasG
arciaCristianGerman2016.pdf;sequence=1.

Bienestar Institucional Universidad Francisco José de Caldas. Informe


de Gestión 2019 de
https://bienestar.udistrital.edu.co/sites/bienestar/files/documentacion/202
0-11/INFORME%20DE%20GESTION%202019%20PDF.pdf

Seguridad de los sistemas distribuidos, [Anónimo] de


https://docentes.uaa.mx/guido/wp-
content/uploads/sites/2/2015/12/Seguridad_Sistemas_Distribuidos.pdf

Marini, Emiliano. El Modelo Cliente/Servidor. Octubre 2012 de


https://www.linuxito.com/docs/el-modelo-cliente-servidor.pdf

Departamento de Informática, Universidad de Valladolid. El Modelo


Cliente/Servidor de
https://www.infor.uva.es/~fdiaz/sd/2005_06/doc/SD_TE02_20060305.pdf

Sosa Sosa, Víctor. MIDDLEWARE: Arquitectura para Aplicaciones


Distribuidas de
https://www.tamps.cinvestav.mx/~vjsosa/clases/sd/Middleware_Recorrid
o.pdf

¿Qué es el middleware? [En línea]. RedHat [Consultado el 6 de octubre]


en https://www.redhat.com/es/topics/middleware/what-is-middleware

59
¿Qué es un sistema distribuido? [En linea]. Adrian Rodriguez
[Consultado el 6 de octubre] en https://adr-
rod87.medium.com/qu%C3%A9-es-un-sistema-distribuido-
442870a40bc4

Romero, Fernando. Sincronización de Relojes en Ambientes


Distribuidos. Febrero 2009 de
http://sedici.unlp.edu.ar/bitstream/handle/10915/4157/Documento_compl
eto.pdf?sequence=1&isAllowed=y

Sincronización distribuida de relojes [En línea]. Wikipedia [Consultado 7


de octubre] en
https://es.wikipedia.org/wiki/Sincronizaci%C3%B3n_distribuida_de_reloje
s
Samaniego Bermeo, David Sebastián. Sincronización de relojes en
Internet. 11 de Mayo de 2018 de
https://cnet.fi.uba.ar/david_samaniego/Tesis_David_Sebastian_Samanie
go_Bermeo.pdf

Sistemas distribuidos, [Anonimo] de


http://wikifoundryattachments.com/yZyKRavqH251vyz-c35KRw265996

Lara San Martín, José Ángel. CURSO SISTEMAS DISTRIBUIDOS. 20


de enero del 2017 de https://silo.tips/download/curso-sistemas-
distribuidos

Base de datos distribuida. ¿Qué es? Características [En linea]. Ayudaley


[Consultado el 7 de octubre] en
https://ayudaleyprotecciondatos.es/bases-de-datos/distribuida/

60
Servicios Web: RESTful [En linea]. Bigeek [Consultado el 5 de octubre]
en
https://blog.bi-geek.com/servicios-web-restful/

Middleware [En linea]. Wikipedia [Consultado el 6 de octubre] en


https://es.wikipedia.org/wiki/Middleware
TEORIA GENERAL DE SISTEMAS [Anonimo] de
http://www.sisal.unam.mx/labeco/LAB_ECOLOGIA/Ecologia_y_evolucio
n_files/XI.%20TEORIA%20GENERAL%20DE%20SISTEMAS.pdf

PROPIEDADES DE LOS SISTEMAS [En linea]. valdez saul portafolio


sistemas [Consultado el 6 de octubre] en
https://sites.google.com/site/valdezsaulportafoliosistemas/ii-
unidad/propiedades-de-los-sistemas

Definición de Sistema [En linea]. Dinamica de sistemas [Consultado el 7


de octubre] en http://www.dinamica-de-
sistemas.com/libros/sistemas_concepto.htm

Entradas, Procesos y Salidas [En linea]. Introduccion a al informatica


[Consultado el 7 de octubre] en https://kame-
sennin.blogspot.com/2009/03/entradas-procesos-y-salidas.html

¿Qué es un sistema abierto y ejemplos? [En linea]. Aleph [Consultdo el 7


de octibre] en https://aleph.org.mx/que-es-un-sistema-abierto-y-ejemplos

López Saldiña, Arturo. Teoría de la Información de


https://www.uv.mx/personal/artulopez/files/2012/08/02_TS-y-TI.pdf

61

También podría gustarte