Vous êtes sur la page 1sur 70

Arquitectura Cliente/Servidor

Arquitectura Cliente/Servidor
Definicin?
GUI DB


DB Access

Network

Apps

Clientes? Componentes?

Servidores?
2

Arquitectura Cliente/Servidor - Definicin Arquitectura de diseo de software que es el resultado de la subdivisin de un sistema de informacin en un conjunto de PROCESOS SERVIDORES, generalmente especializados, que pueden ejecutarse en variadas plataformas (hardware+software) y que proveen servicios a un gran nmero de PROCESOS CLIENTES sobre diferentes plataformas (hardware+software), interconectados a travs de redes de rea local o de rea extendida y utilizando uno o varios protocolos para comunicarse. 3

La Arquitectura de los Sistemas de Informacin

Los sistemas de informacin que son desarrollados hoy en da, dentro del mundo de los negocios, contienen 3 elementos que NUNCA estn ausentes:

Lgica de presentacin Lgica de negocios (lgica de la aplicacin o lgica de procesamiento) Lgica de acceso a los datos (propuestas de L/E) Y los Datos? y las operaciones de L/E?

La arquitectura del sistema de informacin depende de cmo estos elementos son agrupados y conceptualmente dnde son ubicados
4

Lgica de Presentacin
Enfocada en la interaccin con el usuario El cdigo que implementa esta lgica debe:

Tomar informacin del usuario Mostrar informacin al usuario Efectuar ciertas validaciones del lado del usuario Realizar animaciones y efectos de presentacin Ejecutar ciertas tareas de background

Lgica de Negocios
Las reglas del negocio son: Aquel conjunto de prcticas y polticas, algunas veces explcito y otras implcito, que define cmo una organizacin hace negocios Restricciones propias del negocio que deben ser reflejadas en la base de datos y sus aplicaciones La

lgica de negocios es usada para forzar que se cumplan las reglas del negocio

Implementa las reglas del negocio

Lgica de Acceso a Datos


El

cdigo que implementa esta lgica debe:

Establecer conexiones con el database server o cualquier otra fuente de datos Enviar rdenes para la toma de informacin de la (s) fuente (s) de datos Enviar rdenes para guardar informacin en la (s) fuente (s) de datos Cerrar las conexiones con el database server o cualquier otra fuente de datos 7

Lgica de Acceso a Datos

Generar en tiempo de ejecucin sentencias SQL Enviar rdenes de ejecucin de procedimientos almacenados

IMPORTANTE: No se incluyen las operaciones de L/E, como tales, sobre los repositorios o databases
8

Evolucin de la Estructura de los Sistemas de Informacin


Sistemas Multiusuarios Esquema File Server Arquitectura Cliente/Servidor

Two-Tier

Fat Client Thin Client

Three-Tier N-Tier

Sistemas Multiusuarios

Mainframes generalmente estn sobrecargados de trabajo

Piden auxilio a gritos !

Mainframe

El diseo de Mainframes estuvo orientado hacia Redes de Terminales y difcilmente se adaptan a los sistemas de informacin de hoy Problema Principal:

Recursos se agotan rpidamente nica solucin: Upgrade de Hardware, es decir, next size computer
10

Sistemas Multiusuarios
Aplicacin 1 Aplicacin n Aplicacin 2

Aplicacin 3

Mainframe o Host Base de Datos Central

Red de Terminales

MVS, OS/400, UNIX, etc.


11

Espacio para nuevas Aplicaciones


Aplicacin 1 Aplicacin 4 Aplicacin 7

Problema:
Aplicacin 2 Aplicacin 5

Aplicacin 3
Aplicacin 6

Aplicacin n

Base de Datos Central

Aplicacin n+1 Red de Terminales


12

Rendimiento en Sistemas Multiusuarios


Incremento del Tiempo de Respuesta

80% de la Capacidad de Diseo

Upgrade Requerido !

Capacidad de Diseo Demanda (Nmero de Usuarios)


13

Sistemas de Informacin sirven a pequeos grupos, pero usan los recursos de todos los dems Computador central escogido pensando en Mximo Nmero posible de usuarios (terminales)

