SlideShare una empresa de Scribd logo
1 de 20
Procesamiento distribuido,
cliente/servidor y clusters.
Sistemas operativos II
Universidad Politécnica de Ingeniería
El concepto de la computación
cliente/servidor y otros conceptos
relacionados, están teniendo cada vez más
importancia en los sistemas de tecnología
de la información.
Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
El propio término sugiere, un entorno cliente/servidor está formado por clientes y
servidores. Las máquinas cliente son normalmente simples PCs o estaciones de trabajo
que proporcionan una interfaz de fácil manejo al usuario final. Las estaciones cliente
suelen utilizar una interfaz gráfica que es más cómoda para los usuarios, e incluyen el
uso de ventanas y del ratón.
Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Algunos ejemplos de estas interfaces son
los sistemas operativos Microsoft
Windows o Macintosh. Las aplicaciones
basadas en el cliente están diseñadas
para ser fáciles de usar e incluyen
aplicaciones tan familiares como una
hoja de cálculo.
Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Cada servidor en un entorno cliente/servidor proporciona un conjunto de servicios
compartidos a los clientes. El tipo más común de servidor es un servidor de base de
datos, que normalmente controla una base de datos relacional. El servidor permite a los
clientes compartir el acceso a una base de datos y permite el uso de sistemas de
computación de alto rendimiento para gestionar la base de datos.
Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Además de clientes y servidores, el tercer elemento esencial en un entorno
cliente/servidor es la red. La computación cliente/servidor normalmente es una
computación distribuida. Los usuarios, las aplicaciones y los recursos se distribuyen en
respuesta a los requisitos de trabajo y se unen a través de una LAN, WAN o Internet.
Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
La característica fundamental de una arquitectura cliente/servidor es la distribución de las tareas
de la aplicación entre el cliente y el servidor.
Tanto en el cliente como en el servidor, por supuesto, el software básico es el sistema operativo
que ejecuta sobre el hardware de la plataforma. La plataforma y el sistema operativo del cliente
y del servidor pueden ser diferentes. De hecho, pueden existir diferentes plataformas de clientes
y sistemas operativos y diferentes plataformas de servidor en un mismo entorno. Siempre que
los clientes y los servidores compartan los mismos protocolos de comunicación y soporten las
mismas aplicaciones, estas diferencias de bajo nivel no son relevantes.
Aplicaciones Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Quien permite que interactúen el cliente y el servidor es el software de comunicaciones.
El principal ejemplo de este software es TCP/IP. Por supuesto, el objetivo de todo este
software de soporte (comunicaciones y sistema operativo) es proporcionar las bases
para las aplicaciones distribuidas. De forma ideal, las funciones que realiza una
aplicación se pueden dividir entre el cliente y el servidor, de manera que se optimice el
uso de los recursos. En algunos casos, dependiendo de las necesidades de la aplicación,
la mayor parte del software de aplicación ejecuta en el servidor, mientras que en otros
casos, la mayor parte de la lógica de la aplicación está situada en el cliente.
Aplicaciones Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Un factor esencial en el éxito de un entorno cliente/servidor es la forma en que el
usuario interactúa con el sistema. De esta forma, es decisivo el diseño de la interfaz de
usuario en la máquina cliente. En la mayor parte de los sistemas cliente/servidor, se
hace mucho énfasis en proporcionar una interfaz gráfica de usuario (GUI) que sea fácil
de usar, fácil de aprender y, a la vez, potente y flexible. De esta forma, podemos pensar
en el módulo de servicios de presentación en la parte del cliente, como el responsable
de proporcionar una interfaz de fácil manejo a las aplicaciones distribuidas disponibles
en el entorno.
Aplicaciones Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
El servidor es responsable del mantenimiento de la base de datos, para lo que se
requiere un complejo sistema gestor de base de datos. En las máquinas clientes se
pueden situar diferentes aplicaciones que hacen uso de la base de datos. El
«pegamento» que une al cliente y al servidor es el software que permite que el cliente
haga peticiones para acceder al servidor de la base de datos. Un ejemplo muy popular
es el lenguaje estructurado de consultas (SQL).
Aplicaciones Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Clases de aplicaciones cliente/servidor. Dentro del marco
general cliente/servidor, hay una serie de
implementaciones que dividen el trabajo entre el cliente y
el servidor de diferente manera. La Figura 14.5 muestra, en
términos generales, algunas de las principales opciones
para aplicaciones de bases de datos. Son posibles otras
divisiones y, para otra clase de aplicaciones, se podrían
realizar caracterizaciones diferentes. En cualquier caso, es
bueno observar esta figura y analizar las diferentes
posibilidades.
Clases de Aplicaciones Cliente / Servidor
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
La Figura 14.5 representa cuatro clases:
• Procesamiento basado en el host. El procesamiento basado en el host no es una
verdadera computación cliente/servidor tal y como se entiende el término. Se refiere a
los entornos mainframe tradicionales en los que virtualmente todo el procesamiento se
realiza en el host central. A menudo, la interfaz de usuario se realiza a través de un
interfaz tonto. Incluso si el usuario está empleando una computadora, la estación del
usuario se limita al papel de emulador de terminal.
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Clases de Aplicaciones Cliente / Servidor
La Figura 14.5 representa cuatro clases:
• Procesamiento basado en el servidor. La clase más básica de configuración cliente/servidor es
en la que el cliente es el principal responsable de proporcionar la interfaz gráfica de usuario,
mientras que prácticamente todo el procesamiento se realiza en el servidor. Esta configuración
es típica de cuando se comienza a utilizar el entorno cliente/servidor, especialmente en sistemas
a nivel de departamento. El razonamiento detrás de estas configuraciones es que la estación de
trabajo del usuario es mejor para proporcionar una interfaz de usuario de fácil manejo, y que las
bases de datos y las aplicaciones se pueden mantener más fácilmente en sistemas centrales.
Aunque el usuario obtiene la ventaja de una mejor interfaz, este tipo de configuraciones no
suele generar grandes ventajas en productividad, ni cambios fundamentales en las funciones de
negocio soportadas por el sistema.
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Clases de Aplicaciones Cliente / Servidor
La Figura 14.5 representa cuatro clases:
• Procesamiento basado en el cliente. En el otro extremo, prácticamente todo el
procesamiento se puede realizar en el cliente, con la excepción de las rutinas de
validación de datos y otras funciones de la lógica de la base de datos que se pueden
realizar mejor en el servidor. Generalmente, alguna de las funciones más sofisticadas de
la lógica de la base de datos se realizan en la parte cliente. Esta arquitectura es, quizás,
el enfoque cliente/servidor más común actualmente en uso. Permite a los usuarios el
uso de aplicaciones adaptadas a las necesidades locales.
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Clases de Aplicaciones Cliente / Servidor
La Figura 14.5 representa cuatro clases:
• Procesamiento cooperativo. En una configuración de procesamiento cooperativo, el
procesamiento de la aplicación se realiza de forma óptima, beneficiándose de las
máquinas cliente y servidora y de la distribución de los datos. Esta configuración es más
compleja de configurar y mantener pero, a largo plazo, puede proporcionar mayor
productividad a los usuarios y mayor eficiencia de red que otros enfoques
cliente/servidor.
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Clases de Aplicaciones Cliente / Servidor
Un servicio fiable de paso de mensajes es el que garantiza la entrega si es posible. Estos servicios
hacen uso de un protocolo de transporte fiable o de una lógica similar, y realizan comprobación
de errores, acuse de recibo, retransmisión y reordenamiento de mensajes desordenados. Ya que
se garantiza el envío, no es necesario informar al proceso emisor de que el mensaje ha sido
enviado. Sin embargo, podría ser útil informar al proceso emisor vía un acuse de recibo para que
sepa que la entrega ya tuvo lugar. En cualquier caso, si falla el envío del mensaje (por ejemplo,
fallo persistente de la red, fallo del sistema de destino), se informa del fracaso al proceso emisor.
En el otro extremo, el servicio de paso de mensajes no fiable simplemente envía el mensaje por
la red pero no se le indica ni el éxito ni el fracaso. Esta alternativa reduce enormemente la
complejidad y la sobrecarga de procesamiento y comunicación del servicio de paso de mensajes.
Para las aplicaciones que requieran confirmación de que el mensaje ha sido entregado, la propia
aplicación debe enviar y recibir mensajes para satisfacer este requisito.
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Fiable Versus No Fiable
Un importante y relativamente reciente diseño de sistema de computación es el Cluster.
Los Clusters son una alternativa al Multiprocesamiento Simétrico (SMP), y son sistemas
que proporcionan un alto rendimiento y una alta disponibilidad y que son
particularmente atractivos para aplicaciones de servidor.
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Clusters
Podemos definir un cluster como un grupo de computadoras completas e
interconectadas, que trabajan juntas como un recurso de computación unificado y que
pueden crear la ilusión de ser una única máquina. El término computadora completa
significa un sistema que puede ejecutar por sí mismo, aparte del cluster; en la literatura,
cada computadora de un Cluster se denomina nodo.
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Clusters
Cuatro beneficios que se pueden lograr con los cluster. Estos beneficios también se pueden ver como
objetivos o requisitos de diseño:
• Escalabilidad absoluta. Es posible crear un gran cluster que supere la potencia de incluso la mayor de las
máquinas. Un cluster puede tener decenas o incluso centenas de máquinas, cada una de ellas un
multiprocesador.
• Escalabilidad incremental. Un cluster se configura de tal manera que sea posible añadir nuevos sistemas
al cluster en pequeños incrementos. De esta forma, un usuario puede comenzar con un sistema pequeño
y expandirlo según sus necesidades, sin tener que hacer grandes actualizaciones en las que un pequeño
sistema debe ser reemplazado por uno mayor.
• Alta disponibilidad. Ya que cada nodo del cluster es una computadora en sí mismo, el fallo de uno de los
nodos no significa pérdida del servicio. En muchos productos, el software maneja automáticamente la
tolerancia a fallos.
• Relación precio/prestaciones. A través del uso de bloques de construcción es posible hacer un cluster
con igual o mayor poder computacional que una única máquina mayor, con mucho menor coste.
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Clusters
• Proxy
• DNS
• Web
• FTP
• POP3 y SMTP
• DHCP
Ing. Kevin Matamoros
Sistemas Operativos II
Universidad Politécnica de Ingeniería
Servicios

