Document Details

ITKnow

Uploaded by ITKnow

Universidad Siglo 21

Tags

computer systems client-server architecture information technology

Full Transcript

Introducción a tecnologías cliente-servidor Definir la infraestructura de soporte para un sistema de información es uno de los aspectos fundamentales de la tarea del profesional de sistemas. Esta infraestructura se basa en distintos tipos de arquitecturas, como la arquitectura centralizada, construid...

Introducción a tecnologías cliente-servidor Definir la infraestructura de soporte para un sistema de información es uno de los aspectos fundamentales de la tarea del profesional de sistemas. Esta infraestructura se basa en distintos tipos de arquitecturas, como la arquitectura centralizada, construida a partir de considerar un único computador central (mainframe), en el cual recae toda la responsabilidad de procesamiento y almacenamiento de datos, o la arquitectura distribuida, que responde al concepto de considerar distribuir la capacidad de procesamiento del sistema entre varias computadoras conectadas a través de una red de comunicación de datos. En esta lectura presentaremos la tecnología cliente-servidor, que se basa en la arquitectura distribuida. Para desarrollar los conceptos, analizaremos el Caso: Comercial Mayorista S. A. descripto en la lectura: Arquitectura. Introducción a tecnologías cliente-servidor Componentes esenciales de la infraestructura cliente-servidor Referencias Descarga en PDF Lección 1 de 4 Introducción a tecnologías cliente-servidor Sugerimos visualizar el siguiente video como recurso introductorio al concepto de arquitectura cliente-servidor. Video 1: Introducción arquitectura Cliente - Servidor Modelo Cliente Servidor, Explicación Simple Fuente: Fazt. (2 de diciembre de 2017). Modelo Cliente Servidor, Explicación Simple [Video de YouTube]. Recuperado de https://www.youtube.com/watch?v=49zdlyLSwhQ El modelo cliente-servidor se basa en una arquitectura distribuida, en donde las terminales, también denominadas clientes, realizarán requerimientos de procesamiento a otras computadoras, denominadas servidores. Se puede considerar que consiste en la implementación de una arquitectura de red en la que cada computadora conectada puede cumplir el rol de cliente o de servidor. La arquitectura cliente-servidor permite modelar los sistemas de información como un conjunto de servicios proporcionados por equipos servidores, los cuales son utilizados por los equipos clientes. La siguiente figura muestra el principio de funcionamiento de este modelo: Fuente: [Imagen sin título sobre modelo cliente-servidor]. (s. f.). Recuperada http://tareaspswjessicavaldes.blogspot.com/2016/03/tarea-5-cliente-servidor.html de Figura 1: Arquitectura cliente-servidor El cliente realiza una petición o solicitud al servidor y este responde a la solicitud del cliente. En la Figura 1, podemos observar que el cliente, que es quien interactúa con el usuario, comienza el ciclo de trabajo realizando las peticiones de servicio correspondientes. Se disparan los procesos que se encargan de establecer la comunicación, a través de la cual se enviarán las solicitudes y respuestas. En el otro extremo, el servidor se encargará de procesar los requerimientos y elaborar la respuesta. Gráficamente, podemos resumir este proceso de la siguiente manera: Figura 2: Proceso cliente-servidor El gráfico muestra los pasos del proceso cliente-servidor, que inicia con la solicitud que realiza el usuario a través de la interfaz de la aplicación cliente, y culmina con el procesamiento de la respuesta enviada por el servidor. Fuente: elaboración propia. De acuerdo con las características de trabajo, en general, los servidores deben ser máquinas de gran capacidad de procesamiento, mientras que los clientes pueden ser computadoras de menor capacidad y usar los recursos provistos por el servidor. Es fundamental, en este esquema de trabajo, la red que permite la comunicación entre los componentes. Sin esta red de comunicación, es imposible realizar las peticiones y obtener las respuestas correspondientes. Algunas consideraciones a tener en cuenta sobre esta arquitectura: Los clientes necesitan saber qué servidores están disponibles, no así si hay clientes disponibles. Los clientes y servidores son procesos distintos. Varios procesos servidores pueden ejecutarse en un mismo servidor físico. Por ejemplo, podemos considerar la siguiente arquitectura física: Fuente: elaboración propia. Figura 3: Arquitectura física cliente-servidor Se muestra la existencia de computadoras con roles de clientes y servidores conectadas por medio de una red. Si bien en la figura existen dos servidores físicos, es posible que existan varios procesos servidores corriendo en cada uno de ellos. Esto implica que debemos diferenciar entre equipos servidores físicos y procesos servidores, los cuales se denominan procesos lógicos que atienden las peticiones de los clientes. El siguiente esquema representa el modelo cliente-servidor desde el punto de vista de los procesos lógicos corriendo en los servidores físicos instalados. Figura 4: Arquitectura o sistema de procesos cliente-servidor En este gráfico se visualiza la interacción entre procesos clientes y procesos servidores. Se puede verificar la existencia de más de un “proceso servidor” por “servidor físico”. Fuente: elaboración propia.  Referencia caso de estudio El sistema de facturación implementado actualmente responde a un sistema centralizado donde se evidencian los componentes detallados. Se trata de un servidor central que se encarga de realizar todo el procesamiento y responder a los requerimientos que realizan los usuarios a través de las terminales clientes. Cada acción que se realiza en la terminal se traduce en una petición al servidor central, quien resuelve el pedido y responde. C O NT I NU A R Lección 2 de 4 Componentes esenciales de la infraestructura cliente-servidor En la descripción de la arquitectura cliente-servidor se nombraron distintos tipos de componentes que la conforman. Entre estos componentes encontramos los clientes, que asumen un rol activo en el esquema de trabajo, ya que son los que inician el proceso de trabajo enviando la petición correspondiente al servidor, y los servidores, que tienen un rol pasivo, porque permanentemente están a la espera de una petición de un cliente para elaborar la respuesta correspondiente. Además de clientes y servidores, existe un componente de gran importancia, el middleware, que cumple la función de interfaz que provee la conectividad entre aplicaciones clientes, aplicaciones servidoras y entre aplicaciones y base de datos. A continuación, realizaremos una descripción detallada de uno de los componentes. Clientes El cliente es el componente de este tipo de arquitectura, que interactúa con el usuario a través de una interfaz que, generalmente, es de tipo gráfica. Es el responsable de iniciar las solicitudes que serán enviadas al servidor para su procesamiento. Cumple un rol activo, porque es el iniciador del proceso en este esquema de trabajo. En los comienzos, se definía como cliente a las máquinas que no tenían capacidad de procesamiento, sino que necesitaban conectarse para realizar la petición y mostrar los resultados. Este tipo de clientes presentaba la ventaja de su bajo costo. En la actualidad, se utilizan para la obtención de datos externos o para utilizar recursos compartidos, no disponibles en la máquina local. Un ejemplo muy difundido de cliente es el navegador web.  Referencia caso de estudio En el sistema de información actual de la organización, las terminales que componen la línea de cajas son los equipos que cumplen el rol de clientes dentro la estructura. A través de ellos se realizan las distintas tareas propias de un proceso de facturación, como entrada de datos para búsqueda de artículos, ingreso de datos del comprador, generación del ticket. Cada una de estas tareas genera peticiones que son resueltas por el servidor central. Características y funciones principales de un cliente Los clientes se reconocen como los componentes de rol activo, porque son quienes dan inicio al proceso en el esquema cliente-servidor, mediante la realización de un requerimiento al servidor. Las funciones que pueden realizar son las siguientes. Captar los datos ingresados por el usuario para iniciar la solicitud o requerimiento; administrando la interfaz del usuario; realizar la validación local de los datos ingresados por el usuario; procesar la lógica de la aplicación para la captura de los datos; en algunos casos, dependiendo de sus características, pueden almacenar datos; generar los requerimientos al servidor; procesar las respuestas recibidas; dar formato a los resultados; mostrar resultados al usuario. De acuerdo a su complejidad, se pueden encontrar distintos tipos de clientes, los cuales detallamos a continuación. Cliente liviano o flaco Cliente liviano, también llamado cliente ligero o flaco, es un proceso cliente en una arquitectura de red cliente-servidor que depende, fundamentalmente, del servidor central para las tareas de procesamiento. Se enfoca en tomar datos, enviarlos al servidor y mostrar los resultados obtenidos. Un cliente liviano se caracteriza por tener muy reducida su capacidad de procesamiento. Su tarea se reduce a: tomar datos ingresados a través de la interfaz; enviar datos al servidor; mostrar los resultados que se obtengan del requerimiento realizado.  Referencia caso de estudio En el caso expuesto, en la línea de cajas, la organización incorpora clientes livianos, que solo cargan parte de la interfaz de usuario para realizar las interacciones básicas con el sistema. En este caso, solo entrada de códigos de productos para su posterior facturación. Cliente pesado o gordo Se denomina cliente pesado al proceso cliente de una arquitectura clienteservidor con capacidad de procesamiento y mayor carga de cómputo. Se lo suele denominar cliente grueso o gordo. Un cliente pesado hace tanto procesamiento como sea posible, pasando solamente los datos para establecer las comunicaciones y almacenamiento en servidor. Se caracteriza por tener capacidad no solo para realizar solicitudes, sino también para procesarlas y almacenarlas. Sus tareas, entonces, son las siguientes: captar los datos ingresados por el usuario para iniciar la solicitud o requerimiento, administrando la interfaz del usuario; realizar la validación local de los datos ingresados por el usuario; procesar la lógica de la aplicación para la captura de los datos; en algunos casos, dependiendo de sus características, puede almacenar datos, generar los requerimientos al servidor; procesar las respuestas recibidas; dar formato a los resultados; mostrar resultados al usuario. Es importante destacar que, si bien el cliente pesado tiene capacidad de procesamiento, no puede realizar por sí solo todas las funciones que lo convertirían en un componente autónomo. Un ejemplo de este tipo de cliente son los clientes de correo electrónico, que pueden recibir mensajes y redactar nuevos, pero dependen de un servidor para chequearlos. Cliente híbrido Un cliente híbrido es un tipo de cliente que combina las características de los clientes livianos y pesados. Prácticamente, es muy parecido a un cliente pesado, pero no puede almacenar datos; solamente puede procesarlos. Este tipo de clientes puede realizar las siguientes funciones: captar los datos ingresados por el usuario para iniciar la solicitud o requerimiento, administrando la interfaz del usuario; realizar la validación local de los datos ingresados por el usuario; procesar la lógica de la aplicación para la captura de los datos; generar los requerimientos al servidor; procesar las respuestas recibidas; dar formato a los resultados; mostrar resultados al usuario.  Referencia caso de estudio Como se detalla en la referencia inmediata anterior, los clientes instalados en el sistema actual son livianos. En el proceso de plan de mejora del sistema, es muy importante considerar la incorporación de clientes de distinto tipo en otras áreas de la organización que permitan desarrollar tareas más complejas aprovechando su capacidad de procesamiento. Por ejemplo, en el Área de Administración, se podrían incorporar computadoras que permitan solicitar datos al servidor central y realizar un procesamiento local de estos para obtener información de soporte para la toma de decisiones Servidores El servidor es el otro componente fundamental. Se lo puede definir como el proceso que se encarga de realizar una o varias tareas solicitadas por los clientes. Los servidores tienen tareas específicas, como gestionar el tráfico en la red, identificar las estaciones de trabajo y brindar servicios a los clientes, por ejemplo, acceso a archivos compartidos, correo electrónico, entre otros. Los servidores están al "servicio" de las aplicaciones clientes. Su rol puede considerarse pasivo, ya que NO son quienes inician una solicitud, sino quienes contestan. Pueden prestar servicio a múltiples solicitudes de clientes en forma simultánea. Usualmente, se considera como servidor a una máquina potente, aunque no siempre es lo que se necesita. Antes de decidir el tipo de computadora a utilizar, es importante saber cuáles son las necesidades que se deben cubrir.  Referencia caso de estudio En la arquitectura actual, se reconoce la existencia de una computadora central, que concentra todo el procesamiento necesario y almacena los datos correspondientes. Este tipo de computadoras, en el esquema centralizado de la actual implementación, debe tener características de procesamiento y almacenamiento muy grandes, porque debe atender a todos los clientes en forma concurrente. No puede presentar demoras en el proceso de facturación. Funciones principales de un servidor En general, los servidores realizan las siguientes funciones: recepción de los requerimientos de los clientes; procesamiento de los requerimientos; realización de validaciones a nivel de base de datos, no locales como realizan los clientes; formateo de datos para otorgar las respuestas a los clientes; manejo de accesos concurrentes; almacenamiento de la información. Tipos de servidores Existen distintos tipos de servidores, cada uno con características propias, que dependen del tipo de tarea específica que deben realizar. Por ejemplo, existen servidores dedicados a almacenar y compartir archivos, servidores de impresión, servidores de correo, entre otros. En la siguiente tabla detallamos los distintos tipos de servidores que podemos encontrar y cuál es su función específica. Tabla 1. Tipos de servidores y sus funciones Descripción: Existen distintos tipos de servidores, cada uno con una función específica, de acuerdo a la tarea que debe realizar. Servidor Función específica Servidor de impresiones Maneja toda la información referente a las impresiones. Sus funciones principales son las de receptar los trabajos de impresión de los usuarios y otorgarles el correspondiente orden para que la impresión pueda ser realizada. Servidor Función específica Servidor de correo Es el responsable del manejo del correo dentro de una empresa. Se encarga de mover y almacenar el correo, así como también de enviar, recibir, enrutar y realizar otras operaciones relacionadas con e-mails para los clientes de la red. Servidor de archivos Almacena los archivos comunes dentro de una organización, a los que luego cada usuario podrá acceder según los permisos que tenga sobre estos. Este tipo de servidores es ampliamente utilizado en las empresas para compartir archivos. Servidor FTP Es uno de los servicios que más se utiliza en Internet. Un servidor de este tipo nos ayuda a subir y bajar archivos. Existe en la actualidad una gran cantidad de programas que permiten conectarse a estos servidores y subir y bajar archivos sin ningún tipo de inconveniente. Servidor de base de datos Son los servidores por excelencia dentro de un entorno cliente/servidor, ya que son los que almacenan la información. Este tipo de servidores se caracterizan por ser máquinas potentes para poder contener la información y responder adecuadamente a los servicios que se les soliciten. Servidor Función específica Servidor de telefonía Realiza funciones relacionadas con la telefonía. Servidor Web En la actualidad, es uno de los tipos de servidores más populares. Es el responsable de recibir los pedidos de los clientes mediante el protocolo HTTP (del inglés, Hypertext Transfer Protocol, o “protocolo de transferencia de hipertexto”, en español) y devolverlos a los clientes. Impresoras como servidor Las nuevas impresoras son, muchas veces, capaces por sí mismas de actuar como parte de una red, sin la necesidad de estar conectadas. Su poderoso software permite este tipo de configuración. Fuente: elaboración propia.  Referencia caso de estudio En el caso expuesto, de acuerdo al detalle desarrollado, se puede reconocer la existencia de un servidor de base de datos que contiene todos los datos derivados del funcionamiento de la organización. Por las características del sistema, se evidencia que debe ser un computador con gran capacidad de almacenamiento y de respuesta, porque debe responder a múltiples clientes operando al mismo tiempo y gestionando volumen de información importante. En el plan de mejora, se debe tener en cuenta que este es uno de los puntos fundamentales a tratar, considerando nuevas alternativas de implementación que permitan mejorar el nivel de servicio.  Referencia caso de estudio En el plan de mejora del sistema de información, es factible incorporar otro tipo de servidores que permitan mejorar los servicios dentro la organización y favorecer a los procesos que se llevan a cabo. Se pueden incorporar servidores de archivos para compartir documentos e impresoras como servidor para compartir a través de la red. Middleware En el esquema cliente-servidor, se establece el vínculo entre clientes y servidores a través de una infraestructura de comunicaciones. El proceso de trabajo comienza con la petición que el cliente envía, a través de la red de comunicaciones, al servidor, para realizar algún tipo de tarea. El servidor procesa y devuelve los resultados correspondientes. Tanto el proceso cliente como el proceso servidor deben interactuar con el sistema de comunicaciones para desarrollar su tarea. Esta interacción es factible de ser realizada con cierta facilidad gracias a la existencia de otro componente, llamado middleware, que permite a las aplicaciones interactuar con otras aplicaciones, redes, hardware y/o sistemas operativos. Este esquema de interacción se puede observar en la Figura 5. Fuente: elaboración propia. Figura 5. Funciones del middleware Capa de servicio intermedio que facilita el proceso de interacción entre procesos cliente y servidor con la plataforma, conformada por software y hardware que definen el entorno de ejecución. El middleware es un tipo de interfaz que provee conectividad entre aplicaciones clientes y aplicaciones servidoras. Esta capa de software evita el manejo de detalle de bajo nivel correspondiente a protocolos de comunicación, sistemas operativos y base de datos a los desarrolladores. Existen diversos tipos de interfaces: API's, PRC's, Pipes, mensajería de red y accesos a bases de datos. Características de un middleware Dentro de las características fundamentales, podemos enumerar las siguientes: Es responsable directo de realizar el acceso a los datos. Acepta las consultas (enviadas por el cliente y transmitidas a través de la red). Devuelve resultados y códigos de error correspondientes. Permite simplificar el desarrollo de las aplicaciones (ofrece nivel de abstracción). Implica utilizar paquetes específicos de software para el desarrollo de las aplicaciones. Esto sujetará a la empresa a un suministrador y a su política de actualización del producto, que puede ser distinta de la de actualización de los sistemas operativos con los que se comunica el módulo middleware. Tipos de middleware Existen dos tipos de middleware: Middleware general – Este tipo de middleware permite “la impresión de documentos remotos, manejos de transacciones, autenticación de usuarios, etc.” (Martos Navarro, Desongles Corrales, Garzón Villar, Sampalo De La Torre y Ponce Cifredo, 2006, p. 210). Interviene y permite la mayoría de las interconexiones de cliente/servidor. Incluye pilas de comunicación, directorios distribuidos, servicios de autenticación, llamadas a procedimientos remotos y servicios en cola (Canepa, s. f.). También se incluyen en esta categoría las extensiones del sistema operativo de redes, como los servicios distribuidos de archivos e impresión. Entre los productos que pertenecen a esta categoría tenemos: NetWare, Named Pipes, TCP/IP y NetBios. Middleware de servicios específicos – Son middleware que trabajan orientados a mensajes. Trabajan una sola transacción a la vez; son necesarios para cumplir con tipos particulares de servicios. En esta categoría podemos encontrar middleware para base de datos como ODBC, middleware para OLTP como ATMI y TxRPC.  Referencia caso de estudio En el sistema actual o en el sistema propuesto en el plan de mejora, tendrán presencia distintos tipos de middleware. Se reconocen, en principio, dos fundamentales: middleware de comunicaciones y de base de datos. C O NT I NU A R Lección 3 de 4 Referencias Canepa, D. H. (s. f.). Modelos de Integración y Arquitecturas Distribuidas [Tesis de grado, Universidad de Buenos Aires]. Recuperado de http://dc.sigedep.exactas.uba.ar/media/academic/grade/thesis/canepa.pdf [Imagen sin título sobre modelo cliente-servidor]. (s. f.). Recuperada de http://tareaspswjessicavaldes.blogspot.com/2016/03/tarea-5-clienteservidor.html Martos Navarro, F., Desongles Corrales, J., Garzón Villar, M. L., Sampalo De La Torre, A. y Ponce Cifredo, E. A. (2006). Técnicos de soporte informático de la comunidad de Castilla y León. Temario. Volumen I. Recuperado de https://books.google.com.ar/books? id=P63Pp_St9yoC&pg=PA210&lpg=PA210&dq=Este+tipo+de+Middleware+pe rmite+la+impresi%C3%B3n+de+documentos+remotos,+manejos+de+transa cciones,+autenticaci%C3%B3n+de+usuarios,+etc.&source=bl&ots=xINmToni 5e&sig=ACfU3U1RmmDj8hFrsuDsFuYRY23kUr_RcA&hl=es&sa=X&ved=2ahU KEwjfk5LohuPwAhVOrpUCHTczAyQQ6AEwB3oECBMQAw#v=onepage&q=E ste%20tipo%20de%20Middleware%20permite%20la%20impresi%C3%B3n%2 0de%20documentos%20remotos%2C%20manejos%20de%20transacciones% 2C%20autenticaci%C3%B3n%20de%20usuarios%2C%20etc.&f=false Lección 4 de 4 Descarga en PDF Módulo 1 - Lectura 2.pdf 520.6 KB

Use Quizgecko on...
Browser
Browser