Você está na página 1de 4

Que aplicaciones son las más adecuadas para el proceso cliente servidor?

Antecedentes
Si bien desarrollar aplicaciones web es, junto al desarrollo de aplicaciones móviles,
la tendencia más fuerte del mercado de desarrollo de software, también es cierto
que otros modelos de desarrollo siguen manteniendo vigencia y son parte
fundamental de la evolución de los sistemas informáticos.

Veinte años atrás las aplicaciones más usadas eran monolíticas, un solo gran
archivo ejecutable que hacia todo el procesamiento de la lógica de negocio y atendía
al usuario proveyendo una interfaz muy controlada y mucho menos rica que las
interfaces actuales. Muchas de esas aplicaciones eran mono-usuario (un único
usuario al tiempo), y poco a poco fueron pasando a ser multi-usuario aunque
manteniendo el concepto de un solo archivo ejecutable, normalmente ubicado en
una carpeta compartida para que los usuarios de la red pudieran accederlo.

Cliente-Servidor

Pronto otros modelos arquitecturales aparecieron para dar soluciones a una


cantidad cada vez más creciente de necesidades de los usuarios que veían como
los computadores aportaban a su negocio. Sin duda uno de los modelos
arquitecturales más usados es Cliente-Servidor, en este modelo las tareas se
reparten entre dos roles: un proveedor que proporciona recursos o servicios y al
cual se le llama Servidor, y consumidor que contacta al servidor con el objetivo de
hacer uso de los recursos que este provee.

Con el uso de esta arquitectura para el desarrollo de aplicaciones pasamos a tener


una sola gran aplicación monolítica a un modelo distribuido en el que el servidor
(normalmente de mayor capacidad de computo) procesa toda la lógica de negocio,
y el cliente provee la interfaz de usuario y realiza validaciones y normalmente
procesos menores de la lógica de negocio.

La entrada de algunos motores de base de datos, en remplazo de


las débiles estructuras de almacenamiento de información en archivos planos o
tablas sueltas en forma de archivos, contribuyeron a la arquitectura cliente servidor.
Podemos citar como ejemplo Microsoft SQL Server que no solo provee un sistema
robusto para almacenar grandes volúmenes de información, sino una estructura
sólida de desarrollo basada en SQL como estándar. Gracias a esta característica
ahora podemos desarrollar aplicaciones que tiene gran parte de la lógica de negocio
en el mismo servidor de base de datos escrita en Procedimientos Almacenados
(Stored Procedure) y que los clientes consumen a través de llamados al motor de
SQLServer.

Aplicación Web

Una aplicación web es aquella herramienta de software que los usuarios utilizan
para acceder a un servidor web a través de Internet o una Intranet mediante un
navegador Web

Las aplicaciones web tiene mucho auge gracias a lo fácil que resulta usar un
navegador web como cliente ligero, esto además supone otras ventajas como la
independencia del sistema operativo que utilice el usuario en su PC. Otra razón de
su popularidad es la facilidad para actualizarlas y mantenerlas, ya que no requiere
la distribución, instalación y actualización de la aplicación en miles de usuarios;
basta actualizar el servidor para contar con nuevas versiones del sistema.

Para que las aplicaciones web que desarrollamos funcionen de forma adecuada en
cualquier navegador es necesario que se cumplan estándares, tanto por parte de la
aplicación desarrollada como del navegador mismo.

Los diversos sistemas operativos existentes soportan navegadores que están


construidos para soportar unos estándares definidos por la industria (DOM, HTML,
XML, CSS), esto a su vez se conectan a servidores web que retornan información
en un formato estándar que debe ser soportado por los navegadores. La
construcción de las aplicaciones deben tener en cuenta estos estándares para
garantizar su portabilidad; si en algún momento tomamos una decisión sobre una
tecnología o herramienta no estandarizada, finalmente tendremos limitantes y
nuestra aplicación solo sería visible por algunos navegadores, lo que no es
recomendable y por tanto se debe evitar (salvo que sea nuestra última opción para
cumplir con un requerimiento del cliente).

¿Web-Enabled o Web-Based?

Cuando nos referimos a las aplicaciones desarrolladas para la web común mente
hacemos referencia al termino Web-Enabled, pero es este el termino correcto?

Empecemos por mirar unas definiciones:

 Web-Enabled: producto o servicio que se puede utilizar a través de, o en conjunción


con, la WWW.

 Web-Based: aplicaciones que no hacen procesamiento en el computador del


usuario, en su lugar se utilizan a través de Internet gracias a un navegador web.

Basado en esto podemos concluir que Web-Enabled es un concepto más global y


es por eso que es usado por muchas personas para describir aplicaciones que usan
un navegador web, sin embargo es claro que cuando nos referimos a aplicaciones
que usan el navegador es más adecuado referirse a ellas como aplicaciones Web-
Based.

De la misma forma podemos entender como muchas aplicaciones dicen ser Web-
Enabled teniendo aplicaciones que corren en la estación de trabajo del usuario, esta
debido a que se conectan a servicios expuestos en Internet que son básicos para
su funcionamiento.

Aplicaciones Web y Cliente-Servidor

Se podría llegar a pesar que las aplicaciones desarrolladas usando la arquitectura


Cliente-Servidor son obsoletas, sin embargo, no existe tal obsolescencia, las
aplicaciones desarrolladas en esta arquitectura siguen tan vigentes como las
aplicaciones web, solo debemos considerar que es otras de las múltiples estrategias
que tiene un arquitecto o un desarrollador de aplicaciones para resolver un
problema. De hecho las aplicaciones web se puede considerar como una variación
de la arquitectura Cliente-Servidor, donde las funciones de cliente las cumple el
navegador.

En muchos casos las aplicaciones web no son la mejor opción para resolver una
necesidad de un cliente, por ejemplo si necesitamos una interfaz muy rica, o mucha
interacción con hardware, es posible que nuestra mejor decisión no sea usar una
aplicación basada en un navegador.

http://ingsoftluisf.blogspot.com/2012/11/cliente-servidor.html

http://desarrollandowebapps.blogspot.com/2013/02/aplicaciones-tradicionales-vs.html

Você também pode gostar