Debilidades Sistemas Multiusuarios

De acuerdo con el hardware disponible

Tiempos de Respuestas aceptables siempre que ....

Carga < 70%- 80% de la capacidad de diseo

Pasado ese lmite, los tiempos de respuesta se incrementan dramticamente

Incremento exponencial

Crecimiento es costoso Host asume la carga de TODO el procesamiento por lo que los recursos se agotan rpidamente

14

Sistemas Multiusuarios
Sistema Multiusuario Files

Terminal

Aplicaciones

Comp. Central mantiene Datos + Sistema de Informacin

Las 3 lgicas eran ejecutadas en el mainframe; tambin las operaciones de L/E sobre los repositorios 15

File Server

Files

File Server

Cliente

Discos virtualmente locales

Cliente es responsable de buscar informacin en los archivos Quin es el Cliente? Quin el File Server?
16

Desventajas File Server


Pobre utilizacin del CPU donde corre el File Server NO existe un balance de carga entre los computadores donde corren File Servers y Clientes

Clientes no pueden usar toda su capacidad de proceso para otras tareas


n requerimientos + ACKs n envos de resultados + ACKs Total: 4n envos a travs de la Red Exceso de trfico !!!

Si n accesos al Disco ...


17

Desventajas File Server

Network Bottleneck

Sobrecarga en el NIC

18

Soluciones Propuestas para File Server


1. Aadir Controladores de Disco

Se ha comprobado que no ayuda casi en nada No mejora velocidad de transferencia Slo permite un mayor nmero de clientes Segmentacin de la LAN: Server --> Bridge/Router Sobrecarga al Servidor Produce contencin en el Disco
19

2. Aadir ms RAM para Disk Cache


3. Aadir NICs

File Server

Files File Server

CC

Estacin

Discos virtualmente locales

Semidistribucin:

Sistema de Informacin => Estacin, Datos => CC

S.O. de la estacin es responsable de buscar los datos

Coordina con el S.O. (el File Server) del computador central (CC) 20

Cliente/Servidor

CC

DataBase Server

Base Datos

Proceso Cliente (Front-End)

Proceso Servidor (Back-End)

Estacin
Protocolos de Comunicacin (NetBIOS, IPX/SPX, TCP/IP, etc.)

La Distribucin de Procesamiento es mejor

Lgica de Presentacin + Lgica de Negocios + Lgica de Acceso a Datos ==> Estacin Operaciones de L/E sobre las bases de datos ==> CC 21

Arquitectura Clsica o Estndar Proceso cliente implementa lgica de presentacin, lgica de procesamiento y lgica de acceso de datos Base de datos generalmente centralizada Proceso Cliente se conecta directamente al Proceso Servidor (DataBase Server), frecuentemente por el tiempo de vida de la aplicacin. Trabaja bien en ambientes controlados

Modelo Two-Tier Fat Client

No ms de 100 usuarios Si el nmero de usuarios es desconocido o muy grande, los tiempos de respuesta se ven afectados
22

Esquema Cliente/Servidor Bsico


Base de Datos Computador donde corre el Servidor

Resultado

Estacin Cliente

Estacin Cliente

Estacin Cliente
23

Modelo 2-Tier Fat Client

24

Proceso Cliente es monoltico

Limitaciones del Modelo Two-Tier Fat Client

Actualizaciones y arreglo de problemas se complica Conexiones limitadas Distribucin se complica Se expone las reglas del negocio a los usuarios Especficos Database Servers y formatos de datos25

Dificultad para escalar

Dificultad para mantener

Confidencialidad comprometida

Dificultad para reusar

Limitaciones del Modelo Two-Tier Fat Client ...


Extrema

Server

Dependencia a un DataBase

El cambio de DBMS se complica

Aumenta

Trfico en la red

26

Modelo Two-Tier Thin Client


Conocido tambin como two-and-a-half tier y fat server El rol de los stored procedures Mover la mayor parte o toda la lgica de la aplicacin y acceso a datos al DataBase Server Aplicaciones construidas con este modelo obtienen mejoras en escalabilidad y rendimiento

