Está en la página 1de 15

Universidad Abierta y a Distancia

de México
División de Ciencias Exactas, Ingeniería y Tecnología
Desarrollo de software

Actividad: Actividad 1. Sistemas distribuidos

Ciudad de México, Junio del 2022

Diseño: DL-CPL
ÍNDICE
INTRODUCCIÓN ............................................................................................................... 3
DESARROLLO DE LA ACTIVIDAD .................................................................................. 4
CONCLUSIONES ............................................................................................................ 14
REFERENCIAS BIBLIOGRÁFICAS................................................................................ 15
INTRODUCCIÓN
1. Haciendo uso del formato (plantilla) oficial de entrega de actividades que
nuestra universidad
te proporcionó, elaborar la introducción en un mínimo de 100 y máximo 150
palabras de propia autoría, describiendo la finalidad del contenido a realizar (¿Qué
se va a realizar?, ¿Para qué se va a realizar?, ¿Cómo se va a realizar?)
DESARROLLO DE LA ACTIVIDAD

2. Examinar el tema 3.1. Patrones arquitectónicos en Sistemas Distribuidos


(que se encuentra en los contenidos nucleares del aula virtual de
aprendizaje)
3. Resumir en palabras propias los siguientes contenidos del tema Big Data
(En una extensión de 150 a 200 palabras por cada punto, donde la cita
textual no forma parte de la extensión):
¿Qué es un sistema distribuido?
Un sistema distribuido es un sistema de software cuyos componentes están
separados físicamente y conectados entre sí por una red de computadoras, se
comunican y coordinan entre ellos pasando mensajes. Dichos componentes
interactúan entre ellos para lograr una meta común.
Las tres características principales de un sistema distribuido son:
1.Concurrencia de componentes: Los componentes pueden ejecutar sus acciones
de manera concurrente e independiente.
2.No hay un reloj global: Los componentes (nodos) de un sistema distribuido no
dependen de un reloj que sincronice o indique las acciones de los distintos nodos.
3.Falla independiente de componentes: La falla de un componente no afecta al
resto de los componentes.
Para comunicar los nodos de un sistema distribuido es necesario un middleware;
es decir, un software que proporciona un enlace entre programas independientes.
Hay distintos tipos de middleware, pero en este caso nos enfocaremos en
middleware orientado a mensajes (MOM). Los dos modelos de mensajeo más
comunes y soportados por la mayoría de los sistemas de mensajeo son:
Publisher-Subscribe (pub/sub) – Los emisores (Publisher) no envían mensajes
directamente a receptores (suscriptores) específicos, sino que simplemente
etiquetan su mensaje con una o más categorías y lo publican, ignorando si hay o
no suscriptores recibiendo los mensajes de dicha(s) categoría(s). De manera
similar, los suscriptores se suscriben a categorías ignorando si hay emisores
publicando mensajes en ellas.
Cola de Mensajes: El publicador envía mensajes a una cola donde son
guardados hasta que el receptor los recibe, los mensajes pueden expirar después
de cierto tiempo. A diferencia de pubis–subscribe, en la cola de mensajes el
receptor del mensaje activamente tiene que ir a la cola y buscar por nuevos
mensajes.
Patrón arquitectónico
1.- Patrón de capas: Este patrón se puede utilizar para estructurar programas que
se pueden descomponer en grupos de subtareas, cada una de las cuales se
encuentra en un nivel particular de abstracción. Cada capa proporciona servicios a
la siguiente capa superior.
2.-Patron cliente-servidor: Este patrón consiste en dos partes; un servidor y
múltiples clientes. El componente del servidor proporcionará servicios a múltiples
componentes del cliente. Los clientes solicitan servicios del servidor y el servidor
proporciona servicios relevantes a esos clientes. Además, el servidor sigue
escuchando las solicitudes de los clientes.
3.-Patron maestro-esclavo: Este patrón consiste en dos partes; maestro y
esclavos. El componente maestro distribuye el trabajo entre componentes
esclavos idénticos y calcula el resultado final de los resultados que devuelven los
esclavos.
4.-Patron de filtro de tubería: Este patrón se puede usar para estructurar sistemas
que producen y procesan una secuencia de datos. Cada paso de procesamiento
se incluye dentro de un componente de filtro. Los datos que se procesarán se
pasan a través de las tuberías. Estas tuberías se pueden utilizar para el
almacenamiento en búfer o con fines de sincronización.
Nota: Las citas textuales pueden ser colocadas en cualquiera de los puntos
3 y 5 que se describen a continuación (recuerda que la cita textual no forma
parte de la extensión del número de palabras solicitadas)
o ¿Qué es Big Data?
El Big Data consiste en un proceso que analiza e interpreta grandes volúmenes de
datos, tanto estructurados como no estructurados.

