Informe Arquitectura Centralizada PDF

Title Informe Arquitectura Centralizada
Author Sebastian Guevara
Course Sistemas Distribuidos
Institution Universidad Tecnológica del Perú
Pages 15
File Size 586.2 KB
File Type PDF
Total Downloads 112
Total Views 179

Summary

Facultad de Ingeniería y ElectrónicaCarrera Profesional de Ingeniería de Sistemas e InformáticaCursoSistemas DistribuidosTemaSistemas Distribuidos Arquitecturas(Desarrollo de Arquitecturas Centralizadas)Alumno:GUEVARA CANALES, SebastiánLima – Perú 2020INDICE INTRODUCCIÓN................................


Description

1

Facultad de Ingeniería y Electrónica Carrera Profesional de Ingeniería de Sistemas e Informática

Curso Sistemas Distribuidos Tema Sistemas Distribuidos Arquitecturas (Desarrollo de Arquitecturas Centralizadas)

Alumno: GUEVARA CANALES, Sebastián

Lima – Perú 2020

2

INDICE

1.

INTRODUCCIÓN...............................................................................................................3

2.

MAPA MENTAL..................................................................................................................3

3.

CONTENIDO......................................................................................................................3 3.1

CONCEPTOS..................................................................................................................3

3.1.1

Sistemas Distribuidos:...........................................................................................3

3.1.2

Usuario o Cliente:.................................................................................................4

3.1.3

Servidor:...............................................................................................................4

3.2

ARQUITECTURA CENTRALIZADA...................................................................................4

3.2.1

TIPOS:...................................................................................................................5

3.2.2

CARACTERISTICAS:................................................................................................6

3.2.3

FUNCIONALIDAD:..................................................................................................8

3.2.4

CASO:....................................................................................................................8

4

VENTAJAS:.......................................................................................................................11

5

DESVENTAJAS:...............................................................................................................12

6

CONCLUSIONES:.................................................................................................................13

7

RECOMENDACIONES:.........................................................................................................13

8

BIBLIOGRAFÍA................................................................................................................14

3

1. INTRODUCCIÓN Los Sistemas distribuidos se encuentran en nuestra vida diaria en diferentes aspectos, desde las aplicaciones que usamos día a día hasta los grandes sistemas que son usados por empresas para facilitar las transacciones que realizamos con un clic. En términos de informática, un sistema distribuido es aquel cuyos componentes de hardware y software, se alojan en nodos de una red comunicando y coordinando de acciones a través del envío de mensajes. Estos sistemas distribuidos tienen diferentes tipos de arquitecturas para la distribución de sus componentes, para diferentes usos o necesidades. Debido a todo lo mencionado antes en este trabajo se hablará sobre las Arquitecturas centralizadas, en donde describiré su funcionamiento, sus características y utilidades. Así mismo mostraré un caso para comprender el uso de este tipo de arquitectura en las diferentes aplicaciones, ya que esta muchas veces puede ser “ignorada” por el usuario; sin embargo, es importante que esta sea muchas veces invisible para el usuario, pero para nosotros como ingenieros es importante reconocer e identificar el tipo de arquitectura que se usa en los distintos sistemas.

4

2. MAPA MENTAL https://www.goconqr.com/es-ES/mindmap/22709557/Arquitectura-Centralizada

3. CONTENIDO Para comprender los siguientes párrafos sobre la Arquitectura centralizada, es importante definir los siguientes términos.

3.1 CONCEPTOS 3.1.1 Sistemas Distribuidos: Existen distintas definiciones a lo que respecta Sistemas Distribuidos, entre ellas está el siguiente: Por parte de la coordinadora Patricia Bazán nos brinda una definición simplificada, la cual es la siguiente:

5