Más contenido relacionado

Similar a Cliente/Servidor: Conceptos y Clases de Aplicaciones

Conceptos Basicos de Bases de Datos Multiusuario
Conceptos Basicos de Bases de DatosMultiusuarioConceptos Basicos de Bases de DatosMultiusuario
Conceptos Basicos de Bases de Datos Multiusuarioheliozwt
 
Cliente servidor
Cliente   servidorCliente   servidor
Cliente servidorwilmersp04
 
Arquitectura servidores
Arquitectura servidoresArquitectura servidores
Arquitectura servidoresrulo182
 
Sesion 08 tel202 2010-1
Sesion 08   tel202 2010-1Sesion 08   tel202 2010-1
Sesion 08 tel202 2010-1kevinXD123
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 nivelesLupitha Mendoza
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 nivelesLupitha Mendoza
 
Arquitectura cliente servidor en internet
Arquitectura cliente servidor en internetArquitectura cliente servidor en internet
Arquitectura cliente servidor en internetodilia puentes velandia
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidorDiego Ortiz
 
Arquitectura cliente servidor orlando casadiego remington cucuta
Arquitectura cliente servidor orlando casadiego remington cucutaArquitectura cliente servidor orlando casadiego remington cucuta
Arquitectura cliente servidor orlando casadiego remington cucutaOrlando Casadiego
 
