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