Normalmente (y tradicionalmente) nuestro Software reside en nuestro computador, donde tiene todos los recursos que necesita (código ejecutable, datos, etc…) Con la llegada de las redes de comunicación, aparece un nuevo tipo de aplicación: la aplicación cliente/servidor
Definición: Software dividido en dos partes que residen en ordenadores distintos. En la parte del servidor se centralizan los datos y el proceso de datos. Los clientes se limitan a enviar peticiones de servicios y a recibir sus respuestas
En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:
Es el que inicia solicitudes o peticiones. Tiene, por tanto, un papel activo en la comunicación (dispositivo maestro o amo).
Espera y recibe las respuestas del servidor.
Por lo general, puede conectarse a varios servidores a la vez.
Normalmente, interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
Al contratar un servicio de red, se debe de tener en cuenta la velocidad de conexión que se le otorga al cliente y el tipo de cable que utiliza.
En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:
Es el que inicia solicitudes o peticiones. Tiene, por tanto, un papel activo en la comunicación (dispositivo maestro o amo
Espera y recibe las respuestas del servidor.
Por lo general, puede conectarse a varios servidores a la vez.
Normalmente, interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
Al contratar un servicio de red, se debe de tener en cuenta la velocidad de conexión que se le otorga al cliente y el tipo de cable que utiliza.
Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son:
Al iniciarse espera a que le lleguen las solicitudes de los clientes. Desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).
Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).
No es frecuente que interactúen directamente con los usuarios finales.
Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son:
Al iniciarse espera a que le lleguen las solicitudes de los clientes. Desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).
Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).
No es frecuente que interactúen directamente con los usuarios finales.
Con la llegada de la web, las aplicaciones cliente/servidor han evolucionado hacia las aplicaciones web.
Conceptualmente, una aplicación web es lo mismo que una aplicación cliente/servidor. Lo único que cambia es el soporte. La aplicación web se apoyará en páginas web, navegadores de Internet, servidores web, etc.
Los diseñadores de páginas web deben de utilizar las herramientas del W3C (organización responsable de los estándares de creación de páginas web)
Una aplicación web es una aplicación cliente/servidor de tipo “cliente ligero”.
Toda la aplicación reside en un servidor web. El usuario (cliente) únicamente tiene que “bajarse” a su ordenador las páginas web que interpretan el interfaz de la aplicación.
Según algunos: “cliente ultraligero”, el cliente ni siquiera tiene que instalar una aplicación cliente, ya que utiliza el navegador web (que ya viene incluido con prácticamente todos los sistemas operativos)
Hemos de indicar que todos y cada uno de los puntos que presentamos son plenamente “discutibles” y, por tanto, según la solución concreta sobre la que hablemos, es decir, el software concreto a utilizar, se podrán cumplir los siguientes puntos de forma total, parcial o nula.
No requiere instalar software especial (en los clientes). Solo necesitamos disponer de un navegador de páginas web (Internet Explorer, Firefox, Opera, Chrome, etc.), los cuales suelen venir con el propio sistema operativo.
Bajo coste en actualizar los equipos con una nueva versión. La actualización se realiza en el servidor y automáticamente la ven todos los usuarios.
Acceso a la última y mejor versión. Como consecuencia del punto anterior, se evita que pueda existir algún equipo que ejecute una versión diferente y desactualizada.
Información centralizada. En una aplicación web, no solamente la lógica de negocio está centralizada en el servidor, sino también los datos que se ubican en una base de datos centralizada (en ese servidor u otro destinado a tal fin). La centralización tiene la ventaja de facilitar el acceso a la misma.
Seguridad y copias de seguridad. Como disponemos de los datos centralizados es más fácil establecer y llevar el control de una política de copias de seguridad centralizada. Es más, al no ubicarse los datos en el puesto de trabajo, en caso de robo o incendio, la empresa no ha perdido información y puede desplegar rápidamente un nuevo puesto de trabajo (PC con un navegador web).
Movilidad. Si el software está ubicado en un servidor web en Internet o bien disponemos de una intranet externalizada (extranet), cualquier usuario con un portátil y una conexión a Internet móvil podría acceder a la aplicación.
Reducción de costes en los puestos cliente (mayor longevidad). Debido a que las páginas se ofrecen desde el servidor web (donde se suelen ejecutar la mayoría de los procesos y la lógica de negocio), el equipo cliente queda relegado a mostrar los resultados y formularios, para lo cual no es necesario un hardware potente en los puestos de trabajo, lo que se traduce en reducción de costes y una mayor longevidad en el uso de los mismos (no hay que cambiar el hardware de los puestos porque ahora se requieran operaciones más complejas).
Sin embargo no todo son ventajas. Debemos recordar que en el mundo real no existe la solución perfecta, sino la más o menos adecuada al caso planteado. Por ello, una solución web también tiene sus inconvenientes, unos derivados del modelo web y otros como consecuencia de cómo se implante.