43
Aprenda la disciplina, ejerza el arte y contribuya con sus ideas en www.ArchitectureJournal.net Recursos que sirven de base Journal 14 Arquitectura móvil Consideraciones de arquitectura para un mundo de dispositivos Mejores prácticas: extensión de aplicaciones empresariales para dispositivos móviles Experiencia de consumidor conectada en automóviles Perfil del Architecture Journal: Faisal Waris Arquitectura de datos móviles Desarrollo guiado por pruebas e integración continua para aplicaciones móviles Estudio de un caso: Brindar asistencia a los técnicos en el campo de operación

the journal architecture n 14

Embed Size (px)

DESCRIPTION

arquitectura movil

Citation preview

  • Aprenda la disciplina, 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 1 Por Simon Guest

    Consideraciones de arquitectura para un mundo de dispositivos

    2

    Por Atanu Banerjee Explore las consideraciones y aspectos de arquitectura en el diseo de aplicaciones para dispositivos mviles.

    Mejores prcticas: extensin de aplicaciones empresariales para dispositivos mviles

    10

    Por Kulathaumani Hariharan Descubra mejores prcticas y recomendaciones para la extensin de aplicaciones empresariales hacia dispositivos mviles.

    Experiencia de consumidor conectada en automviles

    17

    Por Christoph Schittko, Darryl Hogan y Jon Box 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.

    Perfil del Architecture Journal: Faisal Waris 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.

    Arquitectura de datos mviles 26

    Por Rodney Guzman Cules son los desafos de datos asociados con aplicaciones mviles conectadas ocasionalmente? y Cmo se pueden superar?

    Desarrollo guiado por pruebas e integracin continua para aplicaciones mviles

    31

    Por Munjal Budhabhatti 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.

    Estudio de un caso: Brindar asistencia a los tcnicos en el campo de operacin

    36

    Por Andrs Velvrt y Peter Smulovics 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 que sirven de base. www.architecturejournal.net

  • Prlogo

    Fundador Arvindra Sehmi Microsoft Corporation 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

    La informacin contenida en The Arquitecture Journal (Journal) se brinda slo con fines informativos. El material publicado en el Journal no constituye la opinin o asesoramiento de Microsoft Corporation (Microsoft) o de CMP Media LLC (CMP) y no debe basarse en ningn tipo de material publicado en este Journal sin antes buscar asesoramiento independiente. Microsoft y CMP no proveen garanta o representacin alguna respecto de la precisin o aptitud de los fines de cualquier material del Journal y en ningn caso Microsoft o CMP aceptan responsabilidad de ningn tipo, incluyendo responsabilidad por culpa (excepto por dao contra los derechos personales del individuo o fallecimiento), por cualquier tipo de daos o perjuicios o prdidas (incluyendo, sin limitacin, prdida del negocio, rdito, ganancias o prdida consiguiente) de cualquier ndole o naturaleza que resultare del uso del presente Journal. El Journal puede contener imprecisiones tcnicas y errores de tipografa. El Journal se actualizar de vez en cuando y podr otras veces estar desactualizado. Microsoft y CMP no aceptan responsabilidad alguna por mantener la informacin de este Journal actualizada ni por el incumplimiento del hecho. Este Journal contiene material propuesto y creado por terceros. Hasta el alcance mximo permitido por la ley aplicable, Microsoft y CMP excluyen toda responsabilidad por cualquier acto ilegal que surgiera de un error, omisin o imprecisin en este Journal y Microsoft y CMP no se responsabilizan del material suministrado por terceros. Las siguientes marcas comerciales son marcas registradas de Microsoft Corporation: ActiveSync, RoundTable, Silverlight, SQL Server, Virtual Earth, Visual Studio, Windows CardSpace, Windows Live, Windows Mobile, Windows Server, Windows Vista, Xbox 360 y Xbox Live. Cualquier otra marca comercial es propiedad de sus respectivos propietarios. Todos los derechos del autor, marcas registradas y cualquier otro tipo de propiedad intelectual del material contenido en el Journal pertenecen y son licencia exclusiva de Microsoft Corporation. Queda totalmente prohibida la copia, reproduccin, transmisin, almacenamiento, adaptacin o modificacin de la forma o contenido del presente Journal sin previo consentimiento por escrito por parte de Microsoft Corporation y los autores individuales. 2007 Microsoft Corporation. Todos los derechos reservados.

    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

    THE ARCHITECTURE JOURNAL Journal 14 www.architecturejournal.net 1

  • Consideraciones de arquitectura para un mundo de dispositivos Por Atanu Banerjee

    consumidores disminuyeron un 4 por ciento ya que se desperdiciaba menos pescado.

    Hoy en da en Helsinki, Finlandia, el 57 por ciento de los boletos de ida de los transportes pblicos se pagan a travs de los telfonos celulares. En Croacia, ms de la mitad de todos los estacionamientos se pagan mediante los telfonos celulares. El 20 por ciento de las tarifas de congestionamiento en Londres se paga a travs del telfono celular. (Ver Recursos: Mobile Phones As Mass Media).

    Tendencias sociales Existen en la actualidad ms de dos telfonos mviles en el mundo por cada computadora personal. La industria inalmbrica utiliz la apertura de su ms amplia exposicin comercial en marzo para describir las oportunidades de un mundo de tres pantallas (PC, TV, mviles), en el que los dispositivos mviles se convierten en la lnea principal para los programas de televisin, msica, juegos y publicidad. Para muchos consumidores ms jvenes, podra debatirse incluso que el dispositivo mvil es la el ms importante de esas tres pantallas.

    Acompaando el crecimiento de los dispositivos, la evolucin de Internet se dirige hacia nuevos patrones de uso. Las soluciones de hoy en da se diferencian de las anteriores por su escala y alcance global, lo que lleva a nuevos canales que permiten la participacin de los usuarios. Por ejemplo, la compaa de productos para el deporte Nike vende Nike+, un pequeo sensor que se coloca dentro de la zapatilla del corredor y mantiene un registro de su progreso en un iPod que tambin lleva el corredor. Cuando el iPod de Apple se conecta a una PC, los detalles de la carrera del corredor se envan al sitio Web de Nike+, un sitio social en red para corredores, para que

    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. Nuevas oportunidades con dispositivos Despus de 10 aos de expectativas las soluciones de movilidad finalmente comienzan a tener xito. Uno se puede preguntar: Por qu ahora? Qu es lo que ha cambiado? Existen nuevas oportunidades para considerar? Debera considerar los dispositivos mviles en mis soluciones? Resulta que, las tendencias econmicas sociales y tecnolgicas estn acelerando el cambio hacia dispositivos. Existe una amplia gama de dispositivos con diferentes factores de forma que se ejecutan en distintos tipos de aplicaciones, como se muestra en la Figura 1 y estn asociados con diferentes grupos de tendencias. Tendencias econmicas Un impulsor importante en la adopcin de telfonos celulares han sido los mercados emergentes. Por ejemplo, BusinessWeek informa que en 2001 Nigeria tena 500.000 lneas telefnicas pero en la actualidad tiene ms de 30 millones de abonados a telfonos celulares. Hoy en da se estima que para el 2015 habr 5 mil millones de usuarios de telfonos celulares.

    La adopcin de telfonos celulares genera la adopcin de servicios que se ofrecen para los telfonos celulares. En Asia, varios servicios aprovechan los dispositivos de alta calidad para ofrecer multimedia interactiva, rica. Esto requiere computadoras de bolsillo y telfonos inteligentes de ms alta calidad como se muestra en la Figura 1. Sin embargo, esos dispositivos no estn al alcance de muchas personas de los mercados emergentes, por lo tanto, tambin se presentan servicios que apuntan a telfonos masivos de menor calidad. En Kenia, Safaricom present un servicio basado en SMS para pagos mviles en marzo de 2007, denominado M-Pesa, que ha sido ampliamente adoptado. Como cabe esperar, el acceso a las comunicaciones mejoradas puede ser inmensamente beneficioso para las economas locales. El Dr. Robert Jensen de la Universidad Brown dirigi un estudio de pescadores de India que comenzaron a utilizar telfonos celulares para encontrar los mejores mercados costeros para sus pescas. Si bien los pescadores percibieron un incremento de las ganancias de un 8 por ciento, en realidad, los precios de los

    Figura 1: Variedad de dispositivos mviles y tipos de aplicaciones que se ejecutan en ellos.

    Secuencia de los dispositivos mviles

    PC ultra-mvil(UMPC)

    Tablet PC

    PC Notebook

    Dispositivospersonalizadosincorporados

    Objetospesonalesinteligentes

    Aplicacionespersonales deinformacin y

    salud

    Aplicacionesaccionador/

    sensor

    Aplicacioneslimitadas

    Aplicacionestradicionales de

    escritorioTelfonosmasivos

    Telfonointeligente

    PC debolsillo

    Aplicaciones demovilidad

    PCs porttilesTelfonosDispositivos

    2 www.architecturejournal.net - Journal 14 THE ARCHITECTURE JOURNAL

  • 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.

    Mensajes (Correo electrnico, IM, SMS, Voz) Eventos /notificaciones Feedback Cambios en el entorno

    Usuario

    Entorno inmediato

    Entorno remoto

    Redes sociales

    Servicios suscriptos

    Contenido y multimedia Comunicaciones (Correo electrnico, IM, SMS,Voz) Solicitudes /mensajes de control

    los corredores de todo el mundo puedan formar grupos y ver los progresos y rutas de los otros corredores.

    Internet tambin est cambiando la forma en la que se crean los contenidos. Los blogs hacen que la publicacin de contenidos sea menos impersonal ya que los lectores estn ms en contacto con los autores. El contenido tambin se vuelve ms interactivo y social con los juegos en lnea, el chat y el advenimiento de comunidades en torno de contenido que generan los usuarios. Esta tendencia va a aumentar con la proliferacin de dispositivos mviles que facilitan la captura de contenido para editarlo directamente desde el dispositivo, adjuntar contexto en contenido recientemente creado y a continuacin cargarlo para almacenarlo, ya sea en una PC o en la nube. En algunos escenarios P2P tambin es posible compartir contenido directamente desde el dispositivo mismo.

    Esta transformacin en los canales de contenidos posibilita an ms que la creacin de contenido sea disparada por eventos externos en vez de en programaciones fijas. La manejabilidad de los dispositivos posibilita cada vez que la forma de registrar un evento est disponible cuando sucede, lo que lleva a la creacin espontnea de contenido nuevo que de otra forma no podra haber sido capturado. No es sorprendente que la cantidad de contenido que se genera y se almacena se haya utilizado al mximo. El aumento repentino en la capacidad de los ciudadanos de registrar eventos de forma espontnea ha dado como resultado, en ms de una ocasin, grabaciones filmadas desde dispositivos que han provocado en el pblico una notable reaccin.

    Tendencias tecnolgicas La primera tendencia que vuelve a dar forma a la industria es la convergencia. Hoy en da las personas utilizan una gran variedad de dispositivos: telfonos inteligentes, PDAs, laptops, reproductores multimedia personales, cmaras y videograbadoras. Se espera que estas tecnologas se integren dentro de dispositivos informticos personales de propsito general ms poderosos, que se puedan utilizar para una gran variedad de negocios y tareas orientadas al consumidor. La convergencia en las redes dar lugar a la manipulacin transparente de voz y de datos a travs de los mismos protocolos.

    La convergencia conduce a una segunda tendencia: Los dispositivos se hacen cada vez ms inteligentes. Una nueva generacin de telfonos inteligentes es cada vez ms consciente de los entornos del usuario y del contexto local, a travs de sensores, como el GPS o el acelermetro, y un mejor software en los dispositivos. Este contexto se podra utilizar para etiquetar contenidos (Por ejemplo, etiquetar una fotografa con metadatos de ubicacin/tiempo), para adaptar el comportamiento de una aplicacin (Por ejemplo, no enviar alertas de la aplicacin cuando el usuario mantiene una conversacin telefnica) o para controlar el entorno local del usuario (como configuraciones en el auto-ajuste de un vehculo basadas en la identidad de usuario que se ha recuperado desde un dispositivo colocado en el cuerpo del conductor. Las redes tambin se extendern para cubrir dispositivos y agentes distribuidos en el cuerpo sobre protocolos como Bluetooth, que es la idea de las Redes de rea Personal (PANs). Todo esto aportar nuevas arquitecturas en las que los dispositivos son mucho ms que simples pantallas de informacin, se convertirn en plataformas de aplicacin de primera clase por s mismos. No slo esto, sino que tambin muy probablemente habr algunos escenarios, como las PANs, en los que varios dispositivos actuarn como servidores de otros dispositivos (en arquitecturas cliente-servidor) o como servidores de ndice o super-peers (en arquitecturas P2P).

    Esto es importante ya que las aplicaciones de los dispositivos mviles deben ofrecer una experiencia de usuario que sea muy diferente a la que ofrece un escritorio. La caracterstica clave de los usuarios mviles es que ellos estn ocupados con algunas otras actividades primarias. Una aplicacin basada en un dispositivo no debe obligar a sus usuarios a que hagan ajustes, sino ms bien debe adecuarse a la vida y estilo de vida de las personas siendo consciente del contexto, no intrusivo y debe estar listo para brindar valor rpidamente a corto plazo.

    La tercera tendencia es Internet mvil, una recopilacin de servicios y sitios de Web especficamente orientados a dispositivos mviles y disponible en los protocolos de Internet. El crecimiento de la Web mvil acelerar el consumo de aplicaciones y servicios basados en Internet desde dispositivos mviles, lo que en la actualidad est restringido por las limitaciones de planes de acceso de los mviles y dispositivos.

    La combinacin de estas tres tendencias dar como resultado un avance hacia la informtica pervasiva. A medida que los dispositivos proliferan y se vuelven ms inteligentes, se incorporar ms potencia informtica en los bordes de la red. A medida que los dispositivos mejoran el manejo del contexto del usuario, se volvern cada vez ms sencillos. A medida que los dispositivos se conectan mejor a las redes y la Internet mvil evoluciona, los usuarios tendrn a su disposicin un conjunto rico de servicios que puede hacer uso de este contexto personal. Los lmites entre los entornos humanos y los dispositivos informticos desaparecern poco a poco y los usuarios comprendern el sentido de ser asistidos por sus entornos inmediatos. Una gran cantidad de dispositivos informticos incrustados impondr nuevas arquitecturas de solucin para tratar los desafos emergentes en torno a la experiencia del usuario, gestin de dispositivos, seguridad, gestin de contenido, etc. Es necesario que el acceso a la red est disponible universalmente. Si bien claramente no llegamos an al punto de la informtica global, avanzamos hacia esa direccin con el crecimiento de los telfonos inteligentes y dispositivos incorporados, la expansin de conectividad inalmbrica en todos nuestros entornos (desde lugares de trabajo, viviendas hasta algunos vehculos) y la amplia disponibilidad de servicios de Internet que se pueden acceder a travs de los dispositivos.

    Cmo ser la experiencia del usuario? A medida que los dispositivos se vuelvan ms comunes, el software deber abarcar una variedad de dispositivos conectados a la Web as como tambin adoptar el creciente dominio de Internet, un patrn fundamental de Web 2.0 que Tim OReilly describe como software por encima del nivel de un nico dispositivo. Los dispositivos se utilizan en mltiples espacios fsicos y virtuales (Figura 2, arriba).

    THE ARCHITECTURE JOURNAL Journal 14 www.architecturejournal.net 3

  • Consideraciones de arquitectura Figura 3: Red social en los dispositivos

    Conexin con amigosCOORDINARCOMPARTIR

    EXPLORARENCONTRAR

    Experiencias relacionadas con el usuario Los dispositivos en estos escenarios, por lo general, se utilizan para las comunicaciones (telfono, correo electrnico), recopilacin de contenido (bsqueda mvil), consumo de contenido (reproductores multimedia personales) y para el control de la salud (control del ritmo cardaco). El alcance de la aplicacin en estos escenarios se centra en la informacin que se recopila sobre uno, que se crea para uno o que uno mismo consume directamente. La informacin relevante incluye credenciales (Live ID), contactos, mensajes, informacin de presencia y contenido personal (audio, video). Los tipos de dispositivos que son importantes incluyen telfonos celulares, telfonos inteligentes, PDAs, Ultra-Mobile PCs (UMPCs), laptops y controles de la salud. La conectividad necesaria es para las Redes de rea Personal (PAN) de Bluetooth, sensores para la salud, etc. Experiencias relacionadas con el entorno local Como se describe anteriormente, la proliferacin de dispositivos inteligentes conducir a espacios en los que los lmites entre el entorno inmediato de una persona y los dispositivos informticos de ese entorno desaparecen. Esto se lograr mediante dispositivos conectados en red con sensores incorporados (GPS, acelermetro, sensor de luz ambiente) que comprendan el contexto del usuario y sean discretos en sus acciones para que los usuarios comprendan el sentido de ser asistidos por su entorno.

    Un ejemplo de ese tipo de entorno es la solucin Microsoft Auto que conecta los dispositivos de un usuario, como telfonos celulares y reproductores multimedia porttiles, en un nico sistema dentro del vehculo que se puede operar con la voz del conductor o botones que se encuentran en el volante. La empresa Ford Motor lanzar en 2008 una solucin denominada Ford Sync, que implementar experiencias de usuario mviles de nueva generacin: por ejemplo, los usuarios que ingresan a un vehculo mientras hablan por telfono celular podrn presionar un botn en el volante para que el telfono se conecte a Sync sin interrumpir la llamada. Otro caso de extensin de un entorno automotor con dispositivos es el de OnStar que ofrece seguridad y asistencia en las rutas: dentro del vehculo, se conecta a la radio un dispositivo de comunicaciones, una antena GPS, y un micrfono va una red incorporados dentro del vehculo (o bus).

    Las salas de conferencias tambin se estn extendiendo con dispositivos. Microsoft RoundTable es una combinacin de micrfono y cmara de videoconferencia que utiliza un sistema de deteccin de sonido y movimiento para cambiar el nfasis hacia el conferenciante que habla. Eliminar la necesidad de que los conferencistas deban

    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. A diferencia de las PCs, consideran a los dispositivos como

    accesorios: los usuarios llevan los dispositivos consigo y con frecuencia los ven como expresiones de su estilo de vida o incluso autoestima personal. El factor de estar al da con la tecnologa, el diseo moderno y la experiencia del usuario son cruciales. Implicaciones: Se necesitan capacidades ricas de presentacin y diseo de dispositivos, tanto para el dispositivo mismo as como tambin para las aplicaciones que se ejecutan en el dispositivo.

    4 www.architecturejournal.net - Journal 14 THE ARCHITECTURE JOURNAL

  • Consideraciones de arquitectura 2. Los dispositivos tienen recursos limitados. A medida que los

    dispositivos, y sus bateras, pasan a ser ms pequeos y livianos, el tamao de las pantallas y la presentacin se restringe ms y la energa disponible para respaldar aplicaciones ricas disminuye. Los dispositivos ms sofisticados tienden a tener bateras de menor vida til que los telfonos simples. Tambin, la capacidad de la memoria del dispositivo es limitada, si bien esto se mitiga mediante mejoras en la tecnologa de almacenamiento. El soporte de los dispositivos para Wi-Fi, por lo general, tambin tiene la desventaja de una menor vida til de la batera. Implicaciones: La eficacia de la energa es crucial. Los sistemas operativos de los dispositivos deben tener un control detallado sobre la utilizacin del hardware. En algunos casos, el procesamiento de la aplicacin debe descargarse del dispositivo para evitar el consumo excesivo de recursos. Esto lleva a una compensacin entre los dos primeros puntos de esta lista.

    3. Los dispositivos no estn estandarizados. A diferencia de las PCs, los factores de forma y los perfiles de software/hardware de los dispositivos estn mucho menos estandarizados. Implicaciones: Un desarrollador de aplicaciones para dispositivos mviles debe centrarse en el menor denominador comn en lo que se refiere a tamao de pantalla, forma y orientacin para poder implementarlos en una gran variedad de microtelfonos. Esto da como resultado una compensacin implcita con la necesidad de experiencia de usuario rica; los arquitectos de soluciones debern optimizar el software y el hardware para obtener la experiencia ms completa. Los desarrolladores de aplicaciones para dispositivos incorporados poseen diferentes desafos en este rea, la falta de estandarizacin del hardware dificulta suponer el grupo de recursos que estarn disponibles para la aplicacin.

    4. Los dispositivos deben soportar escenarios sin conexin y a veces, conexiones lentas. Por muchos motivos, los dispositivos no siempre estn conectados (por ejemplo, las conexiones pueden no ser rentables durante viajes internacionales) o las velocidades de acceso no son lo suficientemente rpidas como para admitir la toma de decisiones cuando se necesita (el uso de mapas en lnea para tomar decisiones sobre rutas mientras se viaja). Implicaciones: Los dispositivos necesitan ser ms que pantallas de cliente liviano; deben ser plataformas de aplicacin por s mismos. Un requisito clave para esta capacidad es el almacenamiento y procesamiento local, con sincronizacin con PCs o servicios de Internet.

    5. La conectividad no est estandarizada. Si bien existen diversas normas para los protocolos de red, tambin existen muchas formas para que un usuario acceda informacin y servicios en Internet desde sus dispositivos mviles. En funcin de las capacidades de su dispositivos y el plan de servicios que tiene con su operador de red, un usuario puede desear acceder informacin y servicios en Internet mvil a travs de la voz (mediante el reconocimiento de voz), mensajera (SMS, correo electrnico) o a travs de protocolos de Internet (Wi-Fi, conexin relacionada o plan de datos adecuado). En los mercados emergentes es probable que los servicios deban ofrecerse sobre SMS o voz ya que es ms probable que los usuarios tengan telfonos masivos

    Figura 4: Estructura conceptual para la aplicacin de Software + Servicios en una red de dispositivos

    Feedback Cambios en el entorno

    Mensajes Eventos

    Solicitudes /mensajes de control Comunicaciones Contenido

    Contenidoo datosServicio

    Canal deaccesoExperiencia

    de usuario

    Conocimientodel entorno

    Dispositivoo PC

    con capacidades muy limitadas.Para experiencias ricas de multimedia, es probable que se necesite un protocolo de Internet rpido. Implicaciones: Acceso personalizado para el tipo de experiencia que se entrega y para el mercado al que se ofrece. Es posible que los servicios necesiten ser accesibles para dispositivos desde una cantidad de puntos finales diferentes, cada uno con soporte para un mtodo de acceso y direccin diferente.

    Aplicacin de un enfoque de Software + Servicios para dispositivos La ltima edicin de The Architecture Journal trat el paradigma emergente de Software + Servicios. En el contexto de una aplicacin mvil, el objetivo es combinar lo mejor de la Web con los mejores aspectos de los dispositivos, pero sujeto a las limitaciones que se acaban de describir. Como se muestra en la Figura 4, los arquitectos de soluciones deben disear para un tipo especfico de experiencia de usuario, y seleccionar un dispositivo adecuado que se base en las capacidades mnimas necesarias para un dispositivo (hardware y software en el dispositivo) y opciones de conectividad as como tambin servicios disponibles para los usuarios del dispositivo. Factores de forma de hardware del dispositivo Debido a que existe una gran variedad de escenarios basados en la movilidad, existe tambin una gran variedad de factores de forma de dispositivos para soportar estos escenarios como se muestra en la Figura 1. La eleccin de un dispositivo depende del modo en el que se va a utilizar ese dispositivo.

    Por ejemplo, en el espacio del consumidor de dispositivos personales la variedad de hardware disponible abarca ampliamente desde dispositivos basados en WM (Windows Mobile) en un extremo, laptops en el otro y dispositivos UMPC en el medio. Los dispositivos WM por lo general son telfonos inteligentes o computadoras de bolsillo (habitualmente con tamaos de pantalla de 5 pulgadas) y las UMPCs con frecuencia son complementos digitales porttiles (habitualmente con tamaos de pantalla de 5,6 a 7 pulgadas).

    Sensores para recibir informacin desde el entorno inmediato Los dispositivos pueden recibir informacin desde muchos elementos sensores diferentes que se detallan en esta seccin. Algunos de estos sensores ofrecen canales para que los usuarios interacten con el software que se ejecuta en el dispositivo. Otro sensores en el dispositivo ofrecen aplicaciones con una vista del contexto actual del usuario en cualquier momento para que el software se pueda ajustar segn el caso.

    1. Tecnologas sensibles al tacto. Algunos dispositivos utilizan

    tecnologas sensibles al tacto para mejorar la experiencia del usuario. Los dispositivos ms nuevos usan capacitive touch, que no requiere presin para registrar el tacto (a diferencia de resistive touch que se encuentra en los dispositivos ms antiguos y que con frecuencia requera un lpiz). Los dispositivos con capacitive touch son ms fciles de usar, ms precisos y ms receptivos. Las pantallas sensibles al tacto ms antiguas, muchas veces no eran muy claras a la luz del sol, lo que dificultaba visualizar multimedia rica, pero las pantallas sensibles al tacto ms nuevas, normalmente son ms luminosas ya que su superficie no est recubierta con la capa fina necesaria para los dispositivos resistentes al tacto. Otro progreso es el multitouch (capacidad de ingresar datos con ms de un dedo al mismo tiempo), lo que le permite al usuario cambiar el tamao de una ventana comprimindola o expandindola con dos dedos sobre la pantalla. Una objecin comn de los usuarios para las pantallas sensibles al tacto es la falta de respuesta tctil. Sin embargo, algunos fabricantes de telfonos estn incorporando la tecnologa de reaccin tctil creada en los controladores de juegos, por ejemplo, para producir una leve vibracin cuando se toca suavemente el teclado virtual de la pantalla sensible al tacto. Esto ser similar a la respuesta que los usuarios estn acostumbrados a obtener de los teclados mecnicos tradicionales.

    2. GPS. Varias soluciones de movilidad dependen del conocimiento de la ubicacin del usuario. Una tcnica comn para que un dispositivo determine su ubicacin es el GPS (o Sistema de Posicionamiento

    THE ARCHITECTURE JOURNAL Journal 14 www.architecturejournal.net 5

  • Consideraciones de arquitectura

    Global) que cumple su funcin basado en una red de tres o ms satlites a la vista, lo que significa que el GPS no se puede utilizar en espacios cerrados. Algunos servicios en la Web basados en la localizacin utilizan automticamente informacin del GPS en el dispositivo (cuando est disponible) para proporcionar informacin que se filtra mediante la ubicacin de los usuarios (Live Search).

    3. Acelermetro. Varios dispositivos tienen acelermetros incorporados. Un uso bsico de esto es detectar automticamente la orientacin del dispositivo, es decir, horizontal o vertical. Los usos ms avanzados del acelermetro incluyen el reconocimiento de gestos, control de multimedia, control de juegos. En el futuro, es muy probable que los acelermetros en los dispositivos puedan llevar a escenarios sofisticados de control similares los del control remoto del Nintendo Wii, que est construido en torno a un acelermetro.

    4. Sensores de monitoreo para la salud. Algunos ejemplos son los sensores para controlar el ritmo cardaco o el nivel de azcar en la sangre.

    5. RFID. Los lectores, escners e impresoras RFID comprenden una gran variedad de dispositivos que utilizan tecnologas RFID, sobre todo en escenarios empresariales como logstica o gestin de cadena de distribucin. Los dispositivos que poseen sensores RFID incorporados estn hechos para reemplazar una generacin anterior de dispositivos que utiliza el escaneo de cdigo de barras.

    6. Otros sensores. Otros sensores que pueden encontrarse en los dispositivos pueden incluir sensores de luz ambiente (para controlar el brillo de la pantalla y preservar la vida til de la batera) o sensores de proximidad (para apagar la pantalla cuando el dispositivo se utiliza como telfono).

    Software ejecutable en el dispositivo El software que se ejecuta en un dispositivo se incluye dentro de las siguientes categoras: 1. Sistema operativo del dispositivo. 2. Plataforma de aplicacin: comprende el tiempo de ejecucin de

    la aplicacin as como tambin herramientas de diseo. 3. Explorador mvil: esto est evolucionando como una plataforma

    de aplicacin por s misma para los dispositivos de consumo. 4. Aplicaciones. El sistema operativo se debe seleccionar de acuerdo al uso que se le dar al dispositivo, ya que existe una compensacin implcita entre el manejo de recursos de dispositivos limitados y la riqueza de las aplicaciones que se ejecutan en el dispositivo. Los dispositivos tienen diferentes necesidades, analicemos las pilas de software para cada tipo de dispositivo representado en la Figura 1.

    Pila de software para dispositivos incorporados. Windows Embedded CE es un kernel del sistema operativo rgido de memoria

    protegida de 32-bits, en tiempo real, que es compatible con una gran variedad de arquitecturas de procesadores (ARM, MIPS, x86 o SH4). Viene con un conjunto de casi 700 componentes desde los cuales se puede empaquetar un subconjunto dentro de imgenes personalizadas. Por ejemplo, se puede ensamblar una imagen kernel que arranque con una huella de aproximadamente 300KB, pero tambin es posible aadir otras tecnologas dentro de la imagen como servidor de Web, explorador, reproductor de multimedia, soporte para conexin en red, .NET Compact Framework todos los que aumentan el tamao de la imagen SO. Los dispositivos que se construyen con Windows Embedded CE pueden no tener perifricos o tal vez tengan algn tipo de pantalla. Tambin los dispositivos pueden ser abiertos (es decir, exponen APIs de aplicacin) o cerrados (sin posibilidad de incorporar capas de desarrolladores terceros).

    Windows CE est disponible para la comunidad general de desarrollo de sistemas incrustados para que construyan sus propios dispositivos. Tambin se utiliza dentro de Microsoft para construir las soluciones Windows Mobile y Windows Auto. Windows Mobile se utiliza para suministrar energa a telfonos inteligentes y PDAs, mientras que Microsoft Auto es una plataforma que la industria de los automviles utiliza para construir soluciones avanzadas en los vehculos.

    Pila de software para telfonos inteligentes y PDAs. Windows Mobile elige su propio conjunto de componentes de sistema operativo de Windows Embedded CE, con un shell personalizado, tecnologas especficas para dispositivos (Connection Manager) y algunas aplicaciones (Office Mobile). Los Windows Mobile OEMs muchas veces aaden sus propios servicios y aplicaciones especficas a la imagen (complementos de pantallas, aplicaciones como VoIP, juegos), pero no personalizan el conjunto de componentes en la imagen base WM. El resultado es un conjunto de APIs uniformes que se ofrecen en todos los dispositivos de Windows Mobile: En teora, las aplicaciones que se escriben para un dispositivo de Windows Mobile deben funcionar en todos los dispositivos de Windows Mobile. En realidad, los dispositivos mviles varan mucho en sus capacidades de hardware (opciones de conectividad, tamao de la pantalla, resolucin, orientacin), lo que dificulta construir una aplicacin que funcione bien en todos los dispositivos, incluso, cuando las APIs bsicas son las mismas. La Figura 5 muestra la variedad de opciones de desarrollo para la creacin de interfaces de aplicacin en un telfono inteligente de Windows Mobile. Pila de software para PCs Ultra-Mviles. Los dispositivos UMPC logran la mxima fidelidad de la pila de software: el sistema operativo de Windows Vista, el .NET Framework como el tiempo de ejecucin para aplicaciones administradas y el IE7 como el explorador. Las aplicaciones de PC existentes no necesitan ser escritas para que se ejecuten en una UMPC, aunque pueden extenderse para que admitan tacto y tinta (estas capacidades se construyen en la actualidad exactamente dentro de Windows Vista). Sin embargo, todo esto a expensas de la vida til de la batera (muchas veces dura slo 4-6 horas), ya que las UMPCs no administran recursos de dispositivos en un nivel granular del modo que lo hace Windows Mobile.

    Figura 5: Opciones de desarrollo para la construccin de interfaces de aplicacin en un telfono inteligente de Windows Mobile

    Ajax HTML WAP

    AJAX/Atlas

    Pocket IEASP.NET

    Pocket IEASP.NET

    Controles mviles deASP.Net

    Silverlight(disponible paradispositivos en

    2008)

    .Net CompactFramework &

    SQLCompact Edition

    Administrado

    Win32 APIs(subconjunto de

    desktopWin32 APIs)

    Nativo

    Amplio alcanceExperiencia rica

    Formulariosbsicos

    Formulariosinteligentes

    Experienciasricas

    interactivas

    Experiencias de clienteinteligente

    Canales de acceso para dar soporte a los dispositivos. Los dispositivos mviles como los telfonos celulares se utilizan principalmente para las comunicaciones, en la actualidad, en su mayor parte para llamadas de voz, pero tambin para algn otro tipo de mensajera, como correos electrnicos, mensajes instantneos (MI) y SMS. Ms all de estos servicios de comunicacin bsica, se espera que en el futuro los dispositivos conecten un grupo de servicios de aplicaciones mucho ms rico. Si bien existe un mercado relativamente amplio para esos servicios, no se

    6 www.architecturejournal.net - Journal 14 THE ARCHITECTURE JOURNAL

  • 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

    Figura 6: Uso de tecnologas de reconocimiento de voz en Microsoft Office Communications Server para brindar servicios que permiten el reconocimiento de voz en Internet.

    de consultas para la bsqueda;a continuacin, los resultados se muestran como de costumbre, para las transiciones y flujos de pginas (Por ejemplo, Struts).

    2. Mensajera a. SMS: En la actualidad se ofrecen algunos servicios bsicos en SMS, por ejemplo actualizaciones de inventarios, alertas y, ahora en algunos pases, bsqueda en Internet. Por ejemplo, Microsoft Research realiz un proyecto en India en el que construyeron una solucin para una cooperativa de caa de azcar que permita el uso de SMS. Los agricultores pueden usar sus telfonos para obtener informacin, como informacin sobre el precio de mercado, al enviar sus peticiones como mensajes de SMS. La respuesta a sus pedidos tambin se les enva como SMS. Microsoft Research ha puesto a disposicin el juego de herramientas que se utiliz para este proyecto como una solucin compartida en CodePlex. (Ver Recursos: SMS Server Toolkit).

    3. Internet a. WiFi: Funciona bien en los dispositivos que estn equipados para WiFi cuando se encuentran prximos a un punto de acceso a conexiones inalmbricas. b. Plan de datos mviles: Por lo general, es un servicio de primera calidad que se ofrece a travs de operadores de red mviles para brindar acceso a Internet mediante la red mvil del mismo operador.

    4. Conexin a otros dispositivos con el uso de tecnologas P2P (Punto a Punto) a. Algunos dispositivos pueden intercambiar informacin directamente con otros dispositivos, sin necesidad de que esta informacin pase a travs de un servidor central. Las consideraciones de arquitectura, como el descubrimiento y los protocolos de enlace, se pueden lograr de dos formas: i. Un servidor de ndice central es intermediario en la conexin:

    Por ejemplo, consideremos XBox 360 y XBox Live. Cuando un usuario se registra en su XBox 360, puede unirse a un grupo de hasta 16 jugadores que juegan dentro de una nica sesin. Si bien el servicio de Live mantiene un registro de quienes estn en lnea e interviene en la conexin inicial del grupo, toda la mensajera adicional entre las terminales de XBox 360 se administra mediante tecnologas P2P y no a travs del servidor.

    ii. Sin servidor de ndice central: El descubrimiento de dispositivos cercanos y los protocolos de enlace entre ellos ocurren directamente, sin pasar a travs de un servidor central. Por ejemplo, el reproductor de msica Zune puede compartir la msica que reproduce con otros tres reproductores Zune cercanos a travs de tecnologas P2P.

    Servicios para brindar soporte a dispositivos Ms all de los servicios bsicos de comunicacin, se espera que en el futuro los dispositivos se conecten a un conjunto rico de servicios en Internet. Estos servicios, probablemente, se diseen en tres niveles: 1. Servicios de aplicaciones y soluciones. Ofrecen servicios especficos

    para un grupo de escenarios, por ejemplo, la salud o CRM. 2. Servicios asociados o de terceros. Son servicios que ofrecen otros

    proveedores que se incluyen en los servicios de aplicacin: por ejemplo, una solucin de movilidad para proveedores de asistencia mdica que utilizan servicios para correo electrnico, actualizaciones o colaboracin que a su vez proporcionan terceros.

    3. Servicios de bloques de construccin/infraestructura/utilidades.

    Los servicios del segundo y tercer nivel representan capacidades horizontales comunes que interactan con varios servicios de aplicacin diferentes. Algunos de ellos se describen a continuacin en el contexto de soluciones de movilidad. En el futuro, estos servicios, normalmente los brindar un proveedor de plataforma, como por ejemplo Windows Live Platforms o incluso, un operador de red mvil. Seguridad y administracin de dispositivos Los vectores de ataque para los dispositivos son similares a los de las computadoras personales en red, excepto que los dispositivos son ms propensos a robo o prdida, y muchas veces es ms difcil asegurarlos de forma fsica dada su movilidad (a diferencia de una computadora que permanece en un escritorio o en un centro de datos). Por lo tanto, existen tres reas fundamentales en las que se deben considerar los problemas de seguridad de los dispositivos. La primera es asegurar el dispositivo mismo. La segunda, asegurar la red, es decir, asegurar la integridad y confidencialidad de los mensajes. Aqu se podran tratar una cantidad de asuntos de seguridad en las capas de pilas en red, por ejemplo, tcnicas de modulacin de radio para brindar seguridad en la transmisin de seales inalmbricas, IPSec, etc. La tercer rea de seguridad es asegurar las aplicaciones que se ejecutan en el dispositivo (o que se ejecutan en la Web pero que se acceden a travs de dispositivos) que se describe en la seccin de administracin de acceso e identidad.

    En algunos casos, la administracin de los dispositivos es similar a la de las computadoras personales. Por ejemplo, los dispositivos deben actualizarse con parches (firmware y software), multimedia o aplicaciones. Las comunicaciones para los dispositivos deben asegurarse, y en algunos casos, deben medirse y abonarse (para

    THE ARCHITECTURE JOURNAL Journal 14 www.architecturejournal.net 7

  • 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

    calendario estaran disponibles ya sea desde otros dispositivos mviles o a travs de un aparato/componente/credencial incrustados en el blog del usuario o en la pgina Web. Podra mostrarse como una lista, aumentando la lista de contactos, o podra mostrarse en un mapa. En breve, la presencia mvil deber permitir que la red social de un usuario conozca cundo se los puede acceder y cundo no y cul es el modo de comunicacin preferida en ese momento. Esta informacin no debe ser especfica para el operador mvil del usuario ya que es poco probable que todos los miembros de la red social del usuario sean clientes del mismo operador mvil. En el mejor de los casos, esta informacin de presencia se conectara dentro de una red principal unificada de comunicaciones que combina diferentes formas de mensajera. Servicios basados en la ubicacin A diferencia de las computadoras personales, es muy probable que en el futuro la mayora de los dispositivos de consumo conozcan su ubicacin exacta, posiblemente, a travs de una tecnologa de determinacin de posicin como GPS. Esto ofrece nuevas posibilidades para una gran variedad de servicios en la nube que pueden utilizar esa informacin para presentar el contenido del usuario apropiado para esa ubicacin. El crecimiento del Sistema de Informacin Geogrfica (GIS) en lnea con interfaces que se publican para almacenar datos y metadatos espaciales asociados permite que esta tendencia sea posible. Algunos de estos sistemas tambin estn codificados con contenido extra que genera el usuario etiquetado por ubicacin. Un servicio que se basa en la ubicacin podra utilizar las coordenadas geogrficas del usuario como un ndice o un filtro dentro de GIS para recuperar la informacin correcta. Esos servicios pueden incluir bsqueda local, exploracin, servicios de emergencia, rastreo de nios/ mascotas/objetos de valor, juegos mviles para varios jugadores, ubicacin de personas en redes sociales, gestin de transporte/ logstica, etc. Servicios de publicidad y bsqueda mvil En algunos sentidos, la bsqueda en la Web desde un dispositivo mvil no es muy diferente a la bsqueda en la Web desde una computadora personal. Un anlisis de los registros de bsqueda en Google presentado en Deciphering Trends in Mobile Search (Descifrar tendencias en la bsqueda mvil) muestra que a pesar de las limitaciones en las tcnicas de ingreso de datos, la cantidad de palabras promedio en un pedido de bsqueda no cambia mucho entre los telfonos mviles, PDAs y las computadoras personales. (Ver Recursos: Deciphering Trends in Mobile Search).

    Sin embargo, en otros sentidos, la bsqueda mvil tiene la posibilidad de ser ms dinmica que la bsqueda desde una computadora personal. Los dispositivos pueden conocer ms sobre el contenido actual de los usuarios (ubicacin). En la actualidad, los motores de bsqueda procesan consultas en un ndice que se ha construido mediante la exploracin minuciosa de la Web. El potencial de la bsqueda mvil es que el contenido extra disponible para el dispositivo podra tambin utilizarse a travs del motor de bsqueda cuando se formula su respuesta. Por ejemplo, se pueden filtrar los resultados de una bsqueda por ubicacin actual o la lista de enlaces patrocinados podra incluir un cupn mvil para un comercio local.

    Como ejemplo de esto, Live Search para Windows Mobile ahora incluye el ingreso de datos por voz (beta), precios del combustible y horario de operacin de los comercios. El servicio tambin puede utilizar datos del GPS en telfonos compatibles con GPS para brindar una bsqueda local con conocimiento de la ubicacin.

    Servicios de gestin de contenido, entrega de contenido y almacenamiento Como se mencion en la seccin sobre tendencias sociales, la proliferacin de los dispositivos est produciendo una explosin en la cantidad de contenido que se genera y que debe almacenarse fuera del dispositivo. Esto genera la necesidad de que los servicios de almacenamiento realicen una copia de seguridad de los dispositivos,

    8 www.architecturejournal.net - Journal 14 THE ARCHITECTURE JOURNAL

  • 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-media-white-paperpart-2-20070711.htm

    Safaricom: On a Tear in Africa por Jack Ewing, 27 de agosto de 2007, BusinessWeek http://www.businessweek.com/globalbiz/content/aug2007/ gb20070827_543072.htm SMS Server Toolkit http://research.microsoft.com/research/downloads/details/ 9190f48f-6e3d-4ee8-b4a9-b346db76be1d/details.aspx Upwardly Mobile in Africa por Jack Ewing, 13 de septiembre de 2007, BusinessWeek http://www.businessweek.com/globalbiz/content/sep2007/ gb20070913_705733.htm

    que las redes de entrega de contenido trasladen los datos y tambin que los servicios de gestin de contenido organicen el contenido recientemente adquirido para que se pueda encontrar.

    La organizacin del contenido conlleva una taxonoma, que podra estar explcitamente definida pero es ms probable que surja basada en el etiquetado del contenido con una captura de imagen del contexto del usuario en el momento que se cre el contenido. Este contexto podra ser ubicacin, tiempo, un evento, etc., cualquier cosa que el dispositivo haya conocido y registrado automticamente.

    Servicios de alerta Debido a que la cantidad de contenido disponible en lnea contina creciendo, es necesario que los usuarios filtren las seales de informacin que reciben. Una forma en la que los usuarios podran hacer esto es mediante la suscripcin a un servicio particular de alertas como Windows Live Alerts. Estas alertas se pueden recibir en los dispositivos mviles como mensajes SMS. El usuario tambin puede incrustar un mecanismo para leer alertas en su propio sitio Web.

    Servicios de sincronizacin A medida que los usuarios pasan al mundo de dispositivos, el contenido se deja cada vez ms disperso en las computadoras personales del hogar, de la oficina, en servicios en lnea y ahora en telfonos mviles. Una parte importante de las soluciones de movilidad integrales incluirn servicios de sincronizacin, lo que resuelve el problema de sincronizar cualquier tipo de contenido, sobre cualquier protocolo y sobre cualquier dispositivo o computadora personal. Estos servicios de sincronizacin debern poder tratar problemas sutiles sobre escenarios que requieren almacenamiento en cach, uso sin conexin, intercambio y roaming. Una forma de construir esos servicios es utilizar el Sync Framework de Microsoft, que le permite a los desarrolladores de aplicaciones aadir con facilidad capacidades de sincronizacin en una aplicacin o servicio. Esto es posible a travs de un modelo de proveedor que pueda extenderse para admitir escenarios comunes como sincronizacin de bases de datos relacionales, sistemas de archivos, listas, dispositivos, PIM, msica, video, etc.

    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.

    THE ARCHITECTURE JOURNAL Journal 14 www.architecturejournal.net 9

  • 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.

    Sin una conexin, la aplicacin mvil no funciona. Aplicaciones sin conexin (tambin conocidas como cliente

    pesado). Es el software cliente que se instala de forma local para el dispositivo que contiene todos los datos requeridos para la duracin de la mayora de las operaciones y sincroniza al final de cada da o en un perodo de tiempo preconfigurado.

    Aplicaciones conectadas de forma ocasional (tambin conocidas como cliente inteligente). Es el software cliente que se instala de forma local, similar al modelo sin conexin, pero en el que la aplicacin puede actualizar o refrescar datos en cualquier momento. La frecuencia con la que se actualizan los datos depende de la importancia de la aplicacin.

    Utilizando como referencia los tres niveles descriptos anteriormente, analicemos ahora el significado que esto tiene para una Automatizacin de la Fuerza de Venta/Automatizacin de tareas en campo (SFA/FFA) basada en el producto. Extensin de una aplicacin SFA/FFA basada en el producto hacia un dispositivo mvil Una aplicacin SFA/FFA basada en el producto es normalmente parte de una aplicacin CRM o ERP. Es comn que este tipo de aplicaciones no tenga una solucin existente para dispositivos mviles. El cliente del lado del servidor de la aplicacin es por lo general una aplicacin cliente rica o basada en la Web, respaldada por una base de datos relacional con un gran abastecimiento de almacenamiento de datos para toda la organizacin. Tiende a existir una cierta restriccin sobre el acceso a esta base de datos, que incluye los siguientes desafos: Cambios en el esquema para brindar soporte a la extensin

    mvil con frecuencia, muy poco se puede hacer (o se debe hacer) para cambiar el esquema y brindar soporte a las aplicaciones mviles.

    Acceso a datos directamente desde la base de datos y actualizacin dentro de tablas desde el dispositivo mvil con frecuencia hay muchos niveles de comunicacin que se deben atravesar y no es posible acceder a la base de datos directamente desde el dispositivo.

    Comprensin del esquema del almacenamiento de datos los esquemas para estos tipos de aplicaciones se disean para ser extendidos y como consecuencia pueden ser de gran extensin y difciles de manejar.

    Diseo de un rea de representacin con una estructura de esquema similar a la del servidor para que los datos fluyan hacia los dispositivos mviles crear un entorno de rplica para el desarrollo y representacin puede ser un desafo.

    Presentacin de la solucin Al extender una aplicacin SFA/FFA basada en el producto hacia dispositivos mviles, se deben tratar de forma eficaz los desafos mencionado en la seccin anterior. Para tratar estos desafos la arquitectura debe considerar componentes que funcionen conjuntamente.

    10 www.architecturejournal.net - Journal 14 THE ARCHITECTURE JOURNAL

  • Extensin de aplicaciones empresariales

    La Figura 1 muestra un modelo propuesto para las aplicaciones de cliente inteligente; la Tabla 1 enumera los componentes para el middleware y para la aplicacin cliente junto con una breve descripcin de su rol como parte de la solucin. Cabe observar que la lista de componentes representa un superconjunto opcional y las implementaciones especficas pueden no tener todos los componentes.

    Mejores prcticas A partir de la experiencia, hemos descubierto que las siguientes resultan ser mejores prcticas al crear aplicaciones basadas en el modelo que se describe en la Figura 1 y la Tabla 1. 1. Utilizar procedimientos almacenados de bases de datos para

    escribir cdigo empaquetador para el acceso a datos ms rpido. 2. Para los datos ad-hoc, los datos se deben introducir mediante

    vistas de bases de datos para que tengan salida ms rpida hacia el dispositivo.

    3. La infraestructura de la base de datos intermedia podra ser parte del servidor central de la base de datos para obtener respuesta ms rpida hacia los dispositivos mviles (el beneficio depende de la cantidad de usuarios y la carga del servidor en cualquier momento).

    4. Al extender datos desde el servidor hacia la base de datos intermedia, se deben incluir slo aquellas columnas y campos que se necesitan en el dispositivo ya que lo mismo ser extendido en el dispositivo. Esto ayudar a cumplir las restricciones de tamao en el dispositivo.

    5. La base de datos intermedia slo debe contener datos por un perodo de tiempo limitado (por ejemplo, dos meses) con archivos regulares programados; limitar el tamao de la base de datos reducir el tiempo de bsqueda.

    6. Utilizar el nmero de registro de versin para realizar con facilidad un seguimiento de los registros en las actualizaciones delta durante la sincronizacin.

    7. Utilizar tablas de asignacin en la base de datos intermedia para realizar un seguimiento del registro de versin y de este modo facilitar la resolucin de conflictos; por ejemplo, para establecer una norma sobre conflictos, pasar por alto el registro de una transaccin mediante un cambio en el lado del servidor, incluso cuando se realizan varios cambios del lado del cliente. (Una tabla de asignacin es una tabla en la base de datos intermedia que contiene la clave primaria de la tabla de la base de datos del

    servidor y la clave primaria del registro de la base de datos del dispositivo).

    8. El servicio de intercambio de datos debe ser un proceso peridico y debe poder configurarse en la consola de middleware para tratar los continuos cambios en el sistema del servidor y la base de datos intermedia (activada desde el cliente), lo que permite crear un mtodo de trabajo asncrono.

    9. Mantener en el middleware slo los datos necesarios del usuario y crear un enlace hacia el servicio de directorio de la empresa para la autenticacin y otros datos del usuario. Esto reducir los problemas de desactualizacin de la informacin del usuario entre el directorio de la empresa y el middleware.

    10. No almacenar contraseas en la base de datos intermedia; en cambio, consulte el servicio de directorio de la empresa durante la autenticacin. Esto elimina los problemas de desactualizacin que provoca la falta de actualizacin de la contrasea del lado del servidor en el middleware.

    11. Durante la sincronizacin, la aplicacin de cliente primero debe verificar las actualizaciones de la aplicacin mediante el envo de su versin actual y descarga de la ltima versin, si es necesario; esto es un mecanismo optimizado para la administracin de versin de la aplicacin.

    12. Almacenar el perfil del dispositivo del usuario (plataformas del dispositivo y versiones SO) en la base de datos del usuario y transferir actualizaciones de versin hacia el dispositivo, segn sea el caso, mediante el envo de diferentes versiones a diferentes usuarios.

    13. Conservar tres tablas: cola de entrada, cola de salida y cola de salida relacionada con el usuario para la administracin de la sincronizacin, lo que permite simplificar la administracin de colas y optimizar el proceso de sincronizacin.

    14. Se puede crear un administrador de comunicaciones para probar tipos alternativos de conectividad cuando el mtodo primario no est disponible, y de este modo utilizar la opcin de conectividad a red disponible ms eficaz. Por ejemplo, cuando la LAN inalmbrica no est disponible, la aplicacin prueba la red General Packet Radio Service (GPRS); si GPRS no est disponible, entonces el cliente no podr sincronizar.

    15. El intervalo de sincronizacin de fondo debe considerar la cantidad de usuarios y la cantidad de usuarios simultneos que puede soportar el servidor. Estas consideraciones ayudarn a reducir la carga en el servidor, lo que permitir admitir la mayor cantidad de usuarios mviles.

    Figura 1: Componentes para la extensin de SFA/FFA basados en el producto hacia dispositivos mviles Enfoque de cliente inteligente

    THE ARCHITECTURE JOURNAL Journal 14 www.architecturejournal.net 11

  • Extensin de aplicaciones empresariales 16. El administrador de sincronizacin del dispositivo slo debe enviar

    el nombre de usuario, versin de la aplicacin del dispositivo, tiempo de intervalo de la sincronizacin y las actualizaciones delta durante la sincronizacin. Para disminuir la cantidad de sincronizaciones simultneas, el middleware debe informar si hay una actualizacin disponible y si es necesaria la actualizacin, debe informar la prxima vez que se sincronizar,.

    17. La columna de estado de registros se debe mantener en el nivel de registros para componer datos de forma ms rpida durante la sincronizacin.

    18. Las aplicaciones deben disearse de modo que si la energa de la batera es baja, la prioridad del subproceso de fondo deba configurarse en baja, lo que permite disminuir el uso del CPU y aumentar la vida til de la batera.

    19. Desarrollar el emulador, si es que no est disponible, para el tipo de dispositivo. Esto disminuye los esfuerzos durante las fases de prueba y desarrollo. Por ejemplo, utilizar el asistente de plataforma de Microsoft para desarrollar un emulador de Win CE que pueda admitir caractersticas requeridas por la aplicacin.

    20. Durante el desarrollo de la aplicacin, tambin desarrollar

    Tabla 1: Componentes del middleware y aplicacin cliente Middleware Componente Descripcin Administrador de acceso a datos del servidor

    Est compuesto de cdigo empaquetador para realizar llamadas a las APIs del servidor e insertar, actualizar o eliminar datos desde el servidor.

    Administrador de solicitudes de datos ad-hoc

    Mtodos preconfigurados que devuelven datos ad-hoc en tiempo real al dispositivo mvil. Gestin de base de datos intermedia

    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.

    Administrador de conflictos 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.

    Servicio de intercambio de datos

    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.

    Consola del middleware 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. Servicio de utilidades especficas

    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. Administracin del usuario 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.

    Administracin del dispositivo 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. Optimizacin de datos 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. Administrador de seguridad Codifica los datos que se envan al dispositivo mvil

    Decodifica los datos que se reciben desde el dispositivo mvil. Servicio de sincronizacin 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.

    Servicio de autenticacin Autentica al usuario mvil durante el proceso de inicio de sesin y la sincronizacin. Administrador de conexin Maneja mltiples conexiones al mismo tiempo desde los usuarios mviles hasta una cantidad mxima de

    usuarios simultneos. 12 www.architecturejournal.net - Journal 14 THE ARCHITECTURE JOURNAL

  • Extensin de aplicaciones empresariales

    aplicaciones de simulacin para evaluar los datos que ingresan y los datos que salen mediante componentes perifricos incorporados al dispositivo.

    21. La informacin de prueba que se obtiene del fabricante del dispositivo o que se crea mediante el uso de los manuales del dispositivo ser crucial para la aplicacin de simulacin.

    22. Cuando se disean mdulos para los componentes perifricos, se deben colocar las funciones especficas de la aplicacin y especficas del hardware en sus respectivas bibliotecas para que los cambios que se realicen en los componentes perifricos no afecten la biblioteca de la aplicacin.

    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

    Aplicacin cliente (Cont.) Componente Descripcin Administrador de comunicaciones

    Establece la conexin con la red Administrador de sincronizacin del dispositivo

    Autentica con el servicio de autenticacin Enva y recibe datos desde el servicio de sincronizacin en el middleware Descarga actualizaciones de la aplicacin y comandos de administracin del dispositivo.

    Optimizacin de datos Optimiza la forma en la que los datos se envan al middleware 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 middleware.

    Administrador de seguridad Codifica los datos que se envan al middleware Decodifica los datos que se reciben del middleware.

    Aplicacin / Composicin Aplica los datos entrantes Compone cambios para que se enven al servidor.

    Programador para la sincronizacin de fondo

    El componente configurable planifica la sincronizacin de fondo desde el dispositivo mvil Enva datos hacia el servidor en un intervalo preconfigurado sin la intervencin del usuario,

    automticamente. Acceso a datos remoto Realiza llamadas a mtodos definidos en el Administrador de solicitud de datos ad-hoc para tener en el

    dispositivo mvil datos en tiempo real; si la conectividad no est disponible, se utilizan los datos existentes en el dispositivo.

    Administrador de la base de datos local

    Administra los datos en la base de datos del dispositivo Aplica y compone datos Depura los datos temporarios desde la base de datos Administra el estado de los registros Administra los detalles de configuracin del dispositivo.

    Administracin del dispositivo Ejecuta comandos desde el middleware Aplica las actualizaciones de la aplicacin Bloquea la aplicacin si el usuario ingresa una contrasea invlida una cantidad determinada de veces Enva registros al middleware.

    Sincronizacin activada por la actividad de la aplicacin

    Activa la sincronizacin al finalizar un flujo de negocio completo, lo que permite asegurar que est en sincrona con el servidor del cliente mvil.

    Lgica de negocios de la aplicacin

    Elemento fundamental de toda la solucin mvil (aplicacin real que utilizan los usuarios mviles) Validaciones y alertas Valida el ingreso de datos del usuario con algunas reglas comerciales

    En caso de incumplimiento, muestra alertas en la interfaz de usuario como consecuencia. Interfaz de hardware externo Interacta con las interfaces del hardware externo conectadas al dispositivo.

    Necesaria para el flujo de datos hacia aplicaciones externas, como por ejemplo el lector de cdigo de barras.

    Administracin de recursos del dispositivo

    Accede al estado de los recursos y muestra alertas si se necesita la atencin del usuario. Interfaz de usuario Aspecto de la solucin mvil

    La informacin que ingresa el usuario a travs de IU se valida y procesa mediante lgica de negocios. Autenticacin Autentica al usuario con el middleware si existe conectividad a la red, de lo contrario, lo autentica con

    credenciales disponibles de forma local.

    THE ARCHITECTURE JOURNAL Journal 14 www.architecturejournal.net 13

  • Extensin de aplicaciones empresariales

    a la aplicacin del dispositivo para su uso. 26. Las consultas especficas de la base de datos no

    deben estar codificadas de forma rgida, por el contrario, las consultas deben buscarse desde el middleware a travs de un archivo de configuracin.

    Estudio de un caso tcnico: Extensin de una aplicacin CRM hacia dispositivos mviles para un Sistema de Gestin Territorial Una compaa farmacutica principal con presencia en toda India quera mejorar la eficiencia de sus Representantes de Ventas que trabajaban en el campo. Los representantes de venta de la compaa se reunan con mdicos de clnicas y hospitales para promocionar las drogas de la compaa, distribuir muestras y material de promocin y al final del da, registraban todos los detalles mediante una aplicacin CRM basada en la Web.

    La solucin propuesta basada en lo porttil, tena los siguientes objetivos: Mejorar la eficiencia y eficacia de los representantes

    de ventas

    Figura 2: Diagrama de implementacin de un sistema de gestin territorial en dispositivos porttiles

    Mejorar el 10% de la productividad Reducir los costos del proceso manual como papelera y telfono Brindar una interfaz de usuario fcil y rpida para lograr la

    adopcin exitosa del usuario Cargar los datos ms reciente desde el dispositivo hacia el servidor

    para que los gerentes puedan seguir el trabajo de los representantes de ventas

    Descargar el inventario de productos ms reciente en el dispositivo para poder vender a los qumicos (slo si existiera conectividad).

    Esta solucin basada en lo porttil se dise, desarroll e implement en toda India donde se encuentra la compaa farmacutica. Definicin del problema Los representantes de ventas de la compaa farmacutica realizan aproximadamente 10 llamadas comerciales para acordar reuniones con los mdicos y promocionar drogas, tomar pedidos y distribuir

    muestras. Una visita del representante, por lo general dura de 2 a 10 minutos ya que los mdicos estn muy ocupados. En este tiempo limitado, el representante de ventas debe analizar las drogas, obtener feedback del mdico y distribuir muestras, revistas y material de promocin. El representante de ventas captura la informacin que recopilada en papel y al final del da, ingresa toda la informacin relacionada con las visitas en una aplicacin CRM basada en la Web. El supervisor del representante de ventas examina todos los datos y aprueba el trabajo diario; el equipo directivo tambin puede analizar los datos y visualizar los informes.

    Este proceso de captura manual de datos representa varios problemas. El representante de ventas debe registrar los datos en papel y debe volver a ingresarlos al final del da en el sistema CRM va Web. Este proceso produce errores en los datos y discrepancias.

    Las desventajas principales del proceso manual existente eran: Proceso de recopilacin de datos ineficaz La captura de informacin sobre papel requiere mucho tiempo Se registran demoras para obtener informacin del campo

    Figura 3: Arquitectura de solucin para un sistema de gestin territorial en dispositivos porttiles

    14 www.architecturejournal.net - Journal 14 THE ARCHITECTURE JOURNAL

  • Extensin de aplicaciones empresariales Tabla 2: Visin general de los componentes del middleware y la aplicacin cliente en la arquitectura de solucin para el estudio de un caso de sistema de gestin territorial Middleware Componente Descripcin Administrador de acceso a datos CRM

    Realiza las actualizaciones en la base de datos CRM (datos que capturan los representantes de ventas mientras estn en el campo de operacin).

    Servicio de intercambio de datos

    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)

    Administracin del usuario 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. Consola del middleware 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.

    Administracin del dispositivo 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)

    Servicio de sincronizacin 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. Servicio de autenticacin Autentica al usuario mediante la conexin hacia el servicio de directorio de la empresa.

    Aplicacin cliente Componente Descripcin Administrador de comunicaciones

    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 S