El Big Data sirve para que los datos almacenados de forma remota puedan ser
utilizados por las empresas como base para su toma de decisiones.

La información extraída ayuda, por ejemplo, a mejorar estrategias y procesos, a


incrementar el poder competitivo de la empresa y a comprender mejor a los
consumidores, entre muchas otras aplicaciones.
Esto se debe a que el Big Data es un proceso que realiza el análisis de grandes
volúmenes de datos. Estos análisis, a su vez, generan información muy valiosa
que se puede aplicar en diferentes ámbitos de tu negocio.

o Describe las 3 Vs (volumen, velocidad y variedad)


El Big Data funciona en base a las llamadas “5 Vs”: volumen, variedad, velocidad,
veracidad y valor.

Volumen
El volumen se refiere a la cantidad de datos que genera una empresa cada
segundo. Estos pueden provenir de diversas fuentes virtuales, como redes
sociales, correos electrónicos, dispositivos electrónicos, etc.

Variedad
Según esta explicación sobre qué es el Big Data y para qué sirve, la variedad
concierne a todos los lugares donde los datos pueden ser almacenados y
extraídos.

Velocidad
La velocidad con la que el Big Data analiza los datos es muy alta, y a eso es lo
que se refiere la tercera “V”.

El proceso analiza los datos en el momento exacto en que son creados. Esto
ocurre, por ejemplo, con los mensajes que se viralizan en las redes sociales, las
transacciones realizadas a través de tarjetas de débito y crédito, etc.
Veracidad

Además de la forma en la que se almacenan estos grandes volúmenes de datos y


la velocidad a la que se procesan, también debemos analizar otra variable: su
exactitud.

Y es que el procesamiento de los datos en el marco del big data es una operación
costosa con desafíos reales para el futuro de una empresa, ya que, si los datos
utilizados son falsos o inexactos, el resultado del análisis también será erróneo.
Esto podría llevar a tomar decisiones que no reflejan la realidad.

o Describe los 3 tipos diferentes de datos (estructurados, semiestructurados y no


estructurados) que es posible almacenar.
1# Datos estructurados
Este grupo recoge todos aquellos datos que se pueden almacenar, acceder y
procesar en forma de formato fijo. Este tipo de datos representan
aproximadamente el 20% de los datos disponible e incluyen números, fechas y
grupos de palabras. Son los que estamos más acostumbrados a tratar y, por lo
general, se almacenan en bases de datos.
2# Datos no estructurados
Por otro lado, los datos no estructurados no siguen un formato específico. Siguen
su forma original, tal y como fueron recogidos. Para hacernos una idea, si el 20%
de datos disponibles por las empresas son estructurados, el 80% no lo son. No
tienen un formato concreto que nos permita almacenarlos de forma tradicional,
porque la información no puede desglosarse. Por ejemplo, en este grupo estarían
los emails, los PowerPoint o los archivos PDF, por ejemplo.
3# Datos semiestructurados
Los datos semiestructurados se sitúan en el medio. Es decir, no se ajustan a la
estructura formal de los modelos de datos asociados con bases de datos
relacionales u otras formas de tablas de datos, pero contienen etiquetas u otros
marcadores para separar elementos y hacer cumplir las jerarquías de registros y
campos. Por ejemplo, JSON y HTML son formas de datos semiestructurados.

o Realizar un diagrama básico de su ecosistema (arquitectura)

Nota: Revisar el contenido Aprender Big Data que se encuentra en el material de