Incluso se puede llegar a duplicar el nmero de usuarios, con respecto al modelo two-tier fat client
27

Modelo 2-Tier Thin Client

28

Beneficios del Modelo Two-Tier Thin Client

Procesamiento de los datos ocurre en la fuente misma de los datos

No se transfieren los datos hacia el cliente El proceso cliente ya no accede directamente a la estructura

Seguridad mejorada

Lgica de procesamiento es compartida entre mltiples procesos clientes

Reuso es mejorado haciendo que en mltiples lugares dentro del cdigo del proceso cliente se llame al mismo stored procedure
29

An el proceso cliente se conecta directamente al proceso servidor

Limitaciones del Modelo Two-Tier Thin Client

Escalabilidad se ve limitada

Stored procedures muy grandes no liberan rpidamente las conexiones La sintaxis de los stored procedures estn ntimamente ligadas al fabricante del DBMS

Se complica la portabilidad
30

Quin debe tener la mayor carga?


Lgica de Presentacin Lgica de Acceso

GUI

Aplicacin

Data

Fat Client
Lgica del Proceso/Apl.

Fat Server
Lgica del Proceso/Apl.
31

Modelo Three-Tier
Primera

capa: lgica de presentacin Segunda capa: lgica de negocios y lgica de acceso a datos Tercera capa: DataBase Servers y otras fuentes de datos

32

Modelo 3-Tier

33

Ventajas del Modelo Three-Tier


Piezas de cdigo de capa 2 centralizadas

Facilidad de desarrollo, mantenimiento e implantacin Piezas de cdigo de capa 2 pueden ubicarse en mltiples computadores, mejorando la escalabilidad y disponibilidad Problema de limitacin de conexiones es minimizado

Balanceo de carga

Acceso a Datos ms eficiente

Seguridad mejorada

Acceso puede ser permitido o denegado en las piezas de cdigo de capa 2


34

Modelo N-Tier
Es una generalizacin del modelo Three-Tier Se logra mediante la divisin de la capa 2 en capas ms especializadas:

Sub-capa 2 ms relacionada a la interfaz de usuario Sub-capa 2 especializada en procesamiento netamente del negocio Sub-capa 2 ms relacionada a la interaccin con el DBMS

Los sistemas de informacin de grandes corporaciones generalmente se basan en este 35 esquema

Performance
Reliability Reusability

Caractersticas Tcnicas Deseadas de los Sistemas de Informacin

Maintainability Extensibility

Scalability
Availability
36

Performance
Velocidad

y eficiencia con la cual el sistema de informacin hace sus tareas Las necesidades de rendimiento son evaluadas desde 2 puntos de vista:

Requerimientos del sistema de informacin Usuario


Velocidad percibida Permite hacer el trabajo apropiadamente

Mejorar

el rendimiento siempre tiene un efecto positivo sobre la escalabilidad


37

Un

sistema de informacin es confiable cuando no detiene a los usuarios de realizar sus tareas debido a fallas de hardware o software

Reliability

Reusability Una pieza de cdigo es reusable cuando tiene la capacidad de ser empleada en la mayor cantidad posible de ubicaciones dentro del cdigo del sistema de informacin
38

Maintainability

La capacidad de un sistema de informacin de encontrar las nuevas necesidades del negocio con el menor esfuerzo posible del grupo de desarrollo

39

Las 2 reglas bsicas para mejorar el mantenimiento pueden percibirse como contradictorias:

Maintainability (2)...

Centralizar la ubicacin de las piezas de cdigo de capa 2, de tal manera que haya la menor cantidad de copias de la misma entidad de software Dividir los servicios dentro de piezas de cdigo de capa 2 medianas, que tengan interfaces bien definidas. Tal modularizacin mantendr problemas aislados para reas especficas del sistema de informacin

40

Maintainability (3)...
La

aparente contradiccin entre estas 2 reglas puede ser resuelta unindolas en una sola:

Dividir servicios dentro de piezas de cdigo de capa 2 medianas y ponerlas en una ubicacin centralizada, es decir, tener mdulos de cdigo especializados en la menor cantidad de lugares posibles
41

Maintainability (4)...