“Los sistemas distribuidos pueden concebirse como aquellos cuya funcionalidad se encuentra fraccionada en componentes que al trabajar sincronizada y coordinadamente otorgan la visión de un sistema único, siendo la distribución, transparente para quien hace uso del sistema.”[CITATION Pat17 \l 3082 ] Lo que quiere decir Bazán con la definición de sistemas distribuidos es que estos, están divididos en elementos que trabajan en forma sincrónica y están coordinados con el único fin de formar un mismo sistema, a pesar de estar separados y trabajar muchas veces independientemente, por lo cual al verse finalmente como sistema la “distribución” de estos elementos es invisible para el usuario. 3.1.2 Usuario o Cliente: Enric Gomáriz define al cliente como: “(…) el elemento que pide y usa el servicio que proporciona la funcionalidad o el dato.”[CITATION Gom14 \l 2058 ] 3.1.3 Servidor: “Los servidores (o programas que proporcionan servicios) son objetos separados desde un punto de vista lógico y que se comunican a través de una red de comunicaciones para realizar una o varias tareas de forma conjunta.”[ CITATION Dep05 \l 3082 ].

3.2 ARQUITECTURA CENTRALIZADA Ya que se han esclarecido ciertos conceptos y términos, lo siguiente es hablar sobre la arquitectura centralizada en general.

6

A pesar de que no existe un consenso sobre muchas cuestiones de los sistemas distribuidos, hay un aspecto en el que muchos investigadores y usuarios sí están de acuerdo: pensar en términos de clientes que requieren servicios de los servidores nos ayuda a comprender y manejar la complejidad de los sistemas distribuidos, y también que son algo bueno. En el modelo básico cliente-servidor, los procesos de un sistema distribuido se dividen en dos grupos (probablemente traslapados). Un servidor es un proceso que implementa un servicio específico, por ejemplo, un servicio de sistema de archivos o un servicio de base de datos. Un cliente es un proceso que solicita un servicio a un servidor, enviándole una petición y esperando posteriormente la respuesta.1 3.2.1 TIPOS: Tanenbaum nos indica que existen tipos de arquitecturas modelo/servidor centralizadas, que serán especificadas más a fondo en los informes consiguientes a este. En el libro son mencionados los siguientes: 

Aplicación de capas o 1. El nivel de interfaz de usuario. o 2. El nivel de procesamiento. o 3. El nivel de datos

Ilustración 1 Organización simplificada, en tres capas diferentes, de un motor de búsqueda de internet

1 (Andrew S.Tanenbaum, 2008, pag.37)

7



Arquitecturas multiniveles

Ilustración 2 Organizaciones alternativas cliente/servidor de (a) a (e)

3.2.2 CARACTERISTICAS:

8

A continuación, se especificarán las características de la arquitectura centralizada cliente/servidor. 

Protocolos asimétricos: hay una relación muchos a uno entre los clientes y un servidor. Los Clientes siempre inician un diálogo mediante la solicitud de un servicio. Los Servidores esperan 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, permanezca 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”.



Independencia de la plataforma: el software cliente/servidor “ideal” es independiente del hardware o sistemas operativos, permitiendo al programador mezclar plataformas de clientes y servidores. o El entorno de explotación de clientes y servidores puede ser sobre diferentes plataformas, con el fin de optimizar el tipo de trabajo que cada uno desempeña.



Código reutilizable: La implementación de un servicio puede utilizarse en varios servidores.



Escalabilidad: Los sistemas cliente/servidor pueden ser escalados horizontal o verticalmente. o

El escalado horizontal significa añadir o eliminar estaciones clientes con un ligero impacto en el rendimiento.

o

El escalado vertical significa la migración a una máquina servidora más grande y rápida o la incorporación de nuevas máquinas servidoras.



Separación de la funcionalidad del cliente/servidor: El modelo cliente/servidor es una relación entre procesos que se ejecutan en la misma o en máquinas separadas. Un proceso servidor es un proveedor de servicios. Un cliente es un consumidor de servicios. El modelo cliente servidor proporciona una clara separación de funciones.

9



Recursos compartidos: un servidor puede proporcionar servicios a muchos clientes al mismo tiempo, y regular el acceso de éstos a un conjunto de recursos compartidos.2

3.2.3 FUNCIONALIDAD: En este tipo de arquitectura el servidor cumple un rol muy importante, según la universidad de informática en Segovia, en su texto académico “El modelo cliente/servidor”. “El servidor tiene las siguientes funciones: • Esperar peticiones de clientes (mensajes). A veces sesión por cliente y otro conjunto dinámico de sesiones. • Atender solicitudes simultáneas => concurrencia. Sin riesgo para la integridad de los recursos compartidos. • Prioridades en la atención de las solicitudes. • Capacidad de lanzar tareas en segundo plano no relacionadas con el servicio Ejemplo: un servidor de ftp aprovecha las horas de la noche para actualizar un mirror. • Robustez: crítica en servidores. • Escalabilidad y extensibilidad.”[ CITATION Dep05 \l 3082 ] Cliente: 