Actividad no. 3. modelo cliente servidor licimaco contreras
Actividad no. 3. modelo cliente servidor licimaco contrerasActividad no. 3. modelo cliente servidor licimaco contreras
Actividad no. 3. modelo cliente servidor licimaco contreraslicoqui
 
Tabajo de introduccion de sistemas informaticos semana 6
Tabajo de introduccion de sistemas informaticos semana 6Tabajo de introduccion de sistemas informaticos semana 6
Tabajo de introduccion de sistemas informaticos semana 6Ena Leon
 

Similar a Cliente/Servidor: Conceptos y Clases de Aplicaciones (20)

Cliente-Servidor
Cliente-ServidorCliente-Servidor
Cliente-Servidor
 
Conceptos Basicos de Bases de Datos Multiusuario
Conceptos Basicos de Bases de DatosMultiusuarioConceptos Basicos de Bases de DatosMultiusuario
Conceptos Basicos de Bases de Datos Multiusuario
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Soa
SoaSoa
Soa
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
Cliente servidor
Cliente   servidorCliente   servidor
Cliente servidor
 
Arquitectura servidores
Arquitectura servidoresArquitectura servidores
Arquitectura servidores
 
Sesion 08 tel202 2010-1
Sesion 08   tel202 2010-1Sesion 08   tel202 2010-1
Sesion 08 tel202 2010-1
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
Arquitectura cliente
Arquitectura cliente Arquitectura cliente
Arquitectura cliente
 