El mtodo de distribucin a los usuarios tambin afecta al mantenimiento:

Solucin que debe ser distribuida a los usuarios en discos y que dependa de ellos para correr una rutina setup Internet download: Tan pronto como el usuario se conecta invocando a la pgina web No dependa de ninguna accin del usuario

42

Extensibility

Capacidad de usar un conjunto ncleo de servicios de aplicacin para nuevos propsitos en el futuro, propsitos que los desarrolladores pudieron no haber anticipado

Predisposicin a la reusabilidad: Piezas de cdigo de capa 2 medianas y bien especializadas que representen unidades de funcionalidad particular Para hacer estas piezas de cdigo ms flexibles, deben ser altamente parametrizadas, de tal manera que su comportamiento pueda ser controlado lo ms posible por 43 el desarrollador

Scalability

Se refiere a la facilidad con la cual un sistema de informacin o conjunto de servicios pueden ser movidos a un ambiente ms demandante, con un pequeo impacto en el rendimiento del sistema

44

Availability

La capacidad de que los servicios de un sistema de informacin puedan ser alcanzados desde la mayor cantidad posible de ubicaciones y durante la mayor cantidad posible de tiempo La disponibilidad es afectada por la infraestructura de comunicaciones que pueda existir entre el proceso cliente y los servicios del sistema de informacin: LAN (Intranet) WAN (Intranet, Extranet, Internet)
45

Componentes de los Sistemas con Arquitectura Cliente/Servidor


Clientes: Procesos que solicitan servicios Servidores: Procesos que proveen servicios Se requiere de un mecanismo de comunicacin Middleware: Procesos de Comunicacin

S
46

Yo soy el ms importante !

Componentes
Network
No, yo soy el ms importante !

Qu es lo mas importante en un ambiente C/S?

Los clientes, los servidores, la Comunicacin entre ellos o la infraestructura de red?

47

Componentes Bsicos
CLIENTE SERVIDOR

Tecnologas a nivel de Cliente

Tecnologas a nivel de Red

Tecnologas a nivel de Server

NETWORK

Diferentes Tecnologas a nivel de cada componente

48

Tecnologas de cada Componente


CLIENTE
I S. OPERATIVO N T D P E R A T B . O R P O A T F L O C O A I L C C S C S E O E
S S L O

SERVIDOR
A D A P T A D O R A D A P T A D O R
S. OPERATIVO

D R I V E R

R E D

D R I V E R

P R O T O C O L O

D B A C C E S S

D B

49

Tipos de Procesos Servidores

Varios tipos de procesos servidores especializados:


File Servers DataBase Servers Transaction Processing Server (APP Server) GroupWare Server Web Server Object Server
50

File Server

Por su funcionalidad, el ms elemental y bsico

Generalmente sus servicios vienen embebidos, junto con otros, como parte de los sistemas operativos

Slo provee el servicio de dar acceso a archivos para propsitos de L/E Datos comunes, pero el sistema de informacin NO est subdividido Si bien el concepto de computador dedicado a la tarea de file server (NetWare) ya no es aplicable, el servicio file server sigue y seguir siendo implementado en los sistemas operativos 51

DataBase Server

El ms fundamental de todos Generalmente es el que NUNCA falta en todo sistema de informacin Recibe requerimientos de los clientes (tpicamente en lenguaje SQL) a los que devuelve el resultado Es quien implementa finalmente la insercin, modificacin, eliminacin y consulta de datos En ciertos casos participa dentro de la arquitectura junto con un proceso intermediario Pasara de ser un modelo 2-Tier a uno 3-Tier o incluso n-Tier 52

Transaction Processing Server


Concepto heredado del mundo de los Mainframe Conocido actualmente como Application Server por todos los servicios que ofrece y por la posicin que ocupa dentro de la arquitectura del sistema de informacin:

Mediador entre procesos clientes y servidores Administrador de Transacciones Proceso que permite ejecutar otros procesos
53

Transaction Processing Server

Administrador de Pool de Conexiones con un DataBase Server Encolamiento y prioridades a los requerimientos de los procesos clientes Control de Concurrencia Mecanismos de seguridad y privilegios

