Beruflich Dokumente
Kultur Dokumente
ejerza el arte y
contribuya con sus ideas en
www.ArchitectureJournal.net
Recursos que sirven de base
Journal 14
Arquitectura mvil
Consideraciones de
arquitectura para un
mundo de dispositivos
Mejores prcticas:
extensin de aplicaciones
empresariales para
dispositivos mviles
Experiencia de
consumidor conectada en
automviles
Perfil del Architecture
Journal: Faisal Waris
Arquitectura de datos
mviles
Desarrollo guiado por
pruebas e integracin
continua para
aplicaciones mviles
Estudio de un caso:
Brindar asistencia a los
tcnicos en el campo de
operacin
Contenido
Journal 14
Prlogo
Explore las consideraciones y aspectos de arquitectura en el diseo de aplicaciones para dispositivos mviles.
10
17
Cmo se puede extender un automvil para que admita capacidades de software ms avanzadas?
Explore un escenario y consideraciones de arquitectura para la creacin de experiencia de consumidor
conectada.
24
En nuestro primer perfil de arquitectos externos, hablamos con Faisal Waris sobre
su funcin, pensamientos respecto de dispositivos mviles y tendencias generales
de arquitectura.
26
Cules son los desafos de datos asociados con aplicaciones mviles conectadas ocasionalmente? y Cmo
se pueden superar?
31
Descubra el modo en el que el desarrollo guiado por pruebas y la integracin continua pueden ayudar a
incrementar la confiabilidad de las aplicaciones, as como tambin la forma en la que ambos enfoques
funcionan en aplicaciones mviles.
36
Investigue el estudio de un caso sobre el modo en el que, en Hungra, el soporte a tcnicos en el campo de
operacin se beneficia de una aplicacin mvil de ltima generacin.
Recursos
Fundador
Arvindra Sehmi
Microsoft Corporation
Prlogo
Jefe Editor
Simon Guest
Microsoft Corporation
Consejo Editorial de Microsoft
Gianpaolo Carraro
John deVadoss
John Evdemon
Neil Hutson
Eugenio Pace
Javed Sikander
Philip Teale
Editor Comercial
Lisa Slouffman
Microsoft Corporation
Diseo, Impresin y Distribucin:
CMP Technology Contract Publishing
Chris Harding, Director Gerente
Angela Duarte, Gerente de Publicacin
Lisa Broscritto, Gerente de Proyecto
Kellie Ferris, Directora Corporativa de Servicios
Creativos
Jimmy Pizzo, Director de Produccin
Estimado arquitecto:
Cada da, la ubicuidad de los dispositivos y telfonos mviles simplemente me
sorprende, en especial, cuando analizo la tasa de crecimiento que se proyecta
para los prximos aos. Con este crecimiento y los avances rpidos en la
tecnologa mvil, me doy cuenta que es muy probable que mis hijos crezcan y
nunca sepan lo que realmente significa un telfono fijo, marcacin por pulso o
marcacin por disco rotativo. En cualquier tecnologa, el software desempea
una funcin importante al complementar este crecimiento fenomenal del
hardware, y ste es el foco de esta edicin de The Architecture Journal.
Para iniciar esta edicin, Atanu Banerjee trata varias consideraciones y
aspectos de las aplicaciones en los dispositivos mviles de la actualidad. Sigue a
este artculo Kulathumani Hariharan, arquitecto en Tata Consultancy Services,
quien comparte mejores prcticas, consejos y recomendaciones que pueden ser
relevantes si se considera llevar una aplicacin de lnea de negocios hacia la
plataforma mvil.
A continuacin, se suman Christoph Schittki, Darryl Hogan y Jon Box
quienes nos presentan un escenario de una experiencia de consumidor conectada
en dispositivos para el automvil. Exploramos cmo podra ser el futuro del
software en automviles y algunas perspectivas de arquitectura que lo
respaldan. Muy relacionado con este artculo, nos complace enormemente
presentar nuestro primer perfil de arquitecto externo en The Arquitecture
Journal. Faisal Waris es consultor de arquitectura que trabaja para Ford Motor
Company. Le preguntamos algunos de sus pensamientos sobre la arquitectura,
en especial, el modo en el que se relacionan con el desarrollo mvil.
Despus de Faisal, Rodney Guzman de InterKnowlogy comparte varios de
sus pensamientos sobre la arquitectura de datos mviles. Rodney explora
algunos de los desafos que enfrentan los datos con aplicaciones conectadas
ocasionalmente y ofrece algunas ideas y conceptos para ayudar a tratar la
resolucin de conflictos de datos. Sumergindonos an ms profundo en el
desarrollo mvil, a continuacin encontramos a Munjal Budhabhatti de
ThoughtWorks, quien trata la importancia del desarrollo guiado por pruebas y la
integracin continua, prcticas de ingeniera comunes para varias organizaciones
y analiza el modo en que se puede implementar esto para aplicaciones mviles.
Finalizamos esta edicin con una viaje a Hungra con Andrs Velvrt y Peter
Smulovics para analizar la forma en la que Monicomp, una organizacin que
instala, mantiene y repara sistemas de puntos de servicio, utiliza una aplicacin
de PC ultramvil para brindar soporte a los tcnicos en el campo de operacin.
Esto da por finalizada esta edicin. Espero que algunos de los artculos y
autores ayuden a inspirar el desarrollo de aplicaciones mviles en su
organizacin. Regresaremos el prximo ao con el Journal 15 sobre la Funcin
del arquitecto, en la que observaremos con ms detalle a las personas en
nuestra profesin y examinaremos bajo lupa el trabajo que hacemos.
Simon Guest
Consideraciones de
arquitectura para un
mundo de dispositivos
Por Atanu Banerjee
Sntesis
La cantidad de usuarios que utilizan dispositivos mviles
aumenta rpidamente, pero la promesa de soluciones que
permiten aprovechar redes de dispositivos conectados
contina en gran parte sin cumplirse. Algunas de las piezas
necesarias para construir experiencias conectadas, ricas, no
estaban disponibles hasta hace muy poco. Este artculo
estudia algunas de las tendencias econmicas, sociales y
tecnolgicas que impulsan la adopcin de dispositivos
mviles; describe los diferentes tipos de experiencia de
usuario posibles en la actualidad y presenta una visin
general de las consideraciones de arquitectura asociadas con
esas soluciones de movilidad en los niveles del hardware,
software, conectividad y capacidades de servicios.
Telfonos
PCs porttiles
Aplicaciones de
movilidad
Aplicaciones
accionador/
sensor
Aplicaciones
personales de
informacin y
salud
Dispositivos
personalizados
incorporados
Objetos
pesonales
inteligentes
Tablet PC
PC Notebook
PC de
bolsillo
Telfono
inteligente
Telfonos
masivos
PC ultra-mvil
(UMPC)
Aplicaciones
tradicionales de
escritorio
Aplicaciones
limitadas
Secuencia de los dispositivos mviles
Consideraciones de arquitectura
Figura 2: Las experiencias de usuario en un mundo de dispositivos
conectados abarcan mltiples espacios fsicos y virtuales. Cada uno
de los puntos azules representa un entorno fsico (una sala, una casa,
un lugar de trabajo), un entorno social (amigos, familia, colegas), un
entorno virtual (pgina de perfil, mundo virtual, juegos en lnea) o un
servicio suscripto en lnea.
Contenido y multimedia
Comunicaciones (Correo electrnico, IM, SMS,Voz)
Solicitudes /mensajes de control
Usuario
Entorno inmediato
Entorno remoto
Redes sociales
Servicios suscriptos
Consideraciones de arquitectura
Figura 3: Red social en los dispositivos
ENCONTRAR
EXPLORAR
COORDINAR
moverse para mirar una cmara fija cuando comienzan a hablar sigue
la lnea de la idea de que los dispositivos se vuelvan menos molestos
en sus acciones.
En algunos casos, es posible que los dispositivos necesiten compartir
informacin con otros dispositivos que tambin se encuentran prximos
al usuario, as como tambin con servicios basados en Internet, lo que
plantea cuestiones sobre descubrimiento, proceso de comunicacin o
traspaso de informacin entre dispositivos, entendimiento compartido
del contexto e identidad del usuario, etc.
Experiencias relacionadas con los entornos remotos
Los entornos remotos son similares a los entornos locales ya que son
espacios en los que los dispositivos recopilan informacin y toman
medidas. Sin embargo, los entornos remotos no se encuentran en la
proximidad inmediata del usuario del dispositivo. En otras palabras, los
escenarios y experiencias que se relacionan con entornos remotos de
usuarios permiten a esas personas conectarse a dispositivos,
monitorear y trabajar con dispositivos desde otras ubicaciones. Los
motivos para hacer esto seran el monitoreo o incluso el control desde
ubicaciones remotas como medida de proteccin contra actividades
delictivas o por otros motivos. Por ejemplo, las personas pueden querer
monitorear de forma remota sus hogares o lugares de trabajo (como
un centro de datos), o incluso a sus familiares (nios o familiares
ancianos). Un ejemplo simple de este tipo de dispositivos es un
intercomunicador para bebs. Las empresas pueden desear monitorear
ubicaciones remotas; existen muchsimos escenarios relacionados con
la logstica que tambin utilizan dispositivos RFID en esta categora
(por ejemplo, para asegurar el pedigr electrnico de los frmacos a
medida que se transportan a travs de una cadena de distribucin para
eliminar las drogas falsas).
Experiencias relacionadas con redes sociales
La figura 3 muestra que los dispositivos mviles se adecuan a las redes
sociales del mismo modo que lo hacen las computadoras personales.
Los usuarios utilizan sus dispositivos para buscar y encontrar personas
y sus contenidos, para coordinar con sus amigos y parientes y para
compartir contenido con otros.
Sin embargo, el alcance y escala de los dispositivos es mucho ms
amplio que el de las computadoras personales, y las interacciones
sociales son ms espontneas (cuando el usuario est en constante
movimiento, siempre tiene a mano la cmara de su telfono celular).
Es necesario que las aplicaciones y los servicios se adapten a estos
escenarios en los que el tiempo de atencin que se le presta al usuario
es claramente limitado.
Arquitecturas necesarias para construir soluciones integrales
que soporten dispositivos
Desafos al generar experiencias ricas en los dispositivos
Existen muchas diferencias entre los dispositivos y las computadoras
personales y sera un error considerar que los dispositivos son
simplemente versiones ms pequeas de una PC. Para generar
experiencias ricas en los dispositivos, los arquitectos de soluciones
deben considerar una cantidad de factores limitantes, muchos ms que
al generar aplicaciones para una computadora personal. Estas
limitaciones incluyen capacidades de hardware de los dispositivos
mismos, tiempos de ejecucin de aplicaciones y sistemas operativos de
los dispositivos, herramientas de desarrollo, preferencias de
conectividad y tambin servicios disponibles que se ejecuten en la
Web. Algunos desafos que se enfrentan al construir experiencias para
los dispositivos son:
1.
Consideraciones de arquitectura
2.
3.
4.
5.
Comunicaciones
Contenido
Conocimiento
del entorno
Experiencia
de usuario
Dispositivo
o PC
Mensajes
Eventos
Canal de
acceso
Servicio
Feedback
Cambios en el entorno
Contenido
o datos
2.
Consideraciones de arquitectura
3.
4.
5.
6.
Experiencias
ricas
interactivas
Formularios
inteligentes
Experiencia rica
Nativo
Administrado
Win32 APIs
(subconjunto de
desktop
Win32 APIs)
.Net Compact
Framework &
SQL
Compact Edition
Formularios
bsicos
Amplio alcance
Ajax
Silverlight
(disponible para
dispositivos en
2008)
AJAX/
Atlas
HTML
Pocket IE
ASP.NET
WAP
Pocket IE
ASP.NET
Controles mviles de
ASP.Net
Consideraciones de arquitectura
dar por hecho que los usuarios de esos servicios siempre
tendrn dispositivos avanzados compatibles con Internet que
tengan ya sea un plan de transmisin de datos o que sean
accesibles mediante WiFi. Esto lleva a la provisin de servicios
para dispositivos a travs de otros canales tambin, como SMS o
voz, al igual que los servicios basados en SMS para pagos
mviles en Kenia que se analizaron anteriormente.
Algunos ejemplos de canales de red sobre los cuales se podran
entregar servicios y aplicaciones son:
1. Voz
a. Reconocimiento de voz: Estos servicios se pueden acceder
mediante una llamada telefnica, con software de
reconocimiento de voz que se ejecuta sobre el otro extremo.
La Figura 6 muestra la forma en la que se puede utilizar
Microsoft Communications Server para brindar aplicaciones
que permiten conversaciones accesibles ya sea mediante
servicios de aplicacin telefnica o mediante canales
alternativos.
Como ejemplo de ese tipo de aplicacin mvil, consideremos
Live Search sobre dispositivos de Windows Mobile que se
pueden acceder mediante una interfaz de voz en los Estados
Unidos de Amrica. El software de reconocimiento de voz
convierte la conversacin de los usuarios en una secuencia
3.
Consideraciones de arquitectura
descargas comerciales). Sin embargo, la administracin de
dispositivos vara en algunas consideraciones cruciales ya que muchas
veces son ms difciles de asegurar: los dispositivos mviles se
extravan con facilidad, y en varios casos, el acceso a ellos no se
puede restringir.
Se deben brindar servicios de administracin a los dispositivos que
se conectan a una red para poder responder a los siguientes tipos de
preguntas:
Administradores de red: Cuntos dispositivos hay en la red en
este momento? Cunto ancho de banda? Cunto tiempo? Qu
tipos de dispositivos existen?
Mesa de ayuda: Cules son los antecedentes del dispositivo? Se
ha actualizado el dispositivo? Cules son los detalles del
dispositivo?
Administradores de seguridad: Qu dispositivos no tienen la
actualizacin de seguridad? Qu sucedera si implemento esta
poltica? Cuntos dispositivos estn de conformidad?
Usuario: Acabo de perder mi dispositivo y deseara proteger la
informacin privada que hay en l. Podra borrarla de forma
remota?
Cabe observar que cuando se pierde un dispositivo no es suficiente
simplemente restringirlo si ste posee una tarjeta de almacenamiento
de 2GB llena de informacin confidencial. Una forma en la que
Windows Mobile 6 trata este problema es mediante la encriptacin de
los datos de la tarjeta de almacenamiento para que de este modo
slo pueda leerla el dispositivo que la escribi.
Administracin de acceso e identidad
Las aplicaciones que se ejecutan en diferentes dispositivos en red
necesitan un modo de compartir credenciales entre s, as como
tambin con los servicios de fondo a los que se pueden conectar. A
medida que los escenarios para dispositivos se vuelven ms
sofisticados, esto requerir credenciales reconocidas universalmente,
por ejemplo, la identidad del usuario y, en algunos escenarios,
tambin la identidad del dispositivo de origen. En la actualidad, un
telfono celular se identifica mediante un nmero de telfono. Si bien
los telfonos inteligentes permiten que los usuarios se conecten a
servicios de fondo en lnea, esos servicios, normalmente, requieren
que el usuario se autentique de varias formas adicionales, lo que no
tiene nada que ver con el nmero de telfono, por ejemplo, direccin
de correo electrnico u otra credencial basada en la Web. A medida
que los dispositivos proliferen en el futuro, al igual que lo harn los
servicios que los soportan, un identificador nico universal (tal vez,
conceptualmente similar al actual Live ID) podra resolver el problema
de la autenticacin. Sin embargo, surgirn nuevas complicaciones:
Cmo se conecta la identidad entre los dispositivos y los servicios
basados en la Web? En qu punto se establecen los lmites de
confianza?
Si bien se ha hecho mucho para asegurar las redes y dispositivos,
se necesita un grupo de tecnologas diferentes para mediar confianza
entre las aplicaciones que se ejecutan en esas tecnologas de los
dispositivos (y los servicios a los que conectan) para la identidad
federada. Estas tecnologas ayudan al usuario a administrar mltiples
identidades digitales y a controlar la cantidad de informacin personal
que se comparte con otros dispositivos y servicios. Cada una de estas
identidades se construira en torno a un grupo de exigencias que son
expresiones de confianza por parte de un certificador uno o ms
servicios de identidad en la nube que acten como intermediarios de
confianza, emitiendo exigencias (o expresiones de confianza) que se
incrustan en tokens de seguridad.
Punto de encuentro y presencia
Los servicios de presencia mvil hacen que el contexto mvil de los
usuarios est disponible para las redes sociales. Los datos de
contexto, como ubicacin, tiempo de inactividad del dispositivo, perfil
del dispositivo (volumen del sonido, vibrar) e informacin del
Consideraciones de arquitectura
Figura 7: Resumen de las opciones de desarrollo para la construccin de soluciones mviles
Resumen
En la Figura 7 se muestra una vista resumida de
todas las opciones de desarrollo disponibles para
un arquitecto de soluciones de movilidad, junto
con ejemplos de experiencias especficas, puntos
de conexin y canales de acceso. Existen varias
consideraciones comunes para las tecnologas de
acceso, servicios y dispositivos, por ejemplo, el
modo de administrar la identidad y la confianza
a travs de todos estos niveles diferentes.
El enfoque de un arquitecto de soluciones de
movilidad debe ser equilibrar la necesidad de
lograr amplio alcance y escala para su pblico
objetivo y la necesidad de entregar experiencias
ricas con las cuales se puedan conectar los
usuarios. Las soluciones ideales combinarn lo
mejor de la Web con los mejores aspectos de los
dispositivos.
Recursos
Deciphering Trends In Mobile Search
http://www.maryamkamvar.com/publications/
KamvarBalujaComputerMagazine.pdf
Mobile Phones As Mass Media: Models For
Content Distribution, por Alan Moore
http://www.masternewmedia.org/media/
mobilephones/mobile-phones-as-mass-mediawhite-paperpart-2-20070711.htm
Sobre el autor
Atanu Banerjee es miembro del equipo Arquitectura de Plataforma en
Microsoft, donde trabaja sobre arquitectura para soluciones de la
prxima generacin. Se uni a Microsoft desde i2 Technologies donde
trabaj en varios roles por ms de siete aos, que incluyen arquitecto
en jefe para una lnea de productos de gestin de cadena de
suministro, gerente de desarrollo, arquitecto de producto, lder de
equipo y desarrollador de software. Durante ese tiempo, escribi
mucho cdigo, dise nuevas soluciones y trabaj con algunos grandes
clientes de fabricacin. Antes de i2, Atanu trabaj en el grupo de
sistemas de control avanzado en Aspen Technologies, donde dise e
implement sistemas de control de modelo predictivo para la industria
de procesos. Atanu obtuvo su Ph.D. en Georgia Tech en 1996. Reside
en Redmond, Wash, con su esposa y su hijo de seis aos.
Mejores prcticas:
extensin de aplicaciones
empresariales para
dispositivos mviles
Por Kulathumani Hariharan
Sntesis
La extensin de aplicaciones empresariales para dispositivos
mviles se est volviendo cada vez ms una prioridad para
las organizaciones que optimizan su fuerza laboral. Para
lograr el resultado deseado de una solucin mvil robusta,
escalable, segura y eficaz con soporte mltiple para
plataformas de dispositivos, se deben unir varios
componentes. El desafo es extender de forma homognea
varios tipos de aplicaciones empresariales, muchas basadas
en una variedad de tecnologas y plataformas, hacia los
dispositivos mviles. Este artculo describe en lneas
generales los componentes necesarios para extender una
aplicacin empresarial genrica hacia los dispositivos
mviles, trata algunas mejores prcticas y recomendaciones
y describe el estudio de un caso basado en una
implementacin del mundo real.
Visin general de soluciones mviles
Al extender soluciones empresariales para dispositivos mviles, varias
soluciones requieren un enfoque de tres niveles: la aplicacin
empresarial en s misma, middleware mvil y la aplicacin cliente
mvil.
Aplicacin empresarial. Existen, por supuesto, varios tipos de
aplicaciones empresariales que se pueden extender hacia los
dispositivos, como Gestin de Relacin con el Cliente (CRM),
Planificacin de Recursos Empresariales (ERP) e Inteligencia
Comercial (BI).
Middleware mvil. Debido a que la mayora de las aplicaciones
empresariales no tienen una forma directa de funcionar con
dispositivos, el middleware mvil (como se lo llamar en este
artculo) cumple una funcin crucial. Algunas de las caractersticas
importantes de este nivel incluyen la seguridad, sincronizacin de
datos, administracin de dispositivos y el soporte necesario para los
mltiples dispositivos.
Aplicacin cliente mvil. La aplicacin cliente mvil es, por
supuesto, el software que se ejecutar en el dispositivo. Existen
varias consideraciones en este nivel, que incluyen la disponibilidad de
datos, comunicacin con el middleware, utilizacin de recursos locales
y almacenamiento local de datos. Adems, deben considerarse varios
factores comerciales. Por ejemplo, Quines son los usuarios
objetivo? En qu medida es importante tener los datos ms
recientes? Existen restricciones para el almacenamiento de datos en
el dispositivo? Qu instrucciones existen en el caso de que no haya
conectividad a la red?
Al seleccionar la plataforma para el dispositivo, observamos tres
opciones esenciales:
Aplicaciones en lnea (tambin conocidas como cliente liviano).
Esto es el software cliente, por lo general un explorador, que se
utiliza cuando se puede garantizar la conectividad.
10
8.
9.
10.
11.
12.
13.
14.
15.
Figura 1: Componentes para la extensin de SFA/FFA basados en el producto hacia dispositivos mviles Enfoque de cliente inteligente
11
Middleware
Componente
Administrador de acceso a
datos del servidor
Administrador de solicitudes
de datos ad-hoc
Gestin de base de datos
intermedia
Administrador de conflictos
Servicio de intercambio de
datos
Optimizacin de datos
Administrador de seguridad
Servicio de sincronizacin
Servicio de autenticacin
Administrador de conexin
12
Descripcin
Est compuesto de cdigo empaquetador para realizar llamadas a las APIs del servidor e insertar,
actualizar o eliminar datos desde el servidor.
Mtodos preconfigurados que devuelven datos ad-hoc en tiempo real al dispositivo mvil.
Administra los datos en la base de datos intermedia
Almacena rplicas de todas las tablas de transaccin con datos y columnas especficas de los usuarios
mviles
Maneja el archivo de datos
Maneja la cola de entrada y la cola de salida
Depura espacio en la base de datos.
Administra conflictos de datos durante la sincronizacin con la base de datos del servidor
Monitorea los conflictos como Server Wins vs. Client Wins, el uso compartido de datos por parte de
usuarios mltiples, la actualizacin de un registro en el dispositivo cuando se ha detectado un registro en
el servidor, etc.
Realiza cambios para un usuario particular desde el servidor para que sean enviados al dispositivo mvil
Aplica los cambios desde el dispositivo mvil hacia el servidor mediante el uso del Administrador de Acceso
a Datos del Servidor
Ejecuta un servicio recursivo de forma regular despus de un perodo de tiempo (configurable)
Enva datos compuestos hacia la cola de salida
Selecciona datos desde la cola de entrada para aplicarlos al servidor.
Interfaz de usuario para configurar el middleware
Se utiliza para configurar mdulos como administracin de usuario, creacin de subconjuntos de datos,
administracin de la sincronizacin, administracin de dispositivos, etc.
Contiene lgica de negocios para realizar actividades especficas que no son parte fundamental del
middleware sino parte de la solucin mvil, por ejemplo, un servicio basado en la localizacin que obtiene
actualizaciones de localizacin que se capturan desde el dispositivo y utiliza un sistema de informacin
geogrfica para asignar latitud y longitud y mostrarlos como informes.
Opcional, de acuerdo a los requisitos comerciales.
Administra a los usuarios mviles que utilizan los dispositivos mviles
La lista de usuarios se puede enlazar con los servicios de directorio de la empresa para utilizar la misma
autenticacin en el dispositivo mvil.
Administra el dispositivo desde el servidor
Enva actualizaciones nuevas de la aplicacin hacia los dispositivos mviles
Visualiza los registros de la aplicacin
Analiza problemas relacionados con el dispositivo
Controla el cumplimiento de las polticas de seguridad de la empresa como eliminar datos en el dispositivo
que no han sido sincronizados por una cantidad determinada de das.
Optimiza el modo en se envan los datos al dispositivo mvil
Comprime datos y selecciona el mejor mtodo para el envo de datos de acuerdo a la velocidad de la
conexin o el tipo de conectividad
Descomprime datos entrantes desde el dispositivo mvil.
Codifica los datos que se envan al dispositivo mvil
Decodifica los datos que se reciben desde el dispositivo mvil.
Componente fundamental del middleware
Los datos que entran desde el dispositivo mvil se reciben en la cola de entrada y los datos que salen se
transfieren al dispositivo mvil desde la cola de salida
El servicio de intercambio de datos compone cambios para un usuario particular en la cola de salida y
aplica los cambios de cola de entrada del dispositivo mvil en el servidor
Sincronizacin de fondo desde el dispositivo; el servicio mantiene la cola relacionada con el usuario y
verifica los nuevos registros que se enviarn al dispositivo mvil.
Autentica al usuario mvil durante el proceso de inicio de sesin y la sincronizacin.
Maneja mltiples conexiones al mismo tiempo desde los usuarios mviles hasta una cantidad mxima de
usuarios simultneos.
www.architecturejournal.net - Journal 14 THE ARCHITECTURE JOURNAL
23. Para los casos en los que la aplicacin est compuesta de mltiples
pantallas que tienen funcionalidad y partes de IU comunes, se debe
disear un formulario de base que contenga los elementos
comunes.
24. Siempre que sea posible, utilizar marcos en vez de formularios
mltiples para agilizar la respuesta de la interfaz del usuario.
25. Los mensajes, como alertas y mensajes de error, deben
configurarse en el middleware y deben pasarse al dispositivo.
Cualquier otro archivo de configuracin tambin debe ser
configurable en el middleware y a continuacin, se debe transferir
Descripcin
Establece la conexin con la red
Programador para la
sincronizacin de fondo
Administrador de la base de
datos local
Administrador de seguridad
Aplicacin / Composicin
Elemento fundamental de toda la solucin mvil (aplicacin real que utilizan los usuarios mviles)
Accede al estado de los recursos y muestra alertas si se necesita la atencin del usuario.
Aspecto de la solucin mvil
La informacin que ingresa el usuario a travs de IU se valida y procesa mediante lgica de negocios.
Autentica al usuario con el middleware si existe conectividad a la red, de lo contrario, lo autentica con
credenciales disponibles de forma local.
13
14
Middleware
Componente
Administrador de acceso a
datos CRM
Servicio de intercambio de
datos
Servicio de sincronizacin
Servicio de autenticacin
Descripcin
Realiza las actualizaciones en la base de datos CRM (datos que capturan los representantes de ventas
mientras estn en el campo de operacin).
Compone los cambios (cola de salida) desde el sistema del servidor CRM basado en la divisin en
subconjunto de los datos para cada usuario (como planificacin de reuniones con doctores/qumicos)
Se ejecuta en un intervalo de dos minutos despus de la finalizacin del proceso anterior
Aplica los datos desde la base de datos intermedia (cola de entrada) hacia el sistema de la base de datos
CRM mediante el uso del Administrador de acceso a datos CRM (datos que capturan los representantes de
ventas en el campo de operacin)
Contiene la lista de usuarios enlazados con el servicio de directorio de la empresa
Contiene informacin especfica del usuario como informacin del dispositivo, hora y fecha de la ltima
sincronizacin, estado de bloqueos del dispositivo, etc.
Interfaz de usuario para el middleware
Interfaz de usuario para la administracin del usuario, administracin del dispositivo, visualizacin de
registros de sincronizacin y registros del servicio de intercambio de datos.
Coloca versiones de la aplicacin en una ubicacin compartida predefinida en el middleware
Crea versiones para prestar servicio a los diferentes tipos de dispositivos.
(Cabe observar que el Administrador de Sincronizacin del dispositivo se encarga del componente
correspondiente de la aplicacin cliente)
Coloca los registros entrantes en la cola de entrada
Transfiere los registros salientes de la cola de salida
Administra la cola relacionada con el usuario como una tabla de ndice para verificar si un usuario
particular tiene registros para descargar.
Autentica al usuario mediante la conexin hacia el servicio de directorio de la empresa.
Aplicacin cliente
Componente
Administrador de
comunicaciones
Administrador de
sincronizacin del dispositivo
Acceso a datos remoto
Aplicacin del dispositivo
(Alertas/IU/Autenticacin)
Descripcin
Conecta hacia el middleware para la autenticacin y sincronizacin de datos.
Trata de conectarse con el middleware primero a travs de Microsoft ActiveSync, si no est disponible, se
conecta mediante GPRS/CDMA
Si no hay ninguna conexin disponible, devuelve un mensaje con la explicacin.
Compone los cambios en la base de datos del cliente en formato XML
Aplica los datos entrantes en la base de datos del dispositivo local
Selecciona archivos de actualizacin de la aplicacin cliente desde una ubicacin predefinida en el
middleware si el archivo no est disponible en el dispositivo.
Conecta hacia el middleware para actualizar listas de campaa y reuniones.
Muestra alertas sobre los detalles de campaas, reuniones a las que no se acudi, etc.
Autentica con el middleware si la conectividad est disponible o autentica de forma local si la conectividad
no est disponible.
15
Beneficios
La compaa farmacutica recibi muy bien el sistema de
automatizacin de la fuerza de venta, en especial los 2000
representantes de ventas que son los usuarios objetivo de esta
aplicacin.
La implementacin del sistema llev a un proceso de recopilacin de
datos de campo eficaz y eficiente y mejor la comunicacin entre los
representantes de ventas y la gerencia. Cada uno de los
representantes de ventas desde el campo de operacin y los gerentes
desde la oficina tienen acceso a la informacin que necesitan, datos
actualizados y relevantes para ellos, ya sea al realizar visitas
comerciales o al planificar estrategias de marketing.
16
Experiencia de
consumidor conectada
en automviles
Por Christoph Schittko, Darryl Hogan y Jon Box
Sntesis
Cul es la diferencia entre un vehculo y un pedazo de metal
y cuatro ruedas? Todo depende de las caractersticas. Los
fabricantes constantemente incorporan dispositivos
multimedia ms nuevos, motores ms potentes y asientos
ms blandos, todo con la excusa de mejorar la experiencia
del conductor. Incluso, con todas esas mejoras, los
fabricantes de automviles apenas han empezado a tratar
las capacidades de la infinidad de avances en los servicios y
software que se han dado en los ltimos aos.
Se habl mucho sobre los servicios en la nube y su
aplicacin basada en el consumo de servicios. A pesar de
esto, varios informes y arquitecturas de referencia que
intentan demostrar patrones para el diseo de estos
sistemas, han tomado un enfoque idealista con respecto a la
aplicacin, con frecuencia, mencionan ejemplos simples o
aplican escenarios que no son pragmticos. Este artculo
define una arquitectura de solucin prctica basada en un
escenario con el cual uno se puede encontrar en la vida
diaria. Nuestra intencin es inspirar a los arquitectos a que
usen el mismo enfoque para definir soluciones innovadoras
en los problemas que enfrentan.
La arquitectura de solucin que se define aqu es una
combinacin de servicios reales de plataforma que existen en
la actualidad y de servicios fabricados que ayudan a
completar la solucin. Esta solucin demostrar la aplicacin
de Software + Servicios (S+S) en la arquitectura de
aplicacin mvil como una forma de extender el estilo de
vida digital ms all del escritorio. La seguridad, privacidad y
arquitectura de datos tambin se tratarn ampliamente.
Escenario
La familia Woodson acaba de comprar un automvil nuevo con una
computadora mvil incorporada. Esta PC sirve como sistema de
entretenimiento y gua, pero tambin viene precargada con diversas
aplicaciones de productividad, como por ejemplo, planificacin de
viajes, recordatorios y un administrador de lista. El software que se
carg en la PC del automvil no slo realiza procesamientos de forma
local en el dispositivo sino que tambin aprovecha los servicios de la
nube para mejorar las capacidades del dispositivo y para asegurar
que la informacin que presenta el software est actualizada.
17
18
Servicios asociados
Servicio de
localizacin
del
concesionario
Servicio
RescueMe
Servicio de
diagnstico
del vehculo
Mapas en vivo
Internet
19
Escenario UMPC
Rico en el vehculo
Dispositivo de consumo
Formularios de Windows
Silverlight en un futuro cercano
Formularios de Windows
Silverlight en un futuro cercano
Servicios de Web WS-I SOAP
WCF Client (3.5)
Complementos de terceros de
reconocimiento de voz
Tacto en dispositivos PocketPC
UX
Conjunto completo de
caractersticas WPF
Comunicaciones
Interaccin
Autenticacin
CardSpace
Certificados
Almacenamiento de
datos
Herramientas de
desarrollo
Visual Studio
Visual Studio
Visual Studio
Integracin en el
automvil
S, a travs de puertos
personalizados o seriales
No
20
Latencia
Flexibilidad
Funcionalidad
Alta
Alta
Media
Media
Media
Media
Baja
Baja
Alta
21
22
Autenticacin y autorizacin
Las tokens de identidad se pueden utilizar para autenticar y autorizar
usuarios hacia los servicios que desean acceder. Una tarjeta de
informacin como CardSpace le permitira al usuario presentar un
reclamo de identidad hacia un servicio. La carga de verificar la
identidad podra ser responsabilidad del servicio o podra utilizarse una
parte dependiente para validar la identidad. La autorizacin an sera
responsabilidad del servicio que se invoca.
La autenticacin es muy importante en nuestro escenario mvil por
varios motivos: Es necesario restringir el acceso a la aplicacin para los
clientes que pagan por el servicio, pero tambin es necesario asegurar
que los datos privados de cada usuario sean protegidos a travs del
acceso autorizado. En nuestro escenario existe una incumbencia
adicional: El acceso remoto al automvil. Existen incumbencias de
privacidad sobre el acceso al historial de viaje y ubicacin del
automvil, pero existen tambin incumbencias de seguridad. Por
ejemplo, el arranque o detencin del automvil es una caracterstica
que debe controlarse cuidadosamente. Nadie deseara que un hacker
malintencionado apague el motor del automvil mientras uno maneja
en una autopista.
EL ENFOQUE S+S PERMITE EL USO DE WSSECURITY, PERO INCLUSO OFRECE UNA OPCIN
MS SEGURA PARA MEJORAR LA PRIVACIDAD:
NO TRASMITE NINGUNA INFORMACIN SEGURA.
TRANSFERIR OPERACIONES INFORMTICAS
HACIA EL AUTO O EL DISPOSITIVO QUE
INCLUYEN DATOS QUE SE RECONOCEN DE FORMA
PERSONAL ELIMINA LA NECESIDAD DE
TRANSMITIR LA INFORMACIN SOBRE CANALES
QUE NO SON SEGUROS.
En Internet, la identidad de usuario habitualmente se establece
mediante el ingreso de una combinacin de nombre de usuario/
contrasea pero sta no es la experiencia que esperamos al ingresar al
automvil. La llave es la forma tradicional de acceder al automvil y a
sus servicios. Se puede utilizar un modelo de interaccin similar para
escenarios de servicios conectados con claves inteligentes o soluciones
basadas en CardSpace.
Sin embargo, existen algunas incumbencias de arquitectura
interesantes en torno a la identidad en el automvil. Por un lado, el
automvil en s mismo es una aplicacin multicliente ya que puede
tener mltiples conductores potencialmente con diferentes funciones:
el propietario, la hija adolescente del propietario, un mecnico que
repara el automvil, son algunos ejemplos. Muchos automviles hoy en
da ofrecen configuraciones de preferencias en las posiciones del
volante y el asiento para los diferentes conductores basados en la clave
que llevan. Esta experiencia se puede extender hacia los dispositivos
23
24
25
Arquitectura de datos
mviles
Por Rodney Guzman
Sntesis
Las aplicaciones que estn conectadas de forma ocasional
tienen fama de ser difciles de implementar. Los desafos se
dan por niveles y el centro del problema es el modo en el
que se administran los datos. Cada cliente conectado
ocasionalmente consume y produce datos en intervalos al
azar. Las islas de datos se producen cuando no hay conexin
y se debe reconciliar ms tarde cuando se restaura la
conectividad. Las tecnologas existen para mover datos
desde y hacia los clientes, sin embargo, slo las tareas de
reconciliacin ms simples se administran sin la intervencin
de cdigo personalizado. Por ejemplo, La replicacin de SQL
es una tecnologa fantstica para mover datos nuevos de un
sistema a otro. Pero cuando ms de un cliente actualiza un
registro, debera ganar siempre el ltimo en entrar?
Tambin, Qu sucede cuando se crean nuevas entidades de
datos en mltiples clientes, pero cada una representa la
misma instancia de entidad nica? Desafortunadamente, los
modelos de datos habitualmente son demasiado complejos
para que sean administrados por procesos de resolucin de
conflictos genricos.
Este artculo analizar el modo de construir un modelo de
datos que admite una aplicacin conectada ocasionalmente.
El modelo de datos admite la introduccin de un proceso de
resolucin de conflictos complejo construido en .NET. Se
presenta una aplicacin modelo de puntos de servicio con
requisitos exigentes, que incluyen: Puntos de entrada de
cliente inteligente y de Web; clientes inteligentes que se
conectan ocasionalmente; entidades de datos que incluyen
mltiples tablas y un proceso de resolucin de conflictos
complejo que incluye soporte para los nuevos registros que
se pueden crear en la aplicacin de Web y/o instancias de
aplicacin de cliente inteligente.
Escenario
Para este artculo se presenta una aplicacin de gestin de eventos
modelo. Esta aplicacin es un sitio de Web alojado con un modelo de
datos eficaz. La empresa requiere que esta aplicacin se pueda
acceder en reas desconectadas, remotas, en las que se llevan a cabo
los eventos. En los eventos, se pueden comprar productos de la
compaa y se puede actualizar informacin de quienes asisten
simplemente del mismo modo que se hace en un sitio de Web. Cada
evento puede durar varios das con miles de asistentes. Durante el
evento, no existe un regularidad con la que se puede asumir que
26
2. Autorizacin para las personas que pueden ver los eventos que se
replicarn a cada dispositivo de cliente. Si la autorizacin cambia,
debera replicarse.
3. En el dispositivo local, el usuario selecciona el evento a sincronizar
de modo que coloca un registro en la tabla EventDownload en la
base de datos local que incluye el nombre del host del equipo del
cliente y el evento a replicar.
4. La tabla EventDownload se vuelve a replicar hacia el servidor.
5. La replicacin de SQL filtrada transfiere el evento solicitado hacia el
dispositivo del usuario.
Este flujo de proceso parece lo suficientemente simple, pero requiere
conectividad durante todo el proceso. Imaginemos una conversacin
con un usuario sin conocimientos tcnicos sobre el motivo por el cual
no pudo ver el evento en su dispositivo porque la autorizacin que le
conceda acceso cambi despus de que l haba sincronizado su
equipo. Basarse en un modelo en el que uno nunca puede controlar la
conectividad puede ser complicado de depurar y mantener.
Depender de momentos claves de conexin
A la larga, la conectividad es necesaria en algn punto. A diferencia
del modelo de replicacin SQL puro, se puede tomar un enfoque ms
directo para simplificar todo el procesamiento. Exigir la conectividad
en puntos clave evita varios de los recorridos de ida y vuelta que se
describen en la seccin anterior. Por ejemplo, en vez de sincronizar la
lista de eventos con la base de datos local, se puede invocar un
servicio de Web para recuperar una lista de eventos autorizados con
los cuales pueda sincronizar el usuario, lo que cambiara el flujo de la
siguiente manera:
1. El usuario inicia la aplicacin y recupera una lista de eventos a
travs de una llamada a un servicio Web. Slo se muestran al
usuario los eventos autorizados.
2. El usuario selecciona un evento y realiza nuevamente una llamada
al servicio Web. En el servidor se establece un registro en la tabla
EventDownloas con el nombre de host del dispositivo del usuario.
Resolucin de conflictos
La replicacin de SQL y ADO.NET no brindan la solucin
milagrosa para la resolucin de conflictos. La mayora de
nuestras aplicaciones simplemente son demasiado
complicadas para ser administradas por soluciones listas para
usar. No podemos siempre basarnos en el ltimo en entrar
gana, por lo general, es necesario esperar a que los datos
se acumulen desde mltiples fuentes antes de tomar una
decisin sobre cul es el mejor registro.
Este panorama parece abismal, pero existen tecnologas
que reducen esta complejidad. En la aplicacin de gestin de
eventos, nos basamos en los puntos fuertes de la replicacin
de SQL como un principio bsico para la solucin. Un punto
fuerte observado de la replicacin de SQL es que es
fantstico para administrar inserciones de SQL. Sin embargo,
para las actualizaciones, haba demasiados escenarios sobre
los cuales se necesitaba control detallado del proceso de
resolucin de conflictos en intervalos programados.
La aplicacin de gestin de eventos presentaba varias
complicaciones para este proceso. Por ejemplo, el registro de un
participante no est representado en la base de datos mediante una
tabla nica. Esto dificulta la replicacin de informacin que no ha
cambiado ya que el cambio es lo que activa la replicacin de SQL. Se
form un registro lgico del participante, que es un registro que incluye
mltiples tablas de SQL. Cuando ocurra un cambio en cualquier
componente del registro lgico, se produca una transaccin lgica.
Este concepto es importante ya que permite mover informacin al
almacn de datos incluso si no ha ocurrido ningn cambio.
La mayora de las aplicaciones experimentan esta complejidad y es
lo que hace que la replicacin de datos de un lado a otro sea tan difcil.
Eliminamos esta complejidad en la aplicacin de gestin de eventos y
el patrn que seguimos podra implementarse en cualquier aplicacin
desconectada.
Registros lgicos
En el contexto de la aplicacin de gestin de eventos, un registro lgico
para un participante no es la nica informacin dentro de la tabla
Attendee, pero es toda la informacin relacionada. Un registro lgico de
un participante est compuesto de sesiones seleccionadas, compras de
productos y miembros de la familia. Si alguna de esta informacin
cambia, sin importar la tabla en la cual se realiz el cambio, entonces,
el registro lgico del participante tambin ha cambiado.
Un requisito base para esta aplicacin es que si la informacin de un
participante se modifica en el cliente inteligente, ocurre una validacin
Figura 2: La tabla EventDownload especifica los eventos que se
descargarn hacia un determinado host de cliente.
27
28
29
30
3.
31
namespace OutlookContacts.Tests
{
//Ensure that OutlookContact compares correctly with other contacts.
[TestFixture]
public class OutlookContactTest
{
[Test]
public void EnsureNullContactIsNotEqualToContact()
{
OutlookContact contact = new OutlookContact();
Assert.AreNotEqual(null, contact);
}
[Test]
public void EnsureContactsWithSameNameAreEqual()
{
OutlookContact contactMain = new OutlookContact(foo);
OutlookContact contactOther = new OutlookContact(foo);
Assert.AreEqual(contactMain, contactOther);
}
}
}
Prueba unitaria
Las pruebas habitualmente se consideran un
proceso metdico para probar la existencia o
falta de fallas en el sistema. Cuando se
escribe un caso de prueba antes de escribir el
cdigo, el caso de prueba se vuelve un
requisito, en vez de una simple verificacin de
la caracterstica.
Las pruebas son tambin una forma de
documentar defectos descubiertos.
Supongamos que se descubri un defecto en
control de calidad mientras se probaban bits
implementados recientemente. An si este
defecto se poda corregir de forma muy
trivial, TDD exige un caso de prueba. Primero,
escribir un caso de prueba que simule ese
comportamiento de falla y a continuacin,
escribir cdigo que pase la prueba. Esta
prctica asegurara que los defectos, no
importa cun insignificantes, no se extiendan
en el sistema y la prueba de regresin pase a ser parte de la serie de
pruebas. La ejecucin de pruebas automatizadas de forma local, antes
de ejecutar los cambios en el repositorio de cdigo fuente (SCR),
reducira an ms el fenmeno broken builds.
Es importante preparar el entorno de prueba sobre un emulador lo
ms cerca posible del hardware destino. Desarrollar y probar
aplicaciones Windows Mobile sobre un emulador x86 tiene poco sentido
cuando se tiene como destino hardware exclusivamente para
arquitectura ARM, una arquitectura predominante en la electrnica de
bajo consumo de energa. Adems, en el mundo real, los componentes
por lo general tienen dependencias sobre otros objetos, bases de datos
o conexiones de red. Es muy fcil caer en la trampa de suponer que
estas dependencias funcionan perfectamente. Por lo tanto, si las
pruebas se escriben sin tener en cuenta las dependencias, es posible
que se emita un feedback incorrecto para esas pruebas que fallan
debido a problemas de dependencia.
Una forma de proteccin contra las dependencias es construir el
namespace OutlookContacts
{
public class OutlookContact : Contact
{
public override bool Equals(object other)
{
if (other == null) return false;
OutlookContact otherContract = (OutlookContact)other;
return otherContract.AccountName == AccountName;
}
}
}
32
namespace OutlookContacts
{
public class OutlookContact : Contact
{
public override bool Equals(object other)
{
if (other == null) return false;
return CheckEqualityForOutlookContactObject(other);
}
private bool CheckEqualityForOutlookContactObject(object
other)
{
OutlookContact otherContract = (OutlookContact) other;
return otherContract.AccountName == AccountName;
}
}
}
33
34
Conclusin
Desde la perspectiva del usuario, la implementacin de
TDD y CI es igual en una aplicacin de escritorio
tradicional y en una aplicacin mvil. El usuario crea un
caso de prueba automatizado defectuoso, escribe el
cdigo para que pase la prueba y refactoriza el cdigo
sin cambiar la intencin. El servidor CI consulta el
ltimo cdigo fuente, crea nuevos binarios, ejecuta las
pruebas y genera el feedback. Sin embargo, en una
aplicacin mvil la implementacin difiere en la
ejecucin remota de casos de prueba, notificacin de
resultados de pruebas e implementaciones de
compilaciones. Estas complejidades se tratan con la
herramienta de wMobinium.net.
En mi experiencia pasada en una de las ms grandes
organizaciones microfinancieras de frica, mi equipo y
yo desarrollamos una aplicacin mvil .Net. A falta de
herramientas de soporte, el desarrollo que implement
TDD y CI, aunque fue difcil, mejor todo el desempeo,
confiabilidad y diseo de la aplicacin.
Con el lanzamiento de la versin 2.0 de .Net Compact
Framework, el desempeo de la aplicacin mvil .Net
mejor radicalmente. La versin ms nueva brinda
productividad del desarrollador mejorada, mayor
compatibilidad con el.Net Framework completo y
soporte mejorado. La combinacin de .Net Compacto
Framework con TDD y CI (mediante el uso de wMobinium.net)
aportara mayores beneficios a una organizacin y llevara la
plataforma de la aplicacin mvil al prximo nivel.
Con la proliferacin de los nuevos dispositivos mviles en la
actualidad, la aplicacin mvil se est convirtiendo en una parte
fundamental de una ms amplia oferta de productos empresariales.
Es pragmtico, ms que nunca, sacar el desarrollo de aplicaciones
mviles del aislamiento e incluirlo en los esfuerzos de integracin
continua y desarrollo guiado por pruebas en toda la empresa.
Recursos
Continuous Integration, Martin Fowler y Matthew Foemmel
http://www.martinfowler.com/articles/continuousIntegration.html
Continuous Integration: Improved Software Quality and Reducing
Risk, Paul Duvall, Steve Matyas, y Andrew Glover (Addison-Wesley
Professional, 2007)
Test-Driven Development: By Example, Kent Beck (Addison-Wesley
Professional, 2002)
wMobinium.net
http://www.codeplex.com/wMobinium
Sobre el autor
Munjal Budhabhatti es desarrollador de soluciones senior en
ThoughtWorks. Cuenta con ms de 10 aos de experiencia en el
diseo de aplicaciones empresariales a gran escala y ha
implementado soluciones innovadoras para algunas de las ms
grandes organizaciones financieras, de seguros y microfinancieras en
frica, Asia, Europa y Amrica del Norte. Dedica la mayor parte de su
tiempo a escribir aplicaciones empresariales bien diseadas mediante
el uso de procesos giles.
35
Estudio de un caso:
Brindar asistencia a los
tcnicos en el campo de
operacin
Por Andrs Velvrt y Peter Smulovics
Sntesis
Monicomp es el mayor responsable de mantenimiento de
equipos para bancos en Hungra. La organizacin instala,
mantiene y repara terminales de Puntos de Servicio (POS).
Los cajeros automticos (ATM) y otros equipos para bancos
similares, utilizan cientos de tcnicos distribuidos en todo el
pas. Cualquier compaa que necesita realizar estas tareas y
debe seguir la norma ISO 9000 necesita toda la ayuda
posible de TI. La organizacin debe realizar un seguimiento
para verificar cada metro utilizado en un de cable de dos
kilmetros, por lo tanto, si existe un problema con el cable,
puede dirigirse a todos y cada uno de los comercios en los
que el cable se ha utilizado y realizar las reparaciones
necesarias antes de que surjan los problemas. Adems, los
clientes solicitan informacin actualizada en la Web, que
vara desde saber si las actualizaciones de software en todo
el pas se realizan bien hasta la terminal POS defectuosa del
comercio de mascotas del Sr. Smith.
Como es de suponer, una forma de trabajar basada en el
papel no puede satisfacer estos requisitos. Sera poco
realista para los tcnicos ir al lugar de trabajo y enviar las
planillas para que se procesen al final de la semana laboral.
Se necesita una solucin del siglo XXI. El sistema MVSZ,
desarrollado por una compaa consultora y de desarrollo de
software llamada Response, abarca toda las posibilidades de
operacin del servicio desde el inventario hasta la
facturacin; desde notificacin de problemas hasta
distribucin y verificacin del trabajo para ms de 100
tcnicos que desempean tareas de mantenimiento e
instalacin. En este artculo, mostraremos el modo en el que
se disea la arquitectura de este sistema y describiremos los
desafos y soluciones en la creacin de subsistemas mviles.
36
UMPC
Servicios de
informacin
37
38
editor de la planilla (Figura 6). Nos dimos cuenta que la primera vez los
usuarios rpidamente comprendan el modo en el que funcionaba el
men con ayuda de animaciones rpidas, sutiles que se mostraban al
abrir el men, submen o seleccionar una opcin del men. Las reas
sensibles amplias del men ayudaban cuando el men se utilizaba con
un dedo, el dedo no es muy preciso comparado con un mouse o un
lpiz, pero siempre est disponible. El men de torta tambin
aprovecha la memoria espacial del usuario ya que es mucho ms fcil
recordar que el cono Cerrar Planilla est sobre el lado derecho que
recordar que es la tercera opcin del men desplegable.
En la vida real, la colocacin de los elementos es un modo de
organizarlos y queramos llevar este concepto a la interfaz del usuario.
Por ejemplo, uno puede tener la costumbre de conservar los
documentos importantes sobre el lado izquierdo del escritorio, y los
que son menos importantes, sobre la derecha. Hemos ofrecido lo
mismo para nuestros tcnicos en el esquema de la planilla: las carpetas
se pueden mover, rotar e incluso cambiar el tamao (Figura 7).
39
Conclusin
La creacin de aplicaciones mviles conectadas ocasionalmente
presenta varios desafos. Afortunadamente, las tecnologas de
hardware y software que posibilitan esas aplicaciones estn
comenzando a ser ms convencionales: UMPCs con capacidades de
hardware de PCs desde hace unos aos, rastreadores de GPS,
conectividad a Internet mvil, bibliotecas de software sofisticadas,
reconocimiento de voz y tinta incorporados al sistema operativo, y
mltiples servicios en lnea; la lista contina. Con el sistema que
preparamos para Monicomp descubrimos que todo se integraba bien; lo
que permiti a los desarrolladores construir soluciones mviles que slo
se atrevan a imaginar hace una dcada los escritores de ciencia
ficcin.
098-108819
Suscrbase en www.architecturejournal.net