lunes, 12 de marzo de 2012

Ingeniería de las aplicaciones web

La ingeniería de estas "ubiquitous web applications" está directamente relacionada con los métodos base modelo en el área del desarrollo tradicional de las aplicaciones web que no consideran lo ubicuo.

Hay tres "dimensiones" bien diferenciadas para estos métodos: niveles, aspectos y fases.

  • Niveles: contenido, hiperbase y presentación son los términos en los que los niveles son comprendidos. El contenido se refiere a los datos usados que dependen del dominio que suelen ser tratados por alguna base de datos. La hiperbase denota la composición lógica de las páginas y la estructura de navegación y está estrechamente relacionada con la presentación.
  • Aspectos: estructura y comportamiento. En lo concerniente a la estructuración del dominio hay relación con los mecanismos abstractos estandar como la clasificación, agregación y generalización, el aspecto de comportamiento en términos de aplicaciones lógicas dependientes del dominio ha de ser considerado en la misma manera que el anterior. Al igual que en los anteriores el comportamiento ha de ser modelado como el punto final de un cierto enlace. Ésto comprende la modelización de las reacciones a los eventos de las entradas.
  • Fases: análisis, diseño e implementaciones. Éstas comprenden las diferentes fases del ciclo de vida del software. Ahora mismo no hay un consenso en un proceso general para el desarrollo de una aplicación web. De todas maneras la influencia de la tecnología ha hecho  que el modelo del entorno de la implementación como la distribución y los aspectos de las bases de datos, que deberían aumentar con las últimas fases del proceso.
A pesar de todos los pasos, existen unos cuantos defectos en el modelo existente.

Este es un enlace a un archivo powerpoint que explica los pasos del desarrollo.

lunes, 5 de marzo de 2012

¿Qué es una 'ubiquitous web application'?

Lo primero que hay que hacer para comprender lo que hacen estas aplicaciones es definir lo que es una aplicación web, para nosotros una aplicacion web está diseñada desde un principio para ser ejecutada en un entorno basado en Web, esto quiere decir que  hipertexto y multimedia combinados con la lógica tradicional hacen que esta aplicacion difiera de las convencionales.

Ha de quedar claro que las aplicaciones no son lo mismo que las páginas web, en este contexto un servicio web que genere páginas no se puede ser considerado como una aplicación web, sino un como un servicio basado en web.

Según lo explicado una ubiquitous web application es una  aplicación que sufre el síndrome de cualquier lugar/ a cualquier hora / en cualquier medio .
Por ello estas aplicaciones no han de contener solo lo anterior, sino también que pueda ser ejecutado en cualquier plataforma existente, desde una PDA hasta un teléfono móvil.

Esto quiere decir que estas aplicaciones deben tener en cuenta las diferentes "habilidades" de los dispositivos teniendo en cuenta cosas como el tamaño del display, el almacenamiento local, las entradas, la capacidad de la red, etc.
Por lo tanto, se han abierto nuevas vías en lo relativo a localizaciones, tiempo y servicios personalizados, dado que estos tendrán en cuenta las necesidades y preferencias particulares de los individuos.

En resumen, una ubiquitous web application  debe de ser consciente del contexto en el que se sitúa y mientras tanto ha de soportar toda la personalización que cualquier usuario puede aportar a cada uno de los dispositivos que tiene a mano.

Dada la relación que existe entre nuestro tema y la web2.0 incluyo esta tabla para dimensionar su evolución: