25 mayo 2006

Sota sobre un Smart Client

Leyendo acerca de ClickOnce (ahora os cuento algo de eso y os pongo enlaces), se me ocurre si Sota no podría ser una aplicación destinada a su ejecución en Smart Clients. Ain? Bueno, Microsoft separa los destinos de una aplicación en Heavy Clients (un PC), Light Clients (un PDA o un móvil) y en medio los Smart Clients, que son PCs básicos o PDAs avanzados. Las aplicaciones diseñadas para Smart Clients están a medio camino entre el paradigma web, que permite ejecutar la aplicación sin instalarla, y el paradigma tradicional, donde hay que instalar. Para que nos entendamos, si Sota fuera una aplicación destinada a Smart Clients, usando la tecnología ClickOnce, podríamos conseguir que si un cliente quiere usar Sota, hace clic en un enlace en una web y en vez de bajarse o ejecutar un instalador, Sota sale andando, con su interfaz pesado de controles Windows y todo eso (sí, Berny, como Saga/2). Incluso se guardaría en su equipo y podría hasta funcionar en modo offline más adelante, sin haber tenido que pasar por un proceso de instalación (es decir, sí, pero totalmente transparente, y sin requerir permisos de administrador).
Primero planteo las alternativas de diseño que se me ocurren, y después os pongo una pila de enlaces para que los que tengáis hambre os pongáis las botas con esto de ClickOnce.
Se me ocurren 2 posibilidades de diseño principales al abordar una aplicación ClickOnce:
  • Base de datos remota: utilización de Servicios Web para leer y guardar los datos desde el cliente, donde se ejecuta el interfaz rico y la capa de negocio (aunque se podría separar y hacer procesos de negocio en el servidor, si eso reduce las comunicaciones en casos puntuales).
  • Base de datos local: ClickOnce te asigna un directorio de datos para tu aplicación, así que creo que ahí se podría crear sobre la marcha una base de datos de Access y usarla. Esto permitiría el funcionamiento offline.
Todo esto del Smart Client no quita para que sigamos desarrollando nuestra versión Heavy, que exigirá la instalación de un motor SQL Express, provocando que la distro abulte más de 50 megas.

Bueno, y los enlaces prometidos: