Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD TECNOLÓGICA
INGENIERIA EN TELEMATICA
BOGOTÁ
2021
1
DISEÑO DE UN SISTEMA DISTRIBUIDO PARA MEJORAR EL PROCESO
DEL APOYO ALIMENTARIO
PRESENTADO A:
MIGUEL ANGEL LEGUIZAMON PAEZ
ISMAEL ANTONIO ARDILA SANCHEZ
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
4
LISTA DE TABLAS
5
1. Introducción
6
2. Objetivos
2.1. General
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:
8
se cumplen con estas tres características, se considera que el sistema
distribuido es seguro y se puede confiar en éste.
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.
10
● Estos sistemas garantizan consistencia en algún tiempo en el
futuro
3.1.4. Middleware:
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.
Servicios RESTFul:
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:
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:
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.
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:
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.
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.
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.
20
existen varias propuestas de solución y soluciones configuradas, para
problemáticas como las expresadas en este proyecto.
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.
Una vez descrito el proceso actual, describiremos los principales problemas que
identificamos:
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.
22
5. Propósito y alcance del proyecto
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.
23
6. Diseño y descripción detallada de la solución
Sistema Web:
● 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.
Bases de datos
25
Personal:
26
7. Beneficios de la solución
27
8. Desarrollo e implementación de la solución:
28
Ilustración 2: Interfaz de inicio de sesión
29
Ilustración 5: Interfaz de generación de informe
30
9. Componente Sistemas Distribuidos:
● Heterogeneidad
● Apertura
31
● Seguridad
● Escalabilidad
● Tolerancia a fallos.
32
● Concurrencia.
● Compartición de recursos.
● Transparencia
• Acceso
• Lugar
• Concurrencia
33
generar interferencia con los demás usuarios que hagan parte del
sistema.
• Replicación
• Fallos
• Migración
• Rendimiento
34
• Escalabilidad
35
Ilustración 6: Modelo de servicios
36
Características Cliente - Servidor
Protocolos asimétricos:
Encapsulación de servicios:
Integridad
37
hora de interactuar con este, dando por entendido al usuario que ha ocurrido
con el estado de su solicitud.
Modularidad
Código reutilizable
Escalabilidad
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
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
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.
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
Ventajas
Desventajas
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.
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.
Ambiente físico
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
Documentación
45
Datos
Recursos
Seguridad
Subsistemas
46
Sistema de solicitud: Es el área encargada de la solicitud del apoyo
alimentario.
Entradas
Procesos
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
48
Retroalimentación
Sinergia:
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:
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.
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.
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.
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.
Diagrama causal:
54
Diagrama de Forrester
Proyección en el tiempo
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
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
60
Servicios Web: RESTful [En linea]. Bigeek [Consultado el 5 de octubre]
en
https://blog.bi-geek.com/servicios-web-restful/
61