Arquitectura cliente servidor en internet
Arquitectura cliente servidor en internetArquitectura cliente servidor en internet
Arquitectura cliente servidor en internet
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Arquitectura cliente servidor orlando casadiego remington cucuta
Arquitectura cliente servidor orlando casadiego remington cucutaArquitectura cliente servidor orlando casadiego remington cucuta
Arquitectura cliente servidor orlando casadiego remington cucuta
 
Introducción a SOR
Introducción a SORIntroducción a SOR
Introducción a SOR
 
Realidad virtual y cliente servidor
Realidad virtual y cliente servidorRealidad virtual y cliente servidor
Realidad virtual y cliente servidor
 
Actividad no. 3. modelo cliente servidor licimaco contreras
Actividad no. 3. modelo cliente servidor licimaco contrerasActividad no. 3. modelo cliente servidor licimaco contreras
Actividad no. 3. modelo cliente servidor licimaco contreras
 
Tabajo de introduccion de sistemas informaticos semana 6
Tabajo de introduccion de sistemas informaticos semana 6Tabajo de introduccion de sistemas informaticos semana 6
Tabajo de introduccion de sistemas informaticos semana 6
 
Arquitectura cliente
Arquitectura clienteArquitectura cliente
Arquitectura cliente
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 

Último

Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosDebora Gomez Bertoli
 
PLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariaPLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariajosevilla696981
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añosMaraPazCrdenas
 
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOPERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOAdrianaBernal82
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf socialesJhonathanRodriguez10
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptCARLOSAXELVENTURAVID
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptxRosiClaros
 
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfTALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfMiguelGomez900779
 

Último (8)

Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
 
PLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primariaPLANIFICACION ANUAL , año 2024. nivel primaria
PLANIFICACION ANUAL , año 2024. nivel primaria
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
 
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVOPERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
PERFIL SECRETARIAL - SECRETARIADO EJECUTIVO
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.ppt
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
 
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdfTALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
TALLER SOBRE METODOLOGÍAS DE DESARROLLO DE SOFTWARE..pdf
 

