SO Cliente/Servidor

Arquitectura

Modelo de software

separa en módulos

división de tareas

cliente - servidor

intercambio cooperativo

entorno en red

controlado por un nodo servidor

posibilidad de solo acceso de mas nodos

solicitudes de clientes

respuestas del servidor

clientes - activos

servidores - receptivos

funcionamiento del servidor

inicialización

espera pasiva

se activa con una solicitud

procesa la solicitud

el cliente recibe resultados

muestra resultados a usuario

tipos de arquitecturas

por el tamaño

mas clientes - servidor mas potente

clientes potentes - servidor ligero

por el tipo de servicio

de archivos

de bases de datos

de impresión

de transacciones

web

objetos

procesamiento distribuido

tareas repartidas en sistemas autosuficientes

procesamiento cooperativo

divididas en partes y ejecutadas en multiples plataformas

igual a igual (peer to a peer)

mismo protocolo de comunicación

relacion de igualdad

un nodo solicita servicios a otro nodo o aun tercero

Infraestructura

sistemas operativos

microsoft windows server versiones 2002 y 2008

GNU/Lnux server

RedHat, Ubuntu Server, CentOS, SuSE, linux Enterprise Server

Unix (IBM AIX, HP- UX

Solaris

Apple OS X Server

interfaz de red

tarjetas PCMIA, USB o dispositivo Serie

cable de red, puntos de acceso inalámbricos, routers, entlace principales de internet

autopisas digitales de cable de red y fibra optica

software de comunicación

navegadores web (internet explorer, Safari, Firefox, Microsoft outlook, Moxilla, Apple)

niveles basicos

presentacóon de interfaz con usuario

aplicación, codificacion de procesos

Características

Portabilidad

ejecución en diversas plataformas

de hardware

sistemas operativos

cumplimiento de estandares

interoperabilidad

relacionar a nivel hardware

clientes

servidores

Recursos compartidos

invocación concurrente de servidores

protocolos asimestricos

atención a varios clientes

independencia de la ubicación

los clientes pueden ubicarlos desde la plataforma

integridad

administración de la información por el servidor

compatibilidad de clientes y servidores

plataformas independientes

comunicacion con intercambio de mensajes

encapsulación de servicios

escalabilidad

vertical

mas clientes y servidores

horizontal

agrupacion de servidores separados

modelo comunicacion Cliente Servidor

conversacional

peer to peer

paso de mensajes

mensajes en colas FIFO

comunicacion interprocesos

mismo equipo o diferentes

mediante 2 tecnicas

uso de semaforos

indican disponibilidad de recursoso

conductos (pipes)

conectan elementos y permiten flujo de datos

Componentes principales

1. cliente o front-end

proceso

el usuario solicita requerimientos al servidor

funciones

administrar interfaz con usuario

interacción con usuario

procesar la lógica y validación local

recepción de resultados del servidor

formateo de resultados

generar requerimientos de BD

inicio activo con el servidor

2. Servidor o Back-end

es un proceso centralizado

funciones

emplea las reglas de negocio

maneja funciones relacionada

administra sus peticiones

administra recursos de datos

aplicación que atiende múltiples clientes

procesa la lógica de la aplicacion

procesa requerimientos de BD

acepta requerimientos de BD

formatea datos y los transmite al cliente

3. Middleware

capa de traducción oculta

ejecuta hacia ambos lados

permite la comunicación entre 1 mas maquinas

parte del software para transportar los mensajes entre cliente y el servidor

tiene 3 niveles

protocolo de transporte

sistema operativo de red

protocolo del servicio

caracteristicas

los front-end se pueden clasificar en

aplicaciones

llaves de mano (procesador de palabras

herramientas

son compiladores, lenguajes de programación, generadores de reportes

sistemas de mision critica

protección anticorrupcion de información

duplexing (duplicacion)

copias del datos del disco principal

uso de controladores independientes

mirroring (espejo)

uso de 2 discos al mismo tiempo (copia exacta para su uso en la falla de alguno de los dos)

RAID redundant arrays of inexpensive drives

tolerancia a fallas

uso paralelo de discos de almacenamiento

Stripping

distribución de daos a varios discos

paradigma de iteración Cliente Servidor

es un modelo

el programa espera pasivamente requerimientos

otro inicia la comunicación

una maquina

procesos cooperativos

maquina unica

clientes y servidores

maquinas diferentes

conectados a una red local

maquina 1

clientes

maquina 2

servidores

maquinas diferentes

ambos en maquinas diferentes

maquina 1

clientes y servidores

maquina2

clientes y servidores

ventajas

distribución de clientes y servidores en distintos módulos

ocultamiento de protocolos

simplificación de programación

flexibilidad de crecimiento

facilita la colaboración de procesos ejecutados en diferentes maquinas

mantenibilidad

modularidad

adaptabilidad

escalabilidad

portabilidad

autonomia

desventajas

complejidad en aplicaciones basadas en modelos cooperativos

cuellos de botella en traslados importantes de la lógica

alto grado de compatibilidad de los dispositivos

falta de robustez y confiabilidad en ambientes multiusuario

los usuarios deben conocer nuevos esquemas