cliente servidor

18
CLIENTE SERVIDOR ARQUITECTURA CLIENTE SERVIDOR DEFINICIÓN Y COMPONENTES

Upload: fernando-solis

Post on 09-Apr-2017

31 views

Category:

Education


1 download

TRANSCRIPT

Page 1: cliente servidor

CLIENTE SERVIDORARQUITECTURA CLIENTE SERVIDOR

DEFINICIÓN YCOMPONENTES

Page 2: cliente servidor

El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce con el término front-end. Normalmente maneja todas las funciones relacionadas con la manipulación y despliegue de datos, por lo que están desarrollados sobre plataformas que permiten construir interfaces gráficas de usuario (GUI), además de acceder a los servicios distribuidos en cualquier parte de una red. Las funciones que lleva a cabo el proceso cliente son• Administrar la interfaz de usuario. • Interactuar con el usuario. • Procesar la lógica de la aplicación y hacer validaciones locales. • Generar requerimientos de bases de datos. • Recibir resultados del servidor.

CLIENTE SERVIDORQue es el Cliente

Page 3: cliente servidor

El front-end en diseño de software y desarrollo web hace referencia a la visualización del usuario navegante o, dicho de otra manera, es la parte que interactúa con los usuarios. De una manera práctica, el front-end sería todos esos formularios que rellenamos en las webs, las aplicaciones que manejamos y todas esas cosas que tengan que realizar los usuarios.

Page 4: cliente servidor

Es el proceso encargado de atender a múltiples clientes que hacen peticiones de algún recurso administrado por él. Al proceso servidor se le conoce con el término back-end

El servidor normalmente maneja todas las funciones relacionadas con la mayoría de las reglas del negocio y los recursos de datos.

Las funciones que lleva a cabo el proceso servidor son:

• Aceptar los requerimientos de bases de datos que hacen los clientes. • Procesar requerimientos de bases de datos. • Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos. La información se comparte fácilmente a través de redes en donde los servidores almacenan datos que pueden ser compartidos por los clientes

Que es el Servidor

Page 5: cliente servidor

Back-end es la parte que procesa la entrada de datos que se efectuó desde el front-end es decir, son los procesos que utiliza el administrador del sitio con sus respectivos sistemas para resolver las peticiones de los usuarios. De esta manera en manera conjunta el front-end y el back-end interactúan en un sistema web o software para resolver las necesidades de los usuarios.

Una máquina que suministra una serie de servicios como Bases de Datos, Archivos, Comunicaciones) Los Servidores, según la especialización y los requerimientos de los servicios que debe suministrar pueden ser: • Mainframes • Miniordenadores • Especializados (Dispositivos de Red, Imagen, etc.) Una característica a considerar es que los diferentes servicios, según el caso, pueden ser suministrados por un único Servidor o por varios Servidores especializados.

Page 6: cliente servidor

QUE ES UNA ARQUITECTURA

Es un entramado de componentes funcionales que aprovechando diferentes estándares, convenciones, reglas y procesos, permite integrar una amplia gama de productos y servicios informáticos, de manera que pueden ser utilizados eficazmente dentro de la organización.

ARQUITECTURA CLIENTE SERVIDOR

ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR

Arquitectura Cliente/Servidor, debemos identificar los componentes que permitan articular dicha arquitectura, considerando que toda aplicación de un sistema de información está caracterizada por tres componentes básicos:

• Presentación/Captación de Información • Procesos • Almacenamiento de la Información

Page 7: cliente servidor

Por tamaño de componentes: Se basa en quien lleva la mayor carga de procesos, acá tenemos dos clasificaciones:

• Fat Client: El peso de la aplicación es ejecutada por el cliente.• Fat Server: El peso de la aplicación es ejecutada por el servidor, el cliente

tiene solo la interfaz de usuario.

Por naturaleza del servicio

• Servidores de ficheros• Servidores de Bases de Datos• Servidores de Transacciones• Servidores de objetos• Servidores Web• Servidores Proxy