Cliente/Servidor: Conceptos y Clases de Aplicaciones

  • 1. Procesamiento distribuido, cliente/servidor y clusters. Sistemas operativos II Universidad Politécnica de Ingeniería
  • 2. El concepto de la computación cliente/servidor y otros conceptos relacionados, están teniendo cada vez más importancia en los sistemas de tecnología de la información. Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 3. El propio término sugiere, un entorno cliente/servidor está formado por clientes y servidores. Las máquinas cliente son normalmente simples PCs o estaciones de trabajo que proporcionan una interfaz de fácil manejo al usuario final. Las estaciones cliente suelen utilizar una interfaz gráfica que es más cómoda para los usuarios, e incluyen el uso de ventanas y del ratón. Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 4. Algunos ejemplos de estas interfaces son los sistemas operativos Microsoft Windows o Macintosh. Las aplicaciones basadas en el cliente están diseñadas para ser fáciles de usar e incluyen aplicaciones tan familiares como una hoja de cálculo. Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 5. Cada servidor en un entorno cliente/servidor proporciona un conjunto de servicios compartidos a los clientes. El tipo más común de servidor es un servidor de base de datos, que normalmente controla una base de datos relacional. El servidor permite a los clientes compartir el acceso a una base de datos y permite el uso de sistemas de computación de alto rendimiento para gestionar la base de datos. Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 6. Además de clientes y servidores, el tercer elemento esencial en un entorno cliente/servidor es la red. La computación cliente/servidor normalmente es una computación distribuida. Los usuarios, las aplicaciones y los recursos se distribuyen en respuesta a los requisitos de trabajo y se unen a través de una LAN, WAN o Internet. Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 7. La característica fundamental de una arquitectura cliente/servidor es la distribución de las tareas de la aplicación entre el cliente y el servidor. Tanto en el cliente como en el servidor, por supuesto, el software básico es el sistema operativo que ejecuta sobre el hardware de la plataforma. La plataforma y el sistema operativo del cliente y del servidor pueden ser diferentes. De hecho, pueden existir diferentes plataformas de clientes y sistemas operativos y diferentes plataformas de servidor en un mismo entorno. Siempre que los clientes y los servidores compartan los mismos protocolos de comunicación y soporten las mismas aplicaciones, estas diferencias de bajo nivel no son relevantes. Aplicaciones Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 8. Quien permite que interactúen el cliente y el servidor es el software de comunicaciones. El principal ejemplo de este software es TCP/IP. Por supuesto, el objetivo de todo este software de soporte (comunicaciones y sistema operativo) es proporcionar las bases para las aplicaciones distribuidas. De forma ideal, las funciones que realiza una aplicación se pueden dividir entre el cliente y el servidor, de manera que se optimice el uso de los recursos. En algunos casos, dependiendo de las necesidades de la aplicación, la mayor parte del software de aplicación ejecuta en el servidor, mientras que en otros casos, la mayor parte de la lógica de la aplicación está situada en el cliente. Aplicaciones Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 9. Un factor esencial en el éxito de un entorno cliente/servidor es la forma en que el usuario interactúa con el sistema. De esta forma, es decisivo el diseño de la interfaz de usuario en la máquina cliente. En la mayor parte de los sistemas cliente/servidor, se hace mucho énfasis en proporcionar una interfaz gráfica de usuario (GUI) que sea fácil de usar, fácil de aprender y, a la vez, potente y flexible. De esta forma, podemos pensar en el módulo de servicios de presentación en la parte del cliente, como el responsable de proporcionar una interfaz de fácil manejo a las aplicaciones distribuidas disponibles en el entorno. Aplicaciones Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 10. El servidor es responsable del mantenimiento de la base de datos, para lo que se requiere un complejo sistema gestor de base de datos. En las máquinas clientes se pueden situar diferentes aplicaciones que hacen uso de la base de datos. El «pegamento» que une al cliente y al servidor es el software que permite que el cliente haga peticiones para acceder al servidor de la base de datos. Un ejemplo muy popular es el lenguaje estructurado de consultas (SQL). Aplicaciones Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 11. Clases de aplicaciones cliente/servidor. Dentro del marco general cliente/servidor, hay una serie de implementaciones que dividen el trabajo entre el cliente y el servidor de diferente manera. La Figura 14.5 muestra, en términos generales, algunas de las principales opciones para aplicaciones de bases de datos. Son posibles otras divisiones y, para otra clase de aplicaciones, se podrían realizar caracterizaciones diferentes. En cualquier caso, es bueno observar esta figura y analizar las diferentes posibilidades. Clases de Aplicaciones Cliente / Servidor Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería
  • 12. La Figura 14.5 representa cuatro clases: • Procesamiento basado en el host. El procesamiento basado en el host no es una verdadera computación cliente/servidor tal y como se entiende el término. Se refiere a los entornos mainframe tradicionales en los que virtualmente todo el procesamiento se realiza en el host central. A menudo, la interfaz de usuario se realiza a través de un interfaz tonto. Incluso si el usuario está empleando una computadora, la estación del usuario se limita al papel de emulador de terminal. Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Clases de Aplicaciones Cliente / Servidor
  • 13. La Figura 14.5 representa cuatro clases: • Procesamiento basado en el servidor. La clase más básica de configuración cliente/servidor es en la que el cliente es el principal responsable de proporcionar la interfaz gráfica de usuario, mientras que prácticamente todo el procesamiento se realiza en el servidor. Esta configuración es típica de cuando se comienza a utilizar el entorno cliente/servidor, especialmente en sistemas a nivel de departamento. El razonamiento detrás de estas configuraciones es que la estación de trabajo del usuario es mejor para proporcionar una interfaz de usuario de fácil manejo, y que las bases de datos y las aplicaciones se pueden mantener más fácilmente en sistemas centrales. Aunque el usuario obtiene la ventaja de una mejor interfaz, este tipo de configuraciones no suele generar grandes ventajas en productividad, ni cambios fundamentales en las funciones de negocio soportadas por el sistema. Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Clases de Aplicaciones Cliente / Servidor
  • 14. La Figura 14.5 representa cuatro clases: • Procesamiento basado en el cliente. En el otro extremo, prácticamente todo el procesamiento se puede realizar en el cliente, con la excepción de las rutinas de validación de datos y otras funciones de la lógica de la base de datos que se pueden realizar mejor en el servidor. Generalmente, alguna de las funciones más sofisticadas de la lógica de la base de datos se realizan en la parte cliente. Esta arquitectura es, quizás, el enfoque cliente/servidor más común actualmente en uso. Permite a los usuarios el uso de aplicaciones adaptadas a las necesidades locales. Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Clases de Aplicaciones Cliente / Servidor
  • 15. La Figura 14.5 representa cuatro clases: • Procesamiento cooperativo. En una configuración de procesamiento cooperativo, el procesamiento de la aplicación se realiza de forma óptima, beneficiándose de las máquinas cliente y servidora y de la distribución de los datos. Esta configuración es más compleja de configurar y mantener pero, a largo plazo, puede proporcionar mayor productividad a los usuarios y mayor eficiencia de red que otros enfoques cliente/servidor. Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Clases de Aplicaciones Cliente / Servidor
  • 16. Un servicio fiable de paso de mensajes es el que garantiza la entrega si es posible. Estos servicios hacen uso de un protocolo de transporte fiable o de una lógica similar, y realizan comprobación de errores, acuse de recibo, retransmisión y reordenamiento de mensajes desordenados. Ya que se garantiza el envío, no es necesario informar al proceso emisor de que el mensaje ha sido enviado. Sin embargo, podría ser útil informar al proceso emisor vía un acuse de recibo para que sepa que la entrega ya tuvo lugar. En cualquier caso, si falla el envío del mensaje (por ejemplo, fallo persistente de la red, fallo del sistema de destino), se informa del fracaso al proceso emisor. En el otro extremo, el servicio de paso de mensajes no fiable simplemente envía el mensaje por la red pero no se le indica ni el éxito ni el fracaso. Esta alternativa reduce enormemente la complejidad y la sobrecarga de procesamiento y comunicación del servicio de paso de mensajes. Para las aplicaciones que requieran confirmación de que el mensaje ha sido entregado, la propia aplicación debe enviar y recibir mensajes para satisfacer este requisito. Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Fiable Versus No Fiable
  • 17. Un importante y relativamente reciente diseño de sistema de computación es el Cluster. Los Clusters son una alternativa al Multiprocesamiento Simétrico (SMP), y son sistemas que proporcionan un alto rendimiento y una alta disponibilidad y que son particularmente atractivos para aplicaciones de servidor. Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Clusters
  • 18. Podemos definir un cluster como un grupo de computadoras completas e interconectadas, que trabajan juntas como un recurso de computación unificado y que pueden crear la ilusión de ser una única máquina. El término computadora completa significa un sistema que puede ejecutar por sí mismo, aparte del cluster; en la literatura, cada computadora de un Cluster se denomina nodo. Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Clusters
  • 19. Cuatro beneficios que se pueden lograr con los cluster. Estos beneficios también se pueden ver como objetivos o requisitos de diseño: • Escalabilidad absoluta. Es posible crear un gran cluster que supere la potencia de incluso la mayor de las máquinas. Un cluster puede tener decenas o incluso centenas de máquinas, cada una de ellas un multiprocesador. • Escalabilidad incremental. Un cluster se configura de tal manera que sea posible añadir nuevos sistemas al cluster en pequeños incrementos. De esta forma, un usuario puede comenzar con un sistema pequeño y expandirlo según sus necesidades, sin tener que hacer grandes actualizaciones en las que un pequeño sistema debe ser reemplazado por uno mayor. • Alta disponibilidad. Ya que cada nodo del cluster es una computadora en sí mismo, el fallo de uno de los nodos no significa pérdida del servicio. En muchos productos, el software maneja automáticamente la tolerancia a fallos. • Relación precio/prestaciones. A través del uso de bloques de construcción es posible hacer un cluster con igual o mayor poder computacional que una única máquina mayor, con mucho menor coste. Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Clusters
  • 20. • Proxy • DNS • Web • FTP • POP3 y SMTP • DHCP Ing. Kevin Matamoros Sistemas Operativos II Universidad Politécnica de Ingeniería Servicios