apoyo o Menciona 5 características principales.
Velocidad. Ritmo al que crece y se procesa la información. En un momento en el
que el concepto de inmediatez es clave en nuestra sociedad, el procesamiento de
datos debe ser rápido y eficaz. Si no, debido al alto volumen existente, quedan
obsoletos en poco tiempo y pueden generar errores a la hora de establecer una
estrategia.
Veracidad. Este factor es clave a la hora de llevar a cabo el análisis de datos. Por
ello, se debe concretar un criterio de selección que garantice la fiabilidad y
confianza de los resultados obtenidos.
Variedad. La información recolectada puede venir de diferentes fuentes, así como
ser de diversos tipos (estructurados, no estructurados). Esto supone una gran
riqueza en la investigación que se puede hacer, pero también dificulta el
procesamiento de datos y su almacenamiento.
Valor. Es una cualidad fundamental en el análisis de datos, ya que a pesar de
tener una gran cantidad de información, ésta pocas veces ofrece contenido útil.
Por ello, es importante establecer métodos que permitan saber qué fuentes
pueden ser de mayor interés.
Visualización. Todo este conocimiento no tiene sentido si no se establecen
conclusiones sobre el mismo, creando gráficos que muestren de manera rápida y
sencilla los resultados.
Variabilidad. El trabajo del Big Data no termina al obtener conclusiones, ya que la
información va cambiando constantemente, tanto por el comportamiento del
consumidor como por la aparición de nuevos sistemas de obtención de datos. Por
este motivo, se requiere de un control periódico para actualizar la información.

4. Analizar el caso de estudio en el siguiente link “Sistema Distribuido”


5. Argumentar los siguientes aspectos con base en el caso de estudio
“Sistema Distribuido” (En una extensión de 150 a 200 palabras por cada
punto, donde la cita textual no forma parte de la extensión):

Sistema Distribuido
Un sistema distribuido es aquel donde los componentes funcionan en una red de
computadoras que coordinan sus acciones mediante una comunicación constante.

Este sistema se caracteriza además por:

• Funcionamiento Concurrente: La ejecución de los programas de cada


componente del sistema puede ser simultánea.
• No existe una definición global de tiempo: Cuando los programas necesitan
cooperar, ellos coordinan sus acciones a través de mensajes, pero la
noción coordinada del tiempo no siempre es parte de este tipo de sistema.
• Fallas independientes: Las fallas en la red puede provocar el aislamiento de
los computadores del sistema, sin embargo, esto no significa que cada uno
de los computadores involucrados deje de funcionar.

Gracias a estas características, un sistema distribuido es el modelo ideal para el


caso de estudio, ya que de esta manera se pueden manejar los recursos que
implica mantener la conexión de una gran cantidad de dispositivos móviles en las
diferentes sucursales del banco.

Además, dada la naturaleza del caso de estudio, es aplicable una arquitectura de


cuatro capas gracias al alcance de la comunicación de una aplicación móvil en el
sistema.
• ¿Por qué Utilizando Big Data beneficiaría a la solución?.
El Big Data es una de las mejores formas en la que una empresa puede
aprovechar todos los datos que se generan a diario para favorecer su crecimiento.
Este proceso permite, por ejemplo:
• Prevenir posibles fraudes financieros.
• Identificar nuevas oportunidades comerciales.
• Identificar procesos cuyos costos pueden ser reducidos.
• Satisfacer las necesidades de los clientes de forma más puntual,
aumentando su nivel de satisfacción.
• Tomar decisiones más asertivas.
6. Diseñar una arquitectura SOA aplicada a la solución
Entre los requerimientos, el caso de estudio se despliega de la siguiente manera:

Desarrollo de un sistema de software y sistema de dispositivo móvil para clientes


se es considerando que la aplicación descrita se utilizará en un contexto de
sistema distribuido ya que se implementará para los dispositivos móviles de cliente
y de ejecutivos del banco, y trabajadores de atención a clientes, un conjunto de
control y atención de identifiacion moderna, agilizar tramites bancarios,
compuestas de una Matriz y sucursales.

A partir de ello se clasifican los requerimientos en funcionales y no funcionales.