Page 8: cliente servidor

Según cómo se distribuyen estas tres funciones clasificamos en:

• Presentación Distribuida: El cliente asume parte de las funciones de presentación de la aplicación, ya que siguen existiendo programas en el servidor dedicados a esta tarea. El resto de funciones de la aplicación residen en el servidor.

• Presentación remota: Toda la lógica de negocio y acceso a datos se ejecuta en el servidor. Todas las funciones de presentación son ejecutadas en el cliente.

Por reparto de funciones entre Cliente y Servidor: Las distintas arquitecturas cliente-servidor varían en su forma de operar sobre la base de tres conceptos generales:

• La lógica de acceso a datos. Funciones que gestionan todas las interacciones entre el SW y los almacenes de datos.

• La lógica de presentación Funciones que gestionan la interfaz entre los usuarios del sistema y el SW.

• La lógica de negocio o lógica de la aplicación. Funciones que transforman entradas en salidas.

Page 9: cliente servidor

• Lógica o proceso distribuido: La lógica de los procesos se divide entre los distintos componentes del cliente y del servidor. El diseñador de la aplicación debe definir los servicios y las interfaces del sistema de información de forma que los papeles de cliente y servidor sean intercambiables, excepto en el control de los datos que es responsabilidad exclusiva del servidor.

• Acceso a datos remoto: El cliente realiza tanto las funciones de presentación como los procesos. El servidor almacena y gestiona los datos que permanecen en una base de datos centralizada.

• Bases de datos distribuidas: Similar al modelo anterior, pero además el gestor de base de datos divide sus componentes entre el cliente y el servidor. Las interfaces entre ambos están dentro de las funciones del gestor de datos y, por lo tanto, no tienen impacto en el desarrollo de las aplicaciones.

Page 10: cliente servidor

Y se integran en una arquitectura Cliente/Servidor en base a los elementos que caracterizan dicha arquitectura, es decir:

• Puestos de Trabajo • Comunicaciones

El Puesto de Trabajo o Cliente Una Estación de trabajo o microcomputador (PC: Computador Personal) conectado a una red, que le permite acceder y gestionar una serie de recursos el cual se perfila como un puesto de trabajo universal.

Nos referimos a un microcomputador conectado al sistema de información y en el que se realiza una parte mayoritaria de los procesos.

Page 11: cliente servidor

Las Comunicaciones En sus dos vertientes:

• Infraestructura de redes Componentes Hardware y Software que garantizan la conexión física y la transferencia de datos entre los distintos equipos de la red.

• Infraestructura de comunicaciones Componentes Hardware y Software que permiten la comunicación y su gestión, entre los clientes y los servidores.

Page 12: cliente servidor

• Combinación de un cliente que interactúa con el usuario, y un servidor que • interactúa con los recursos compartidos. • El proceso del cliente proporciona la interfaz entre el usuario y el resto del

sistema. • El proceso del servidor actúa como un motor de software que maneja

recursos compartidos tales como bases de datos, impresoras, módems, etc.

• Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cómputo como velocidad del procesador, memoria, velocidad y capacidades del disco y input-output devices.

• Se establece una relación entre procesos distintos, los cuales pueden ser ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo largo de la red.

• La relación establecida puede ser de muchos a uno, en la que un servidor puede dar servicio a muchos clientes, regulando su acceso a recursos compartidos

• Los clientes corresponden a procesos activos en cuanto a que son éstos los que hacen peticiones de servicios a los servidores. Estos últimos tienen un carácter pasivo ya que esperan las peticiones de los clientes.

Características de la arquitectura Cliente/Servidor

Page 13: cliente servidor

• No existe otra relación entre clientes y servidores que no sea la que se establece a través del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la petición y entrega de solicitudes de servicio.

• El ambiente es heterogéneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre la misma. Precisamente una de las principales ventajas de esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de sus plataformas.

• El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente/Servidor.

