Cliente/servidor: un concepto estratégico global. Los usuarios definen el proceso cliente/servidor.

El proceso cliente/servidor, que es en parte un enfoque concreto para la implementación de tecnología y en parte un concepto utilizado para explicar la relación entre sistemas de sobremesa inteligentes y sistemas multiusuario tradicionales, se ha convertido en un término global utilizado para describir las estrategias de producto de vendedores de Tecnologías de la Información y los planes de implementación para usuarios finales en los años 90.

Aunque continuar considerando el proceso cliente/servidor como un área más del sector, sin forma ni sustancia específica, puede ser problemático, la consultora IDC considera que es necesario y probablemente preferible definirlo dentro de unos parámetros amplios. Intentar limitar una definición cliente/servidor a cualquier enfoque, configuración o conjunto de productos, sería ciertamente debatible, probablemente insuficiente y de utilidad cuestionable. El objetivo de IDC al definir el concepto cliente/servidor es ofrecer una definición que pueda dar cabida a toda la diversidad de plataformas de proceso, aplicaciones y configuraciones que van a implementar los usuarios.

El proceso cliente/servidor no es en sí mismo un producto, sino más bien un estilo y un método de diseño y construcción de aplicaciones de proceso. Se trata por tanto, tal como se define en el New American Heritage Dictionary , de una arquitectura. Una arquitectura cliente/servidor implica cuatro elementos básicos:

* Plataformas de proceso programables

* Separación entre función/proceso de aplicación

* Comunicación entre procesos

* Enfoque solicitante/proveedor de servicios

IDC considera que el proceso cliente/servidor es esencialmente una arquitectura en la que las aplicaciones están funcionalmente separadas en distintos procesos. Estas aplicaciones se implementan en una única plataforma programable o múltiples plataformas programables conectadas en red, utilizando comunicaciones entre procesos del tipo solicitante de servicios/proveedor de servicios.

El proceso cliente/servidor no sufre de limitaciones en cuanto a tipo de sistema, tamaño del sistema o sistema operativo. Los clientes pueden ser cualquier tipo de sistema inteligente, desde PCs a sistemas propietarios, y lo mismo pueden ser los servidores.

Además, aunque la arquitectura cliente/servidor se implementa normalmente con múltiples plataformas programables conectadas en red, al ser esencialmente una arquitectura de aplicaciones puede ser implementada también en una única plataforma programable. Por ejemplo, la arquitectura de muchas aplicaciones de bases de datos de un solo sistema, incluyendo SGBDR y CICS, está basada en elementos cliente/servidor. Es la partición de las funciones de aplicación, enlazadas de forma contingente en una relación solicitante/proveedor, lo que constituye el núcleo de la arquitectura cliente/servidor. En terminología IDC, se considera que un cliente es una entidad de sistema programable que maneja parte de una aplicación que no es compartida por otros clientes, y que debe solicitar servicios e interactuar con una parte de la aplicación que reside en una función servidor programable. La relación del cliente con el servidor es necesaria para ejecutar esa aplicación en su totalidad. La función servidor es compartida por clientes y ofrece servicios a las partes cliente de la aplicación particionada mediante comunicaciones entre plataformas.

La continuidad cliente/servidor

Para comprender mejor las implicaciones de esta definición de arquitectura de alto nivel, puede considerarse el proceso cliente/servidor en el contexto de una continuidad o serie de diferentes tipos de implementaciones de aplicación. El atributo más importante que se utiliza para distinguir las diversas implementaciones cliente/servidor es el lugar en que está ubicado el control de la aplicación y/o el dominio ejercido por la función de aplicación. La continuidad cliente/servidor puede ir desde aplicaciones centradas en el servidor, en las que el control de la aplicación está basado predominantemente en el host, hasta el enfoque centrado en el cliente, en que es más dominante la parte cliente de la aplicación. Por ejemplo, un sistema de entrada de pedidos con interfaces desktop funcionando en un ordenador host, es un tipo de arquitectura cliente/servidor centrada en el servidor.

Los usuarios se ven limitados a opciones de menú previamente especificadas, y son atendidos de acuerdo con el algoritmo o el monitor desktop. El programa host conoce todas las opciones posibles de que disponen todos los usuarios en todo momento, y las actividades de visualización, ejecución de programas y gestión de recursos se encuentran todas en el host.

En el otro extremo, el cliente tiene el control absoluto de la ejecución de la aplicación, y los recursos compartidos (servicios de red y sistemas SGBDR) son controlados por el servidor. Un ejemplo de ésto sería un sistema de entrada de pedidos que funcionase en el sistema cliente, incluyendo todo el proceso excepto las operaciones de lectura y escritura a la base de datos.

El servidor suministra funciones multiusuario de base de datos, incluyendo control de acceso a los datos. En este ejemplo, el servidor no tiene control sobre la porción de la aplicación correspondiente al usuario, y desde el punto de vista del servidor no hay forma de predecir la naturaleza de las peticiones del cliente. En este caso, la visualización y toda la ejecución del programa están asignadas al interface de usuario, o cliente, mientras que el host realiza la gestión de recursos compartidos.

IDC considera que una perspectiva de control de aplicación es una interpretación realista de la visión que tiene un cliente del proceso cliente/servidor. El nivel de centralismo servidor versus cliente está basado en la aplicación, y no depende de la relación física de las entidades que forman la plataforma. Tal como se ilustra en la Figura las plataformas programables pueden estar relacionadas entre sí como un cliente o como un servidor, o bien en forma de una implementación centrada en el cliente versus una centrada en el servidor, dependiendo de la aplicación específica de que se trate.

Gran parte de la evolución de las arquitecturas cliente/servidor es el resultado de cambios que han tenido lugar en los requerimientos de los clientes, en la tecnología y en la competencia. IDC considera que son estos factores en combinación los que continuarán impulsando el desarrollo cliente/servidor. Sin embargo, es importante señalar que aunque IDC prevé una migración hacia aplicaciones basadas en la arquitectura cliente/servidor, es posible que este movimiento no dé lugar a un mercado único, definible o previsible, sino que, más bien, el proceso cliente/servidor, de forma muy similar al proceso distribuido en los años 80, constituye un amplio conjunto de mercados para diversos productos de hardware y software, redes y servicios. Estos mercados, que soportarán el desarrollo cliente/servidor, están segmentados por aplicaciones, tecnologías, precios y proveedores, por nombrar sólo unos pocos de los posibles factores de diferenciación. Afirmar que la arquitectura cliente/servidor alcanzará cualquier valor de ventas específico es subestimar la influencia del proceso cliente/servidor en el sector de Tecnologías de la Información en su conjunto. Para comprender mejor las formas en que el proceso cliente/servidor afectará de manera global a los mercados de tecnología de la información, es conveniente analizar brevemente los factores que promueven el proceso cliente/servidor.

Requerimientos de los usuarios

Un estudio reciente de IDC entre más de 6.000 ejecutivos de sistemas de información de Estados Unidos, Europa y Japón permitió identificar tres factores que se distinguen como requerimientos clave para la gestión tecnológica en los años 90: controlar los costes, integrar y

Viñeta publicada el 20 de febrero de 1870 en La Flaca n.º 35 Tendencias

ny2 ACTUALIDAD

ny2 Sociedad de la información

Día de la Movilidad y el BYOD Coffee Break