Requerimientos funcionales
•Implementar una aplicación para moviles, lo cual hará más accesible el sistema.
•Que sea una aplicación multiusuario, de modo que no haya problema para que el
personal del banco y los clientes utilicen la aplicación al mismo tiempo.
•Requerir una conexión a internet para utilizarse con el objetivo de que la
aplicación no sea demasiado pesada.
•Contar con un inicio de sesión a diferentes niveles (administrador, personal
bancario y clientes) para proteger la información de cualquier agente externo al
sistema.
•Permitir la búsqueda de tramites y horarios de atención disponibles.
•Permitir el ingreso de un nuevo cliente.
•Permitir la creación y edición de información bancaria personal.
•Generar reportes bancarios.
•funcion de identifiacacion bancario y clientes vistuales.
Requerimientos no funcionales
•Una aplicación con un entorno gráfico amigable y orientado al usuario.
•Que el entorno gráfico sea acorde a la imagen del banco.
•La aplicación debe tener una respuesta ágil.
•Debe ser un sistema ordenado y bien estructurado junto a una aplicación ligera.
•Debe adecuarse a diferentes dispositivos móviles.
•Su principal SO será Android, pero también debe poder utilizarse en sistemas
iOS.
•El sistema debe ser escalable.
Web Services.

Una vez comprendido en qué consiste un web service, se sugiere los siguientes
servicios para el caso de estudio:

• Generar reportes: Acerca del estado de cuentas bancarias en particular, de


la cantidad de tramites que ingresan periódicamente o del cambio de algún
solicitudes.
• Pedir una cita: Para que los clientes puedan agendar una cita en la sucursal
más cercana.
• Búsqueda: Para consultar Tramites en curso y los servicios a cliente que
han ingresado al banco.
• Calendario: Con el cual se podrán consultar citas y tramites programadas
por cliente.
• Identificación: el sistema tendrá medios de seguridad para identidad de
cliente.
• Acceso y control de trafico de usuarios: Todo el sistema contara con el
sistema de jerarquía de permisos y roles de usuarios.

Servicios y web-services requeridos y la funcionalidad de cada web-services

Se entiende por web services a un conjunto de aplicaciones de software que


corren en diferentes plataformas y permiten compartir informaciones o invocar
funciones hacia otras aplicaciones, independientemente de cómo se hayan creado
o en qué sistema operativo estén trabajando.
Por lo general los servicios web se basan en XML (Extensible Markup Language)
para comunicarse entre sí, pero también existe otro formato de intercambio de
información muy utilizado en la actualidad, JavaScript entre las ventajas de un
sistema distribuido para el caso de estudio destaca las siguientes características:

• La implementación del sistema resulta mucho más económica en


comparación con un sistema centralizado, el cual requeriría de un equipo
muy potente para mantener el funcionamiento óptimo.
• La velocidad de respuesta es mucho más rápida.
• Al estar apoyado en múltiples equipos, la probabilidad de fallas es menor,
detalle sumamente importante para un banco, donde la base de datos debe
estar disponible prácticamente todo el tiempo.
• Es un modelo escalable, característica requerida ante la probabilidad de
que la aplicación se convierta en un elemento indispensable para el
funcionamiento interno de las sucursales y viables a mejoras en la
aplicación móvil del cliente y actualizaciones constantes.
• Todos los dispositivos accederán a una base de datos en común, lo cual
facilitará la transferencia de información.
• Establecer parámetros de seguridad que impidan que terceros puedan
ingresar al sistema o robar la información de los usuarios.
• El mantenimiento constante en términos de seguridad y la integridad de los
datos.
Por supuesto existen desventajas de aplicar un sistema distribuido, tales como:

• La dificultad para funcionamiento de sistema mientras se dan las


actualizaciones y requerimientos minimos de dispositivos moviles.
• Bloqueos de sistema por mal uso o errores humanos.
• Mantenimientos constantes podrían entorpecer el servicio a clientes.
• La seguridad para proteger información podrían presentar bloqueos
inesperados.
• Requiere más esfuerzo a la hora de diseñar el sistema, gestionarlo y
mantenerlo en funcionamiento.
Diagrama Actividades:
Link: https://lucid.app/lucidchart/2423da4c-d545-41c1-9791-
391ca5f1da6b/view?page=0_0&invitationId=inv_f5d8a392-218a-442e-97c7-
8ee35ee2d8ea#
Diagrama caso de uso:

Link: https://lucid.app/lucidchart/c7fcf62f-e9b7-4552-913e-
3d47ca9866f3/view?page=.Q4MUjXso07N&invitationId=inv_b5463c7d-ff56-4e79-
bf10-20eb98a3cbc1#
Diagrama de flujo de datos:

Link: https://online.visual-paradigm.com/diagrams/templates/data-flow-diagram/

