Friday, August 04, 2006

Aplicaciones Web vs. Escritorio (Desktop) vs. legacy o consola

1. Concepto

Las aplicaciones Web utilizan lo que se conoce como clientes livianos (light clients) los cuales no ejecutan demasiadas labores de procesamiento para la ejecución de la aplicación misma. Desde el punto de vista de la arquitectura se distinguen dos lados el uno es el cliente en donde se encuentra el usuario final utilizando la aplicación por intermedio de una navegador (explorer o firefox), es aquí donde el usuario interactúa con la aplicación localizada al otro lado o servidor en donde residen realmente los datos, reglas y lógica de la aplicación.

2. ¿Por que este concepto ha tomado tanta relevancia?

La esencia del concepto es: no dejar que el cliente realice demasiadas tareas, solo lo necesario para que lleve a cabo su trabajo y dejar que en el lado del servidor se realicen las operación importantes: almacenamiento de datos, transacciones, reglas del negocio y la lógica del programa.

Con el auge de las rede locales (empresariales, institucionales o caseras) y la popularidad de la Internet ofreciendo la oportunidad de acceso a través de computadores y otros dispositivos móviles, lo que era algo de uso privilegiado hace algunos años, ahora es común. La Internet ha elevado y extendido aun más el concepto de aplicación Web para servir no sólo a usuarios de una pequeña red sino ubicados en cualquier sitio donde tenga acceso a la Internet.

3. Problemas con las aplicaciones de escritorio.

Con la división del problema en dos partes, se logra centralizar la administración en general a un solo lado: el servidor, resolviendo una gran cantidad de problemas anteriormente encontrados en las aplicaciones de escritorio mono usuario, como son:

  • Duplicidad de datos por la falta de unificación de los mismos.
  • Diseminación de la información y lógica en muchas partes (cada computador que la use).
  • Falta de portabilidad de la aplicación a diferentes sistemas operativos
  • Traumas a la hora de realizar actualizaciones o correcciones al programa ya que las instalaciones están diseminadas
  • La administración de la seguridad, controlando el acceso a los usuarios a información no relevante o privada es un caos.
  • Dificultad para configurar cada una de las instalaciones.(deployments) dependiendo de las necesidades de cada usuario

4. Que pasa con las aplicaciones de consola o modo texto?

Con aplicaciones tipo consola nos referimos a las aplicaciones construidas en plataformas del tipo Cobol, AS400 y RPG, FoxPro entre otras.

El concepto de las aplicaciones de consola es un poco similar al de una aplicación Web con una arquitectura del tipo cliente-servidor en el cual el cliente también se puede considerar liviano. Aunque existen algunas diferencias como son:

  • Protocolos de comunicación propio y no estándar como si ocurre en Web con el protocolo HTTP y el concepto de URL.
  • Formatos de intercambio propio y no estándar como si ocurre en Web con el formato HTML o XML.
  • En el lado del cliente hay restricciones con las vistas ya que es necesario instalar APIs específicas que no son estándar, portables, o extensibles. En la Web sólo se debe instalar un navegador para acceder a la aplicación.y demas.
  • La dependencia con el proveedor del software con respecto a la plataforma, arquitectura, hardware, sistema operativo y demás aditamentos que lleva consigo el “paquete” de la “solución” es inmensa en las aplicaciones de consola. En la Web la división por capas de las soluciones hace posible una independía en todo sentido mucho mayor.

5. La Web

La Web se puede considerar como una plataforma o “sistema operativo” en el cual los recursos están distribuidos en la red y están siendo extendidos en todo momento con posibilidades ilimitadas.

La Web se ha hecho popular con aplicaciones tales como clientes de correo, buscadores, portales, foros, chats, IRCs, RSSs, blogs y demás. Además de estas aplicaciones de propósito general existe adicionalmente una gran diversidad de soluciones que se acomodan al ambiente Web como son: Administradores de contenido (CMS), Administrador de proyectos, Suites para trabajo colaborativo, Administración de relaciones con el cliente (CRM), ERP y demás

La Web se reinventa día a día, lo que ayer parecía imposible hoy es una realidad, hace uno año o quizás meses no me cabía en la cabeza que hubiera muchas opción para realizar una hoja de calculo (Excel) en plataforma Web docs.google.com o que tal un juego animado de construcción de mundos (Age of empires) www.travian.net, un sistema de búsqueda mapas y direcciones (Google maps) maps.google.com. Google es uno de tantos que ha ayudado y sirve de infraestructura para llevar a cabo tales ideas a la realidad.

Si bien es cierto que la arquitectura cliente servidor de la web ha ofrecido muchas ventajas también es cierto que carece de la riqueza gráfica de las aplicaciones de escritorio que cuentan con controles inteligentes que dan mayor fluidez al trabajo del usuario, esto ha sido resuelto con varias estrategias o tecnologías tales como AJAX, flash y Web 2 entre otras. Asi que en vez de ir perdiendo fuerza debido a la pobreza en sus interfaces gráficas, la web busca alternativas que le permitan ofrecer todas sus ventajas pero con la posibilidad de ofrecer controles visuales más amigables al trabajo del usuario.

6 Integración

No se puede despreciar el enorme impacto que ha tenido el computador personal o PC en la actualidad, el haber puesto al servicio de un usuario normal el poder de una computadora en vez de una terminal simple ha potenciado una gran diversidad de usos.

Las aplicaciones de escritorio se han usado y se seguirán usando y tienen un campo enorme (sistemas CAD, CAM, suite de oficina, aplicaciones graficas, juegos, utilidades o el mismo sistema operativo), no todo esta en Web, hay cosas que se necesita que se ejecuten estrictamente en su máquina para aprovechar el poder que tiene al alcance. Pero la fusión e integración de servicios de los computadores, las aplicaciones de escritorio y la extensión de las facultades de comunicación con las aplicaciones Web que hace posible la Internet es la plataforma óptima que sirve de infraestructura para todos los usuarios desde el tipo empresarial, institucional o personal.

Referencias

Como usar de un modo práctico estas técnicas para el desarrollo Agil de aplicaciones, ver mas en: Open Systems Development (OSD) - http://www.osdglobal.com

0 Comments:

Post a Comment

<< Home