54

Transaction Processing Server (2)...

55

Transaction Processing Server (3)...


2

Categoras de Soporte Transaccional:


TP Lite
DataBase

Server con stored procedures que implementen transacciones Es decir, modelo 2-and-a-half-tier

TP Heavy
Basados

en TP Monitors 3-Tier, n-Tier


56

GroupWare Server de Orientado a mejorar la comunicacin entre grupos

personas Mail, herramientas de colaboracin entre grupos de trabajo, videoconferencia, workflow, etc. Permiten el manejo de informacin no estructurada Datos + Imgenes + Voz + Video La Unidad de Trabajo: El Documento Administra bases de datos de documentos Permite a los miembros de una organizacin: integrarse, complementarse, coordinar Migrar la mayor cantidad posible de trabajo que anteriormente se realizaba de manera manual a alternativas electrnicas y digitales
57

Web Server
Recibe requerimientos HTTP del proceso cliente (Web Browser) Retorna al cliente la respuesta en cdigo HTML

HTML puede residir de manera esttica HTML puede ser generado dinmicamente y existen muchas tecnologas disponibles para su implementacin, tanto del lado del cliente como del lado del servidor

Han llevado la tecnologa C/S a otra dimensin

Son la ms clara prueba de que los sistemas de informacin distribuidos son posibles y necesarios

58

Object Server

Es la nueva tendencia en el desarrollo de aplicaciones C/S Facilitan el desarrollo de Sistemas de Informacin Distribuidos con esquemas 3-Tier y n-Tier Basado en el concepto de ORB (Object Request Broker) Estn sujetos a 2 arquitecturas bsicas: CORBA (Common ORB Architecture) DCOM (Distributed Component Object Model) NUNCA antes la tecnologa orientada a objetos y la tecnologa C/S se haban complementado como lo 59 estn haciendo en la actualidad

Tecnologa de Componentes y Objetos Distribuidos


Server Objects
Client Object
ORB ORB

NetWork
60

CORBA

61

DCOM

62

Tipos de Procesos Clientes


Clientes

Independientes (standalone)

No necesitan de un contenedor para ser ejecutados Emplea API propio del sistema operativo

Clientes

Dependientes

Slo pueden ser ejecutados dentro de un contenedor La dependencia genera interoperabilidad


63

Qu es Middleware?
Todo el software que est entre clientes y servidores, y que soporta la interaccin entre ellos Conjunto de procesos intermedios entre clientes y servidores Dnde comienza? Dnde termina?

64

Middleware
Se

divide en dos categoras:

Middleware genrico
Procesos de apoyo que extienden el alcance y la capacidad de los sistemas operativos de los computadores empleados en clientes y servidores + protocolos de comunicacin de capas 3, 4 y 5

Middleware especfico

Procesos muy ligados y dependientes del tipo de servidor con el que se est operando

65

MiddleWare Genrico

Incluye a protocolos de comunicacin a nivel de sesin, transporte y red Ejs: NetBIOS/NetBEUI, Named Pipes, Sockets (TCP/IP), Sockets (IPX/SPX) Complementos a los NOS Servicios de archivos, servicios para la invocacin de procedimientos remotos, servicios de encolamiento, servicios de seguridad, servicios de directorios distribuidos, servicios para manejo del tiempo en forma distribuida, entre otros
66

Middleware Especfico
Necesario

para cumplir con una particular interaccin cliente/servidor 5 categoras bsicas:


DataBase-specific middleware Transactional-specific middleware Groupware-specific middleware Object-specific middleware Web-specific middleware

67

Identificar el Middleware en los Sistemas de Informacin con Arquitectura 2-Tier

App

App

App

App
68

Identificar el Middleware en los Sistemas de Informacin con Arquitectura 3-Tier

UI

UI

UI UI

UI

UI

UI

UI

UI

69

Un Sistema de Informacin de 3 Capas


Presentation Tier
Win32 Web Lgica De Presentacin Lgica de Negocios

Business Tier

Data Tier

SQL

OLE DB

Lgica de Acceso a Datos

ADO

Oracle

Data Services

70

Vous aimerez peut-être aussi