Descripción de datos
Para este caso en particular, la información y papeleo en tramites datos que se
recabarán en la base de datos, para la correcta implementación de la aplicación,
son los siguientes:
• Datos personales: Nombre, edad, teléfono, dirección, Numero bancario y
ID.
• Historial bancario: Enlistando los clientes que ha tenido tramites, las
consultas de saldo o ingresos asi como inverciones y transferencias.
• Datos sobre el banco: Como nombre, dirección, teléfono, horarios, cantidad
de ingresos y servicios economicos.
• Tramites: Número de cliente, solicitud y tipo de servicios, Cambio cuentas,
Inverciones asi como saldos con movimientos bancarios y pagos.
• Citas: Fecha, atención especializada, numero cliente, tramite , numero de
cuenta y sucursal.
• Cualidades del caso de estudio como un sistema distribuido
Cualidades inherentes del caso de estudio como un Sistema distribuido:
Cooperación, Comunicación entre los nodos o punto, existencia de un procesador
central, procesadores dispuestos físicamente separados, tiempo de respuesta
reducido y la Omisión de procesamiento central.

• Cooperación: En este tipo de sistema distribuido con un diseño en cuatro


capas, la comunicación se apoya en una arquitectura cliente/servidor.
• Comunicación entre los nodos o punto: La red dispondría de tres tipos de
nodos, los clientes que interactúan con los usuarios finales, los servidores
de aplicación que procesan los datos para los clientes y los servidores de
bases de datos que almacenan la información para los servidores de
aplicación.
• Existencia de un procesador central: Para garantizar la seguridad de la
información, el procesamiento de datos debe ser del tipo distribuido, donde
las computadoras de cada sucursal se interconectan a la los servidores de
del banco Matriz.
• Procesadores dispuestos físicamente separados: Mediante el
procesamiento distribuido, las computadoras, pese a ubicarse en
sucursales diferentes, pueden comunicarse entre sí.
• Tiempo de respuesta reducido: Gracias a la distribución de recursos, el
tiempo en el que la aplicación transmita las acciones del usuario al servidor,
disminuye considerablemente.
• Omisión de procesamiento central: Un procesamiento distribuido evita que
el sistema se sature al recibir las solicitudes de la aplicación instalada en un
gran número de teléfonos en cada sucursal.

▪ Realiza un diagrama de la solución.

a) Los diagramas deben de diseñarse con software especializado (Microsoft Visio


o alguna aplicación en línea).
Revisa las siguientes herramientas para el diseño de los diagramas:
• Puedes apoyarte de la siguiente herramienta para el uso Lucidchart:
https://www.lucidchart.com/pages/es/ejemplos/mapa-mental-online
• Para el manejo de la herramienta lucidchart puedes consultar el siguiente tutorial:
CONCLUSIONES
REFERENCIAS BIBLIOGRÁFICAS
Evaluandosoftware.com. 2022. SOA, Arquitectura a servicios orientados - Evaluando Software . [en
línea] Disponible en: <https://www.evaluandosoftware.com/soa-arquitectura-orientada-a-servicios/>
[Consultado el 9 de junio de 2022].

Londoño, C., 2022. Qué es la Arquitectura Orientada al Servicio SOA . [en línea]
Pragma.com.co. Disponible en: <https://www.pragma.com.co/blog/que-es-la-arquitectura-orientada-
al-servicio-soa> [Consultado el 9 de junio de 2022].

Oracle.com. 2022. ¿Qué es el big data? | Oracle México . [en línea] Disponible en:
<https://www.oracle.com/mx/big-data/what-is-big-data/> [Consultado el 9 de junio de 2022].

Powerdata.es. 2022. Big Data: ¿En qué consiste? Su importancia, desafíos y gobernabilidad . [en
línea] Disponible en: <https://www.powerdata.es/big-data> [Consultado el 9 de junio de 2022].

#ADNCLOUD. 2022. ¿Qué es Big Data y para qué sirve? . [en línea] Disponible en:
<https://blog.mdcloud.es/que-es-big-data-y-para-que-sirve/> [Consultado el 9 de junio de 2022].

Software de email marketing - Mailjet. 2022. Big Data: ¿Qué es, cómo funciona y por qué es
importante? - Mailjet . [en línea] Disponible en: <https://es.mailjet.com/blog/news/big-data/>
[Consultado el 9 de junio de 2022].

También podría gustarte