Enviar mensajes al servidor(solicitudes)

3.2.4 CASO:

Ilustración 3 Tomada del libro de Tanenbaum, sobre los sistemas centralizados cliente/servidor(petición y respuesta)

Ejemplo basado en [CITATION And08 \p 37 \l 2058 ], como la arquitectura de sistemas centralizados en el modelo cliente/servidor se basa en una petición y respuesta, por lo cual tomé un proyecto que desarrolló un sistema que analiza las acciones que realiza un

2 (E. U Informática en Segovia, 2005, pág. 3,4)

10

usuario durante una experiencia de Realidad Virtual avanzada, con las acciones que realiza con las partes del cuerpo. Se realizan diferentes pruebas con los dispositivos de realidad virtual y lo que se analiza es lo siguiente: “Tras el envío de datos, una vez llegue al servidor, la información será o no tratada, dependiendo de las necesidades del sistema y posteriormente será almacenada. Una vez estén almacenados los datos el usuario podrá visitar el sitio web de Haptic Analytics en la que se mostrarán todos los datos obtenidos a lo largo de las sesiones de juego. El servidor será montado principalmente en uno de los ordenadores de los componentes del grupo con la tecnología escogida y una base de datos que funcionarán como back-end. En cuanto a la parte de front-end se intentará hacer con una tecnología bastante moderna.”[CITATION del17 \l 3082 ] Utilizaron los siguientes casos de uso para explicar el trabajo del cliente con el servidor:

Ilustración 4 Diagrama de caso de uso de cualquier usuario(Extraído del informe)

11

Ilustración 5 Diagrama de caso de uso del administrador(Extraído del informe)

Ilustración 6 Diagrama de caso de uso del investigador o auditor del sistema(Extraído del informe)

Este proyecto cuenta con la siguiente arquitectura, como se puede apreciar en la siguiente imagen, es claramente una arquitectura centralizada:

12

Ilustración 7 Arquitectura del proyecto(cliente/servidor) , Extraído del informe

En la siguiente cita textual, se especifica cómo trabaja la arquitectura cliente/servidor y cuál es el punto de la investigación. “Nuestra aplicación cuenta con una arquitectura en la que los clientes (front-end) solicitan unos servicios al servidor (back-end), y este se los proporciona (clienteservidor). La forma que tenemos de enviar o recibir datos, los cuales serán almacenados o consultados en una base de datos relacional orientado a objetos, se basa en hacer una petición POST al servidor con los datos en formato JSON en caso de querer enviar y GET en caso de querer recibirlos. Para todo el envío de datos se utilizará el formato JSON1 a través de una petición HTTP que reciba el servidor.” Este es un claro ejemplo de cómo se trabaja una arquitectura centralizada de cliente/servidor y como se puede analizar el trabajo de este mediante diferentes herramientas. 4

VENTAJAS:

Existen una variedad de ventajas al trabajar con este tipo de arquitectura, según la Universidad de las Américas de Puebla:

13

Entre las principales ventajas de la arquitectura centralizada Cliente/Servidor están: 

Uno de los aspectos que más ha promovido el uso de sistemas Cliente/Servidor, es la existencia de plataformas de hardware cada vez más baratas. o Esto, debido a que modelar una arquitectura cliente/servidor no tiene un costo excesivo, se puede realizar con cada vez hardware menos costoso.



El esquema Cliente/Servidor facilita la integración entre sistemas diferentes y comparte información permitiendo, por ejemplo, que las máquinas ya existentes puedan ser utilizadas, pero utilizando interfaces más amigables al usuario. De esta manera, podemos integrar PC con sistemas medianos y grandes, sin necesidad de que todos tengan que utilizar el mismo sistema operacional



Una ventaja adicional del uso del esquema Cliente/Servidor es que es más rápido el mantenimiento y el desarrollo de aplicaciones, pues se pueden emplear las herramientas existentes (por ejemplo, los servidores de SQL o las herramientas de más bajo nivel como los sockets o el RPC)



