C/S:CLIENTE/SERVIDOR ALEJANDRO DOMÍNGUEZ Curso impartido en la Universidad Autónoma de Ciudad del Carmen, Campeche 15/10/1998 PRINCIPIA INFORMATICA 1
Temario La computación C/S Qué es C/S? Tipos de C/S Clasificación de los clientes y servidores Modelos de C/S Dentro de C/S 15/10/1998 PRINCIPIA INFORMATICA 2
LA COMPUTACIÓN C/S Las diferentes versiones de C/S La visión real de C/S El servidor Sistemas de información y C/S 15/10/1998 PRINCIPIA INFORMATICA 3
Las diferentes visiones de C/S Para los adoradores de las PC s significa el abandono de toda macro computadora incapaz de adaptarse al entorno de escritorio la desaparición de la computadora centralizada Para los fanáticos de las macro computadoras significa el surgimiento de una nueva especie de macro computadoras en red renacidas que harán volver al redil a las PC s de las empresas 15/10/1998 PRINCIPIA INFORMATICA 4
La visión real de C/S Para los ecuánimes significa una nueva era de coexistencia y apertura en la que todos pueden participar La realidad es... C/S proporciona un entorno abierto y flexible en el que mezclar e igualar es la regla Las aplicaciones del cliente corren en PC s y otras máquinas de redes LAN Los servidores también corren en LAN y saben cómo comunicarse con PC s 15/10/1998 PRINCIPIA INFORMATICA 5
El servidor Las PC s mas potentes representan super servidores naturales Para que las macro computadoras tengan éxito como servidores deben aprender a convivir en la LAN con las PC s Los servidores con base a macro computadoras ya no podrán tratar a las PC s como terminales tontas La mejor plataforma de servidores es la tenga el mejor costo/desempeño y la mayor calidad de servicios 15/10/1998 PRINCIPIA INFORMATICA 6
Sistemas de información y C/S (1) El desarrollo de aplicaciones C/S requiere de habilidades híbridas... Procesamiento de transacciones Diseño de bases de datos Experiencia en comunicación Conocimiento de GUI s Conocimiento de objetos distribuidos e Internet 15/10/1998 PRINCIPIA INFORMATICA 7
Sistemas de información y C/S (2) La computación C/S puede rendir mejores resultados en organizaciones de SI en dos direcciones SI de línea para la administración y despliegue de sistemas departamentales SI empresarial para la administración de la red global y el establecimiento de los estándares de interoperabilidad Así las LAN locales pueden formar parte de la red global de servicios y proveedores múltiples 15/10/1998 PRINCIPIA INFORMATICA 8
Visión conjunta Servicio Recursos compartidos Protocolos asimétricos Transparencia de ubicación Mezcla e igualdad Intercambios basados en mensajes Encapsulamiento de servicios Facilidad de escalabilidad Integridad QUÉ ES C/S? 15/10/1998 PRINCIPIA INFORMATICA 9
Visión conjunta No existe consenso sobre el significado de cada término Definición a seguir: Clientes y servidores son entidades lógicas independientes que operan en conjunto a través de una red para realizar una tarea Sus características distintivas son... Servicio, recursos compartidos, protocolos asimétricos, transparencia de ubicación, mezcla e igualdad, intercambios basados en mensajes, encapsulamiento de servicios, facilidad de escalabilidad, integridad 15/10/1998 PRINCIPIA INFORMATICA 10
Servicio C/S es una relación entre procesos ejecutados en equipos distintos El proceso del servidor hace de éste un proveedor de servicios El cliente es un consumidor de servicios Conclusión: C/S aporta una clara distinción de funciones con base a la idea de servicio 15/10/1998 PRINCIPIA INFORMATICA 11
Recursos compartidos Un servidor puede... Atender a muchos clientes al mismo tiempo regular el acceso de clientes a recursos compartidos 15/10/1998 PRINCIPIA INFORMATICA 12
Protocolos asimétricos Entre clientes y servidor se establece una relación de muchos a uno Son siempre los clientes los que inician el diálogo al solicitar un servicio Los servidores aguardan pasivamente las solicitudes de los clientes 15/10/1998 PRINCIPIA INFORMATICA 13
Transparencia de ubicación El servidor puede residir en el mismo equipo del cliente o en uno distinto a lo largo de una red En caso necesario, el software de C/S suele ocultarles a los clientes la ubicación del servidor mediante el redireccionamiento de las llamadas de servicio Un programa puede ser un cliente, un servidor o ambos 15/10/1998 PRINCIPIA INFORMATICA 14
Mezcla e igualdad El software ideal de C/S es independiente del hardware o de las plataformas de software del sistema operativo Se debe estar en condiciones de mezclar e igualar plataformas de cliente y de servidor 15/10/1998 PRINCIPIA INFORMATICA 15
Intercambios basados en mensajes Clientes y servidores son sistemas acoplados que interactúan a través de un mecanismo de transmisión de mensajes El mensaje es el mecanismo de entrega para las solicitudes y respuestas de servicio 15/10/1998 PRINCIPIA INFORMATICA 16
Encapsulamiento de servicios Un mensaje le indica a un servidor qué servicio se solicita Los servidores pueden ser sustituidos sin afectar a los clientes siempre y cuando la interfaz para la publicación del mensaje no cambie 15/10/1998 PRINCIPIA INFORMATICA 17
Facilidad de escalabilidad Los sistemas C/S pueden escalarse horizontal o verticalmente Escalabilidad horizontal La adición o la eliminación de estaciones de trabajo del cliente con apenas un ligero impacto en el desempeño Escalabilidad vertical Significa migrar a un equipo servidor mas grande y veloz o a servidores múltiples 15/10/1998 PRINCIPIA INFORMATICA 18
Integridad El código y los datos del servidor se conservan centralmente, resultando en... un mantenimiento de menor costo la protección de la integridad de los datos compartidos Al mismo tiempo los clientes mantienen su individualidad e independencia 15/10/1998 PRINCIPIA INFORMATICA 19
Visión global Servidores de archivos TIPOS DE C/S Servidores de bases de datos Servidores de transacciones Servidores de groupware Servidores de objetos Servidores de Web Middleware Middleware de servidores específicos 15/10/1998 PRINCIPIA INFORMATICA 20
Visión global A muchos sistemas con muy diferentes arquitecturas se les ha llamado C/S Las arquitecturas mas comunes son Servidores de archivos Servidores de bases de datos Servidores de transacciones Servidores de groupware Servidores de objetos Servidores Web 15/10/1998 PRINCIPIA INFORMATICA 21
Servidores de archivos Aplicación Cliente Aplicación Cliente Llamadas de archivos Servidor C/S con servidores de archivos Servidor de archivos 15/10/1998 PRINCIPIA INFORMATICA 22
Servidores de bases de datos Aplicación Cliente Aplicación Cliente Llamadas de SQL Servidor C/S con servidores de bases de datos Servidor de DBMS 15/10/1998 PRINCIPIA INFORMATICA 23
Servidores de transacciones Aplicación Cliente Aplicación Cliente Transacciones C/S con servidores de transacciones Monitor de TP DBMS 15/10/1998 PRINCIPIA INFORMATICA 24 Servidor
Servidores de groupware Aplicación Cliente Aplicación Cliente Mensajes de groupware Servidor C/S con servidores de groupware Servidor de groupware 15/10/1998 PRINCIPIA INFORMATICA 25
Servidores de objetos Aplicación Cliente ORB Objeto Aplicación Invocación de método remoto ORB Servidor Cliente Objeto ORB C/S con objetos distribuidos ObjetoObjeto Objeto Objeto Objeto 15/10/1998 PRINCIPIA INFORMATICA 26
HTML y formas Browser Java Browser C/S con servidores Web Servidores de Web Internet HTTP sobre TCP/IP Documentos de HTML Aplicación Servidor CGI 15/10/1998 PRINCIPIA INFORMATICA 27
Middleware Es un término vago que abarca todo el software distribuido necesario para el soporte entre clientes y servidores Es el componente diagonal (/) de C/S El middleware general incluye Pilas de comunicación, directorios distribuidos, servicios de autenticación, horario de la red, llamadas a procedimientos remotos, servicios en cola Extensiones del NOS, como los servicios distribuidos de archivos e impresión 15/10/1998 PRINCIPIA INFORMATICA 28
Middleware de servicios específicos Para BD: ODBC, DRDA, EDA/SQL, SAG/CLI y Oracle Glue Para OLTP: ATMI y /WS de Tuxedo, Transactional RPC de Encina y TxRPC y XATMI de X/Open Para groupware: MAPI, VIM, VIC, SMTP y las llamadas de Lotus notes Para objetos CORBA de OMG y Network OLE (o DCOM) de Microsoft) Para Internet HTTP, S-HTTP, SSL Para administración de sistemas SNMP, CMIP, ORB 15/10/1998 PRINCIPIA INFORMATICA 29
CLASIFICACIÓN DE LOS CLIENTES Y SERVIDORES Servidores amplios y clientes grandes Servidores amplios Clientes grandes Arquitecturas de 2 y 3 planos C/S de 2 planos C/S de 3 planos C/S Web vs. C/S tradicional 15/10/1998 PRINCIPIA INFORMATICA 30
Servidores amplios y clientes grandes Cliente grande Servidor amplio GUI Cliente Aplicación Datos Servidor 15/10/1998 PRINCIPIA INFORMATICA 31
Servidores amplios (1) En el modelo de servidor amplio se le atribuyen mas funciones al servidor Ejemplos: servidores de groupware, transacciones y Web 15/10/1998 PRINCIPIA INFORMATICA 32
Servidores amplios (2) Los servidores amplios son mas fáciles de administrar y desplegar en red ya que la mayor parte del código corre en los servidores reducen al mínimo los intercambios en red mediante la creación de niveles de servicio mas abstractos Por ejemplo, los servidores de transacciones y de objetos encapsulan la base de datos, en lugar de exportar datos en bruto, exportan procedimientos El cliente aporta el GUI e interactúa con el servidor a través de llamadas a procedimientos remotos 15/10/1998 PRINCIPIA INFORMATICA 33
Clientes grandes (1) En el modelo de cliente grande se procede a la inversa Ejemplos: servidores de bases de datos y de archivos Son la modalidad mas común de C/S La mayor parte de la aplicación corre del lado del cliente 15/10/1998 PRINCIPIA INFORMATICA 34
Clientes grandes (2) Se emplean en software de apoyo de decisiones y personal Ofrece flexibilidad y oportunidades para crear herramientas frontales que les permita a los usuarios finales crear sus propias aplicaciones Los objetos distribuidos pueden ser de ambas clases 15/10/1998 PRINCIPIA INFORMATICA 35
Arquitecturas de 2 y 3 planos (1) Arquitecturas de 2 y 3 planos son términos alternativos para designar los modelos de clientes grandes y servidores amplios Todo se reduce a la forma en el que la aplicación C/S se divide en unidades funcionales que se asignan al cliente o a uno o mas de los servidores Ejemplos de unidades funcionales son la interfaz gráfica del usuario, la lógica de negocios, datos compartidos 15/10/1998 PRINCIPIA INFORMATICA 36
Arquitecturas de 2 y 3 planos (2) La existencia de arquitecturas en planos múltiples depende de la forma en que divida la aplicación del middleware que se emplee para la comunicación entre los planos 15/10/1998 PRINCIPIA INFORMATICA 37
C/S de 2 planos La lógica de aplicación está integrada en... La interfaz del usuario en el cliente, ó La base de datos en el servidor, ó En ambas Ejemplos Servidores de archivos Servidores de bases de datos con procedimientos almacenados 2 tier 15/10/1998 PRINCIPIA INFORMATICA 38
C/S de 3 planos La lógica o proceso de la aplicación ocupa el plano intermedio Está separada tanto de los datos como de la interfaz del usuario Los procesos se pueden desplegar y administrar de forma autónoma, sin relación con la GUI y la base de datos En teoría, son de mas fácil ampliación y mas robustos y flexibles Pueden integrar datos de múltiples fuentes Ejemplos Los monitores de TP Los objetos distribuidos El Web 15/10/1998 PRINCIPIA INFORMATICA 39
C/S Web vs. C/S tradicional Característica de aplicación Cliente/servidor de Cliente/servidor Web Ethernet # de clientes por aplicación Menor a 100 Millones # de servidores por aplicación 1 ó 2 Mayor a 100 000 Geografía Local Global Interacciones servidor a servidor No Sí Middleware SQL y procedimientos ORB sobre Internet Arquitectura cliente/servidor 2 planos 3 o n planos Actualizaciones para transacciones Poco frecuentes Amplias Contenido de multimedia Bajo Alto Agentes móviles No Sí Interfaz del cliente GUI OOUI Horizonte temporal 1985 a la fecha 1997-2000 15/10/1998 PRINCIPIA INFORMATICA 40
Visión global Modelo para micro empresas MODELOS DE C/S Modelo para pequeñas empresas y departamentos Modelo para empresas grandes Modelo para empresas sin limitaciones 15/10/1998 PRINCIPIA INFORMATICA 41
Modelos de C/S para Micro empresas Pequeñas empresas y departamentos Para empresas grandes Para empresas sin limitaciones Visión global Cliente Servidor Los tres elementos básicos de C/S 15/10/1998 PRINCIPIA INFORMATICA 42
Modelo para micro empresas En la misma máquina corren el software el middleware la mayoría de los servicios de negocios Se sugiere para empresas individuales oficinas domesticas usuarios móviles Cliente Servidor 15/10/1998 PRINCIPIA INFORMATICA 43
Modelo para pequeñas empresas y departamentos Implementación clásica de elementos de C/S único de Ethernet Se le emplea en Cliente pequeñas empresas departamentos sucursales Es la modalidad que predomina en la actualidad Servidor 15/10/1998 PRINCIPIA INFORMATICA 44
Modelo para empresas grandes Implementación de elementos de C/S de servidores múltiples Los servidores le presentan al cliente una imagen de sistema único Se le puede dispersar a todo lo largo de la empresa Cliente Servidores 15/10/1998 PRINCIPIA INFORMATICA 45
Modelo para empresas sin limitaciones (1) Transforma todas la máquinas en cliente y servidor al mismo tiempo Los agentes personales de cada máquina manejarán todas las negociaciones con otros agentes en cualquier parte del mundo Este sueño está a punto de hacerse realidad 15/10/1998 PRINCIPIA INFORMATICA 46
Modelo para empresas sin limitaciones (2) Cliente Servidor Cliente Servidor Cliente Servidor Cliente Servidor 15/10/1998 PRINCIPIA INFORMATICA 47
DENTRO DE C/S Infraestructura del software de C/S Infraestructura del middleware servidor a servidor 15/10/1998 PRINCIPIA INFORMATICA 48
Infraestructura del software de C/S Cliente GUI/OOUI Visualizador Web DSM OS Servicios específicos ODBC TxRCP Correo ORB DSM HTTP SNMP CMIP Tivoli/ORB Directorio RPC NOS Seguridad Manejo de mensajes Pilas de transporte Archivos Dist. Igual a igual NetBios TCP/IP IPX/SPX SNA Servidor OBJETOS Web Groupware OLTP DBMS DSM OS 15/10/1998 PRINCIPIA INFORMATICA 49
Infraestructura del middleware servidor a servidor Servidor OBJETOS Web Groupware OLTP DBMS DSM OS Servicios específicos ODBC TxRCP Correo ORB DSM HTTP SNMP CMIP Tivoli/ORB Directorio RPC NOS Seguridad Manejo de mensajes Pilas de transporte Archivos Dist. Igual a igual NetBios TCP/IP IPX/SPX SNA Servidor OBJETOS Web Groupware OLTP DBMS DSM OS 15/10/1998 PRINCIPIA INFORMATICA 50