• La escalabilidad horizontal permite agregar más estaciones de trabajo activas sin afectar significativamente el rendimiento.

• La escalabilidad vertical permite mejorar las características del servidor o agregar múltiples servidores

Page 14: cliente servidor

TIPOS DE CLIENTES • “cliente flaco”:

• Servidor rápidamente saturado. • Gran circulación de datos de interfase en la red.

• “cliente gordo”: • Casi todo el trabajo en el cliente. • No hay centralización de la gestión de la BD. • Gran circulación de datos inútiles en la red.

TIPOS DE SERVIDOR • Servidores de archivos donde se almacena archivos y aplicaciones de

productividad como por ejemplo procesadores de texto, hojas de cálculo, etc.

• Servidores de bases de datos Servidor donde se almacenan las bases de datos, tablas, índices.

• Servidores de transacciones Servidor que cumple o procesa todas las transacciones.

• Servidores de Groupware utilizado para el seguimiento de operaciones dentro de la red.

• Servidores de objetos Contienen objetos que deben estar fuera del servidor de base de datos. Estos objetos pueden ser videos, imágenes, objetos multimedia en general.

• Servidores Web Se usan como una forma inteligente para comunicación entre empresas a través de Internet.

Page 15: cliente servidor

• Sistema distribuido entre múltiples procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan. Separa los servicios situando cada uno en su plataforma más adecuada.

• Desde el punto de vista funcional, se puede definir la computación Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma.

DEFINICIÓN DE CLIENTE SERVIDOR

C/S es una relación entre procesos corriendo en máquinas separadas • El servidor (S) es un proveedor de servicios. • El cliente (C) es un consumidor de servicios. C y S Interactúan por un mecanismo de pasaje de mensajes: • Pedido de servicio. • Respuesta

Page 16: cliente servidor

• Un proceso cliente/servidor toma cualquier tarea y la divide en tres partes, una de las cuales es ejecutada por el Cliente que es el nodo (Front-End) origen de las operaciones y que interactúa directamente con el usuario final. Otra parte es asumida por el Servidor (Back-End) que

• proporciona servicios e información al cliente, y la última es una porción de Red (Middleware) que une o comunica a las dos anteriores

COMPONENTES PRINCIPALES CLIENTE/SERVIDOR

Page 17: cliente servidor

Front-End Los productos de Front-End o productos de usuario final, se pueden clasificar en aplicaciones y herramientas. • Las aplicaciones, desarrollos particulares de software, son sistemas del

tipo “llave en mano” o paquetes cerrados. Un alto porcentaje de estos paquetes incorporan características de acceso a servidores de bases de datos, la categoría tradicionalmente más representativa de Back-End’s.

• Las herramientas incluyen generalmente compiladores, lenguajes de

programación, generadores de reportes, y otros. Los llamados 4GL’s (Fourth Generation Languages)

Back-End Los servidores pueden ser de una naturaleza muy variada: de archivos, de correo electrónico, de impresión y red, entre muchos otros. El software del servidor consiste de un proceso lógico que proporciona servicios a procesos solicitantes. Más aún, los servidores permiten compartir las capacidades de dispositivos que ofrecen beneficios importantes.

Page 18: cliente servidor

El hardware utilizado para los servidores debe tener suficiente poder de procesamiento y espacio de almacenamiento para satisfacer las necesidades de las aplicaciones que van a soportar.

software más utilizados como servidores de procesos se encuentran los administradores de bases de datos

ELEMENTOS DEL BACK-END

Interfaces Gráficas

• Contribuyen de manera significativa a la popularidad de los ambientes cliente/servidor porque facilitan el uso y mejoran la productividad de los sistemas que lo componen.

• Se caracterizan por ofrecer capacidades como la multi-tarea (multitasking), la conmutación entre tareas (task-switching) y el intercambio de datos entre aplicaciones.

• Consisten además de una programación por eventos donde el código responde a acciones tomadas por los usuarios