La estructura inherentemente modular facilita además la integración de nuevas tecnologías y el crecimiento de la infraestructura computacional, favoreciendo así la escalabilidad de las soluciones.



El esquema Cliente/Servidor contribuye, además, a proporcionar, a los diferentes departamentos de una organización, soluciones locales, pero permitiendo la integración de la información relevante a nivel global.3

5

DESVENTAJAS:

Entre las principales desventajas de la arquitectura centralizada Cliente/Servidor están:  El mantenimiento de los sistemas es más difícil pues implica la interacción de diferentes partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el diagnóstico de fallas.  Se cuenta con muy escasas herramientas para la administración y ajuste del desempeño de los sistemas.  Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo, sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en diferentes plataformas.  Además, hay que tener estrategias para el manejo de errores y para mantener la consistencia de los datos.  La seguridad de un esquema Cliente/Servidor es otra preocupación importante. Por ejemplo, se deben hacer verificaciones en el cliente y en el servidor. 3 (Universidad de Puebla, Cap5.Cliente-Servidor, pag.6,7)

14



6

El desempeño es otro de los aspectos que se deben tener en cuenta en el esquema Cliente/Servidor. Problemas de este estilo pueden presentarse por congestión en la red, dificultad de tráfico de datos, etc.

CONCLUSIONES:

La arquitectura cliente/servidor ha dejado atrás sus orígenes departamentales. Ahora se distribuyen aplicaciones cliente/servidor que sirven a miles de clientes. Estas aplicaciones suelen ejecutarse en muchos servidores y constan de cientos de componentes software. Ejecutan las funciones sustanciales de una empresa. Y sin duda llegarán a ser intergalácticas. Con Internet, pueden hacerse solicitudes a los servidores desde cualquiera de los millones de computadoras personales conectadas a esa red en el mundo. Además, la arquitectura centralizada se ve aplicada en diferentes usos de la tecnología, desde el ámbito laboral (que en primer lugar es para lo que se usaba desde un comienzo) hasta el ámbito del entretenimiento como es los videojuegos de realidad virtual.

7

RECOMENDACIONES: 





8

La arquitectura centralizada es situacional, muchas veces es mejor usar la descentralizada o usar la híbrida; sin embargo, hay situaciones en las cuales usar la arquitectura centralizada de cliente/servidor es necesaria ya que no se cuenta con muchos recursos y es la mejor forma de optimizar gastos. Ya que se cuenta con escasas herramientas de administración, es mejor tener buena calidad de hardware y red para poder trabajar esta arquitectura de la mejor manera. Es importante tener un buen sistema de seguridad debe haber autenticación y verificación en el sistema centralizado ya que es de fácil vulnerabilidad si se accede desde fuera a este sistema.

BIBLIOGRAFÍA

Almidón, C. A. (2005). Conceptos de la Teoría de Sistemas. Andrew S.Tanenbaum, M. V. (2008). Sistemas Distribuidos - Principios y Paradigmas. PearsonEducation. Bazán, P. (2017). Aplicaciones, servicios y procesos distribuidosUna visión para la construcción de software. La Plata: ISBN. De la Puente, P. D., Valdivia Martínez, D., & Zhu, S. (2017). DESARROLLO DE UNA APLICACIÓN CLIENTE-SERVIDOR PARAANÁLISIS DE EXPERIENCIAS DE USUARIO EN REALIDAD VIRTUALCON SEGUIMIENTO DE MOVIMIENTO DEL VISOR Y RECONOCIMIENTO

15 GESTUAL DE LAS MANOS. Obtenido de https://eprints.ucm.es/44685/1/tfgcienciapticos.pdf Departamento de Informatica,Universidad de Valladolid. (2005). Tema 2: EL MODELO CLIENTE/SERVIDOR. Gomáriz, E. M. (2014). Diseño de Sistemas. Obtenido de http://www.essi.upc.edu/~gomariz/index_archivos/IntroduccionSD-EnricMartinez.pdf Martín, Ó. G. (2000). ARQUITECTURAS DE SISTEMAS DE BASES DE DATOS . puebla, U. d. (s.f.). Capítulo 5. Cliente-Servidor. Puebla. Vela, J. (2016). CLIENTE/SERVIDOR....


Similar Free PDFs