INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
1
INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
2
INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
3 INTRODUCCIN
Como bien sabemos el Internet es una gigantesca red, que incluye sub-redes, de ordenadores interconectados. En ella coexisten muchas clases de ordenadores; tamaos; Sistemas Operativos, etc. Pero desde un punto de vista funcional las tareas estn generalmente agrupadas, de forma que desde esta perspectiva (de su funcionalidad), podemos establecer tres grandes grupos: Servidores, Clientes y Correos o enrutadores. En esta unidad aprenderemos que los servidores son mquinas que actan como almacenes de informacin y Esa misma informacin es solicitada por los ordenadores-cliente, y el servidor responde a tales peticiones devolviendo los datos solicitados a travs de un medio.
INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
4 1.1 ARQUITECTURA DEL MODELO CLIENTE/SERVIDOR
La arquitectura cliente servidor, tiene como objetivo el proceso de informacin en un modo distribuido. Para que, los usuarios finales puedan tener acceso a recursos compartidos ya que estos esta dispersos en un rea geogrfica ms o menos extensa. El acceso a estos recursos debe de ser de forma transparente, preferibles y que sea multiplataforma, es decir que no dependa de sistemas operativos o de software de aplicacin o del hardware. Cuando hablamos de la arquitectura cliente servidor nos referimos a un sistema de informacin distribuido.
En la imagen que se muestra en la parte de arriba se puede definir como un sistema distribuido de la arquitectura cliente servidor es decir que los clientes o usuarios finales son los que hacen peticiones de un servicio, al servidor y este a la vez le brinda el servicio al usuario mediante un medio de comunicacin o un canal de comunicacin.
ELEMENTOS DEL MODELO CLIENTE/SERVIDOR SERVIDOR. Es aquel que ofrece el recurso que comnmente los clientes o usuarios solicitan. Es muy frecuente que, para referirse a un proceso servidor, se utilice el trmino back-end.
INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
5 CLIENTE. Es un proceso por el cual se solicitan los servicios de otros, a peticin de un usuario. En entornos cliente/servidor, suele utilizarse el trmino front-end para referirse a un proceso cliente.
En la imagen anterior, muestra los mbitos tanto del servidor como del cliente, es decir la forma de trabajo de cada uno de estos elementos, podemos observar como el cliente hace la solicitud de un servicio al servidor y este a la vez se encarga de verificar y de procesar la solicitud del cliente y de darle y resulta al mismo. INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
6 1.2 MODELOS DE DOS Y TRES CAPAS Arquitectura en 2 niveles En los sistemas cliente servidor de dos capas, la lgica de la aplicacin est dentro de la interfaz de usuario en el cliente o dentro de la base de datos en el servidor (o en los dos lugares).
La arquitectura en 2 niveles es utilizado para detallar los sistemas cliente/servidor en donde el cliente aspira recursos y el servidor responde directamente a la solicitud, con sus propios recursos. Dicho de otra manera el servidor no requiere otra aplicacin para proporcionar parte del servicio. En una arquitectura cliente/servidor clsica tenemos dos "capas" (two-tier): Una donde est el cliente que implementa la interface. Otra donde se encuentra el gestor de bases de datos que trata las peticiones recibidas desde el cliente. La lgica de la aplicacin se encuentra por tanto repartida entre el cliente y servidor.
Arquitectura en 3 niveles En los sistemas cliente/servidor de tres capas, la lgica de la aplicacin (o del proceso) reside en la capa intermedia, y est separada de la informacin y de la interfaz de usuario En la arquitectura en 3 niveles, hay un nivel intermediario, por la cual generalmente esta compartida por: INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
7 1. Un cliente; que es el equipo que pide los recursos, equipado con una interfaz de usuario (generalmente un navegador Web) para la presentacin.
2. El servidor de aplicaciones (tambin conocido como software intermedio), su tarea es facilitar los recursos solicitados, sin embargo requiere de otro servidor para hacerlo
3. El servidor de datos, es el que concede al servidor de aplicaciones los datos que requiere.
Con la arquitectura cliente/servidor en tres capas (three-tier) aadimos una nueva capa entre el cliente y el servidor donde se implementa la lgica de la aplicacin. De esta forma el cliente es bsicamente una interface, que no tiene por qu cambiar si cambian las especificaciones de la base de datos o de la aplicacin; queda aislado completamente del acceso a los datos. El problema de esta arquitectura es cmo se implementa? Parece ilusorio tratar de programar manualmente estos procedimientos, mientras que, si se dispone de una herramienta que lo hace automticamente, presenta ventajas claras sobre la alternativa anterior:
INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
8 Como se podra esperar cada uno de los componentes de la aplicacin en una arquitectura three-tier se separa en una sola entidad. Esto te permite implementar componentes de una manera ms flexible. Algo que no creo que sorprenda es la afirmacin de que este tipo de arquitectura es la ms compleja. Comparacin entre ambos tipos de arquitecturas La arquitectura en 2 niveles es, por lo tanto, una arquitectura cliente/servidor en la que el servidor es polivalente, es decir, que posee varios valores o que tiene varias aplicaciones o usos; dicho de otra manera puede responder directamente a todas las solicitudes de recursos del cliente. Sin embargo, en la arquitectura en 3 niveles, las aplicaciones al nivel del servidor son descentralizadas de uno a otro, es decir, las funciones de cada servidor se adapta en una determinada tarea, (por ejemplo: servidor web/servidor de bases de datos). La arquitectura en 3 niveles permite: Un mayor grado de flexibilidad, ya que tiene una gran facilidad de adaptarse a situaciones. Mayor seguridad, ya que la seguridad se puede determinar independientemente para cada servicio y en cada nivel. Mejor productividad, ya que las tareas se comparten entre servidores.
1.3 USOS Y APLICACIONES
CUNDO IMPLANTAR CLIENTE/SERVIDOR? 1. Cambios estructurales y organizativos. 2. Cambios en organigramas. 3. Respuesta dinmica de mercado. 4. Cambio en procesos de negocio QU AYUDA A LA IMPLEMENTACIN? 1. La demanda de sistemas fciles. 2. Precio/rendimiento de estaciones y servidores. INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
9 3. Creciente acceso a la informacin para decisiones: A. Separacin datos-programas. B. Programas flexibles. 4. Nuevas tecnologas de alta productividad.
El paradigma cliente-servidor no solo se utiliza en referencia a las mquinas fsicas, tambin a los programas que las hacen funcionar segn su utilidad. Por ejemplo, son frecuentes expresiones tales como "cliente de correo" o "servidor de noticias" en referencia a programas. La primera se refiere al que utilizamos normalmente para interrogar nuestro buzn e-mail, "bajar" el correo y manipularlo (verlo, imprimirlo, borrarlo, etc.). El segundo se refiere a un programa o sistema de ellos, que en un servidor (mquina) realiza el trabajo de alojar los mensajes de noticias, atender las peticiones de los "clientes", etc. Observe que en realidad, el concepto cliente/servidor es muy genrico, y que puede ser entendido incluso en el mbito de una sola mquina, donde unas aplicaciones pueden prestar servicio a otras. Sin embargo, su significado desde el punto de vista informtico suele presuponer la existencia de varias mquinas (al menos dos) unidas en una red
1.4 COMUNICACIN ENTRE PROGRAMAS El proceso para la innovacin de un servicio siempre comienza con la creacin del Socker. As como el cliente necesita llamadas especficas en momentos establecidos, el servidor trabaja de modo similar pero incorpora unas pocas llamadas extras al sistema. El servidor utiliza la llamada del sistema Socket, este debe realizar un trabajo extra que es opcional para el cliente, el cliente continuamente ejecuta una conexin activa porque la persigue enrgicamente los servidores, por otro lado necesitan otorgar un numero de puesto especifico y consiste a los programas clientes si les va a prestar servicio. INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
10 El programa servidor que escriba deber utilizar las llamadas de sistema socker (), bind (), listen (), accept (). En cuanto el programa cliente es una conexin activa, el servidor es una conexin pasiva. Las llamadas del sistemas () y accept () crean una conexin solo cuando el cliente solicita una conexin (parecida a la accin de responder al timbre de un telfono.) El ejemplo de servidor escucha en un socket (puerto 8000) esperando peticiones entrantes. Cualquier programa, como el cliente de ejemplo, puede conectar con este servidor y pasarle hasta 16.384 bytes de datos. El servidor trata los datos como datos ASCII y los convierte en maysculas antes de pasrselos al programa cliente. Estos dos sencillos programas se pueden volver a utilizar fcilmente cuando se escriban programas cliente-servidor basados en socket. Los servidores que logran recibir muchas peticiones que ocurren al mismo tiempo, lo usan para crear un proceso separado para la administracin de peticiones de servicio constitucionalmente caras. El servidor crea un socket permanente para la escucha de peticiones de servicio; cuando un cliente conecta con el servidor, se crea un socket temporal. Cada vez que un cliente conecta con un servidor, se abre un nuevo socket temporal entre el cliente y el servidor.
INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
11
1.5. MODELOS DE COMPUTACIN DISTRIBUIDA La computacin distribuida es modelo de computacin en paralelo donde intervienen una coleccin de computadoras que pueden o no estar situadas en distintos lugares y pertenecientes a distintos dominios de administracin sobre una red distribuida. Estas utilizan estndares abiertos para llevar a cabo una tarea u objetivo comn. Se caracteriza por su heterogeneidad o sea cada computadora posee sus componentes de software y hardware, los cuales el usuario percibe como un solo sistema. Para el usuario todo es transparente, accede a los dems recursos de la misma manera que accede al suyo propio. Esta coleccin de computadoras bsicamente lo que hace es dividirse el trabajo a realizar en pequeas tareas individuales, reciben los datos necesarios para esa tarea, la hacen y devuelven los datos para unirlos en el resultado final. Un sistema de esta clase puede utilizarse efectivamente solo si el software es capaz de presentar al usuario el concepto de single system image (SSI) sobre el sistema fsicamente distribuido. De esta forma todos los recursos de un nodo deberan poder accederse transparentemente desde cualquier otro nodo.
1.5.1 MODELOS DE COMPUTACIN DISTRIBUIDA RMI RMI. REMOTE METHOD INVOCATION
Es una tecnologa basada en java la cual permite a determinados programas instanciar objetos que han sido dados de altas o que existen en una mquina de servidor. La computacin distribuida es un cdigo que no se ejecuta en una sola maquina sino en distintos puntos de internet. En RMI los objetos son los que se instancian por parte delo cliente la cual coge una referencia de la instancia del objeto remoto, las cuales trabajan sobre los mismos atributos. El objetivo final del RMI es de conseguir el desarrollo de los sistemas distribuidos y se puedan parecer a lo ms posible a aplicaciones de java locales. El RMI da soporte a las necesidades de los sistemas basados en objetos distribuidos, puede INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
12 contemplar dos mecanismos para obtener la referencia de objetos remotos los cuales son registro y localizacin, referencias remotas. La comunicacin con los objetos remotos, el RMI oculta la comunicacin con los objetos remotos, ya que para el programador es la innovacin de mtodos remotos es idntica a la invocacin local.
La imagen explica en la forma en que trabaja el RMI en java .
1.5.2. COM/DCOM.
Microsoft Distributed COM (DCOM) esparce COM (Component Object Model) para mantener comunicacin entre objetos en ordenadores diferentes, en una LAN, WAN, o incluso en Internet. Con DCOM una aplicacin conseguir ser distribuida en lugares que logran dar ms sentido al cliente y a la aplicacin. Como DCOM es un desarrollo lgico de COM, permite utilizar los componentes designados en aplicaciones basadas en COM, y trasladarlas a entornos distribuidos. DCOM manipula detalles muy bajos de protocolos de red, por lo cual uno se puede centrar en la realidad de los negocios: proporcionar soluciones a clientes. INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
13 La arquitectura DCOM DCOM es una extensin de COM, el cual define como los componentes y sus clientes interactan entre s. Esta interaccin es definida de tal manera que el cliente y el componente logran conectar sin la exigencia de un sistema intermedio. El cliente avisa a los mtodos del componente sin tener que responsabilizarse de niveles ms complejos. La siguiente figura ilustra esto en la notacin de COM
En los sistemas operativos que existen actualmente, los procesos estn separados unos de otros. Un cliente que requiere comunicarse con un componente en otro proceso no logra llamarlo directamente, y deber utilizar determinadas formas de comunicacin entre procesos que proporcione el sistema operativo. COM proporciona este tipo de comunicacin de una forma transparente: intercepta las llamadas del cliente y las reenva al componente que est en otro proceso. La figura que se muestra a continuacin ilustra como las libreras de COM/DCOM proporcionan la forma de comunicar el cliente y el componente:
Cuando el cliente y el componente radican en distintas mquinas, DCOM simplemente sustituye la comunicacin entre procesos locales por un protocolo de red. En cuanto al cliente y el componente no logran enterarse de que la unin que los conecta es ahora un poco ms grande. La figura siguiente representa la arquitectura DCOM en su conjunto: Las librera de COM proporcionan servicios orientados a objetos a los clientes y componentes, y utilizan RPC y un proveedor de seguridad para generar paquetes de red estndar que entienda el protocolo estndar de DCOM. INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
14
Al existir infraestructuras de hardware, software, componentes, al igual que herramientas, se necesita poder integrarlas y nivelarlas para reducir el desarrollo y el tiempo de trabajo y coste. DCOM toma ventaja de forma directa y transparente de los componentes COM y herramientas ya existentes. Un gran mercado de todos los componentes disponibles hara posible reducir el tiempo de desarrollo integrando soluciones estandarizadas en las aplicaciones de usuario. Muchos desarrolladores estn familiarizados con COM y pueden aplicar fcilmente sus conocimientos a las aplicaciones distribuidas basadas en DCOM.
Independencia de la localizacin Cuando se comienza a implementar una aplicacin distribuida en una red reak, aparecen distintos conflictos en el diseo: Los componentes que interactan ms a menudo deberan estar localizados ms cerca. Algunos componentes solo pueden ser ejecutados en mquinas especficas o lugares especficos. Los componentes ms pequeos aumentan la flexibilidad, pero aumentan el trfico de red. Los componentes grandes reducen el trfico de red, pero tambin reducen la flexibilidad. Con DCOM, estos temas crticos de diseo pueden ser tratados se forma bastante sencilla, ya que estos detalles no se especifican en el cdigo fuente. DCOM olvida completamente la localizacin de los componentes, ya est en el mismo proceso que el cliente o en una mquina en cualquier lugar del mundo. En cualquier caso, INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
15 la forma en la que el cliente se conecta a un componente y llama a los mtodos de ste es idntica. No es solo que DCOM no necesite cambios en el cdigo fuente, sino que adems no necesita que el programa sea recompilado. Una simple reconfiguracin cambia la forma en la que los componentes se conectan entre s. La independencia de localizacin en DCOM simplifica enormemente las tarea de los componentes de aplicaciones distribuidas para alcanzar un nivel de funcionamiento ptimo. Supongamos, por ejemplo, que cierto componente debe ser localizado en una mquina especfica en un lugar determinado. Si la aplicacin tiene numerosos componentes pequeos, se puede reducir la carga de la red situndolos en la misma LAN, en la misma mquina, o incluso en el mismo proceso. Si la aplicacin est compuesta por un pequeo nmero de grandes componentes, la carga de red es menor y no es un problema, por tanto se pueden poner en las mquinas ms rpidas disponibles independientemente de donde estn situadas.
Independencia del lenguaje de programacin Una cuestin importante durante el diseo e implementacin de una aplicacin distribuida es la eleccin del lenguaje o herramienta de programacin. La eleccin es generalmente un trmino medio entre el coste de desarrollo, la experiencia disponible y la funcionalidad. Como una extensin de COM, DCOM es completamente independiente del lenguaje. Virtualmente cualquier lenguaje puede ser utilizado para crear componentes COM, y estos componentes puede ser utilizado por muchos ms lenguajes y herramientas. Java, Microsoft Visual C++, Microsoft Visual Basic, Delphi, PowerBuilder, y Micro Focus COBOL interactan perfectamente con DCOM. Con la independencia de lenguaje de DCOM, los desarrolladores de aplicaciones pueden elegir las herramientas y lenguajes con los que estn ms familiarizados. La independencia del lenguaje permite crear componentes en lenguajes de nivel superior como Microsoft Visual Basic, y despus re implementarlos en distintos lenguajes como C++ o Java, que permiten tomar ventaja de caractersticas avanzadas como multihilo. INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
16 1.5.3. Servicios Web. Existen numerosas definiciones de Servicios Web y esto demuestra, en parte, la gran complejidad de los servicios que se agrupan bajo este trmino y las implicaciones asociadas a ellos. La definicin ms general y convincente es decir que los Servicios Web son el conjunto de aplicaciones o tecnologas con capacidad para interoperar en la Web. Estas tecnologas intercambian datos entre ellas con el fin de ofrecer unos servicios.
La interoperabilidad puede ser de 3 tipos: Tcnica: capacidad para que los sistemas de informacin intercambien seales y se realiza tanto a travs de una conexin fsica (cable, ondas, etc.), como por medio de una serie de protocolos de comunicaciones (TCP/IP, etc). Semntica: capacidad de intercambiar el contenido de la informacin basndose en el significado. Sintctica: capacidad para que un sistema pueda leer e interpretar los datos de otros sistemas. Para ello se utilizan una serie de aplicaciones como las Interfaz de programacin de aplicaciones que permiten analizar e intercambiar los datos. Los servicios web son esenciales en las Infraestructuras de Datos Espaciales (IDE) porque permiten a los usuarios el acceder a datos de manera estndar mediante Sistemas de Informacin Geogrfica y otras aplicaciones a travs de Internet. Debido a que este tipo de servicios sirven como protocolo entre las aplicaciones cliente y nuestro servidor de mapas, no pueden ser utilizados directamente en un navegador como Microsoft Internet Explorer, Mozilla Firefox o Google Chrome. Estos servicios proporcionan mecanismos de comunicacin estndares entre diferentes aplicaciones, que interactan entre s para presentar informacin dinmica al usuario. Para proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo tiempo sea posible su combinacin para realizar operaciones complejas, es necesaria una arquitectura de referencia estndar. INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
17 La estructura interna de un servicio web se basa en los siguientes protocolos y normas: SOAP (Simple Object Access Protocol): establece la forma en que dos objetos en diferentes procesos pueden comunicarse mediante el intercambio de datos en lenguaje XML. UDDI (Universal Description, Discovery and Integration): lista los servicios web y los pone a disposicin de los usuarios. WDSL (Web Services Description Language): permite que los servicios web describan cmo deben ser tratados por otras aplicaciones.
1.5.4. Otros.
Modelo cliente-servidor: Este modelo es el ms utilizado para desarrollar aplicaciones distribuidas. Se halla un proceso servidor y uno o varios procesos clientes. Este modelo es utilizado en muchos servicios de Internet como HTTP, FTP, DNS, el concepto igualmente puede aplicarse a los ordenadores servidor o cliente, cuyo nombre se debe a que la ejecucin de la mayora de sus procesos son de tipo servidor o de tipo cliente. El programa o los programas cliente que el usuario utiliza para acceder a los servicios de Internet realizan dos funciones distintas. Por una parte, se encargan de gestionar la comunicacin con el ordenador servidor, de solicitar un servicio concreto y de recibir los datos enviados por ste; y por otra, es la herramienta que presenta al usuario los datos en pantalla y que le ofrece los comandos necesarios para utilizar las prestaciones que ofrece el servidor. Peer-to-peer: es una red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre s. Es decir, actan simultneamente como clientes y servidores respecto a los dems nodos de la red. Las redes P2P permiten el intercambio directo de informacin, en cualquier formato, entre los ordenadores interconectados. INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
18 En el modelo cliente-servidor existe una clara determinacin de las diferencias de esta. El servidor ofrece a los clientes servicios y los clientes utilizan estos servicios. En sistemas P2P los procesos que colaboran en la comunicacin realizan los mimos papeles: de cliente y de servidor. Este sistema se liga a lo que es la informtica distribuida, ya que se olvida de la centralizacin y tiene un sistema ms dinmico y descentralizado. Cluster: es un grupo de ordenadores enlazados por una red de alta velocidad (Gigabit Ethernet, Myrineto InfiniBand). Los computadores individuales pueden ser PC convencionales que se instalan en un rack. Todos los ordenadores trabajan como un nico recurso de computacin, mostrndose como un nico sistema. En un cluster todos los ordenadores distribuyen los discos y los diferentes ordenadores que lo forman estn continuamente monitorizando para detectar posibles fallos de hardware. Si se llega a detectar un fallo, se planifica el trabajo del nodo errneo en otro ordenador, de forma que el usuario no distingue la parada del servicio. Los cluster se realizan mediante un middleware que gestiona todo. Un cluster puede ser homogneo (misma arquitectura, SO...) o heterogneo (distintos entornos, middlewares ms complejos). Grid: El concepto de grid, es parecido al concepto de cluster. La principal diferencia con un entorno cluster, es que en un entorno grid, los diferentes computadores del grid no pertenecen a un mismo dominio de administracin y por tanto estn sujetos a diferentes polticos de uso y de administracin. La primera mencin, y su definicin viene dada por Ian Foster: "Un sistema que acopla los recursos, que no estn sujetos a un control centralizado utilizando interfaces y protocolos estndares, abiertos y de propsito general para proveer de servicios relevantes".
INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR
19 CONCLUSIN
En esta unidad pudimos observar que en realidad, el concepto cliente/servidor es muy genrico, y que puede ser entendido incluso en el mbito de una sola mquina, donde unas aplicaciones pueden prestar servicio a otras. Sin embargo, su significado desde el punto de vista informtico suele presuponer la existencia de varias mquinas (al menos dos) unidas en una red: Para concluir debemos comprender los siguientes tres puntos: Un servidor es cualquier mquina que dispone un recurso para ser compartido. Un cliente es cualquier mquina que necesita un recurso externo. Un servidor de determinado recurso puede ser cliente de otros y a la inversa. Un cliente puede ser a su vez servidor de otro recurso.
INSTITUTO TECNOLGICO DEL ISTMO PROGRAMACIN EN AMBIENTE CLIENTE/SERVIDOR.
INGENIERA INFORMTICA UNIDAD 1: | CONTEXTO DE LA PROGRAMACIN CLIENTE/SERVIDOR