Вы находитесь на странице: 1из 15

1.

1Dispositivos Mviles

1.1.1 Qu es un Dispositivo Mvil? Los dispositivos mviles o mejor conocidos en sus trminos en ingles como: information device, information appliance, embedded device o small device, son aparatos pequeos con algunas capacidades de procesamiento, con conexin permanente o intermitente a una red, con memoria limitada, diseados especficamente para una funcin,pero que pueden llevar a cabo otras ms generales. Normalmente se asocian al uso individual, tanto en posesin como en operacin, los cuales pueden adaptarse al gusto de la persona. Una caracterstica importante es el concepto de movilidad: los dispositivos mviles son aquellos suficientemente pequeos para ser transportados y empleados durante su transporte. Normalmente se sincronizan con un sistema de sobremesa para actualizar aplicaciones y datos por medio de una red inalmbrica, dando la impresin al usuario de que los datos estn almacenados en el propio dispositivo. 1.1.2 Caractersticas de un Dispositivo Mvil Las principales caractersticas de un dispositivo mvil son: Portabilidad. Aparatos pequeos. Tienen una limitada capacidad de procesamiento. Pueden o no tener una conexin a una red. Su memoria es limitada. Diseados especficamente para una funcin, aunque se pueden aadir algunas otras. Normalmente son para el uso individual.

Otra caracterstica importante es el trmino en ingls Wireless (en espaol, inalmbrico);un dispositivo inalmbrico es aquel que es capaz de comunicarse o acceder a una red sin cables, por ejemplo un telfono mvil o un PDA. Este tipo de dispositivos se comportan como si estuvieran conectados a una red mediante un cable, pero su tecnologa es inalmbrica.

Algunas de las caractersticas que hacen que estos dispositivos sean diferentes de las computadoras de escritorio son las siguientes:

Tienen una funcionalidad limitada. No es necesariamente extensible y actualizable. En pocos aos, el usuario deber cambiarlo. Son ms baratos. Son menos complicados en su manejo. Fcil de aprender su operacin. No se requiere un usuario experto.

Algunos dispositivos que entran en la categora son: Asistentes Personales Digitales (PDA, Ipod, etc) Telfonos mviles inteligentes (Smartphones, Iphone, Black Berry, etc.) con sistema operativo similar al de las PDA. Telfonos mviles con capacidad de ejecucin de programas Java Algunos dispositivos que no entran en la categora son: Computadoras porttiles (demasiado grandes, no portables). Tablet PC Telfonos mviles sin capacidad de ejecutar programas. Agendas electrnicas simples. Calculadoras electrnicas programables. Cmaras digitales, reproductores MP3, etc. 1.1.3. Clasificacin de los Dispositivos Mviles Por su definicin y caractersticas de los dispositivos mviles, se pueden clasificar en 4 grupos principales, como lo muestra la figura 1.1

Figura 1.1.-Clasificacin de los dispositivos mviles

1.1.4 Para qu sirve un Dispositivo Mvil? La expansin de computadoras personales en nuestro entorno hace que stas sean ya una herramienta de trabajo muy necesaria y por supuesto, tambin de diversin. Pero cada vez,las computadoras son ms potentes y nos dan muchas ms posibilidades, lo que hace que no slo estn en el trabajo y en nuestro hogar, sino que tambin nos los podamos encontrar en cualquier mbito de nuestra vida. Por tanto, vemos que la evolucin se centra en fabricar aparatos ms pequeos, dotndoles de habilidad de comunicacin y potencia de clculo. Independientemente del tipo de aparato, les requerimos que ms o menos nos den las mismas prestaciones en cualquier momento. Los dispositivos mviles utilizados actualmente, abarcan una gran cantidad de funcionalidades, entre las principales y las ms usadas son las siguientes: Telfono mvil: Su principal funcin es la comunicacin personal, dando la opcin de que se le pueda localizar en cualquier momento y lugar, por medio de la recepcin y emisin de llamadas. Actualmente, los telfonos mviles evolucionaron y ya incluyen juegos, cmara fotogrfica y de video, reproductor de mp3, mensajes de texto, directorio, Internet, televisin y rastreo satelital. Smartphone / Black Berry: Su principal funcin es la de comunicacin personal,muy similar a un telfono mvil, pero con la diferencia de que el Smartphone y la Black Berry, trabajan con la tecnologa Microsoft y poseen caractersticas interesantes, como es el poder trabajar con ventanas tipo Windows y la lectura y edicin de documentos de la paquetera Office; adems de los ya mencionados, como es conexin a Internet, sincronizacin con equipos de escritorio, cmara fotogrfica, cmara de video, mp3, videos, pelculas, mensajes escritos, agenda, correo de voz, directorio y juegos. PDA: El objetivo de este dispositivo es, como su nombre lo indica, un asistente personal, en donde se tienen funciones como agenda, juegos, recordatorios, videos,msica, fotografas, editor de texto, sincronizacin con equipos de escritorio,reproductor de Mp3 y videos y conexin a Internet. Pocket PC: El objetivo de este dispositivo es similar al de PDA, solo que ste trabaja particularmente con la tecnologa Microsoft, por lo que se tienen opciones de poder manejar documentos de la paquetera Office, por lo que ofrece mucha funcionalidad para el trabajo. Tambin tienen acceso a Internet, agenda, msica, videos, fotografas, correo electrnico, chat y sincronizacin con equipos de escritorio.

Iphone: De la compaa Apple Inc., es un telfono inteligente multimedia con conexin a internet, pantalla tctil con tecnologa multi-touch y una interfaz de hardware minimalista. Ya que carece de un teclado fsico, se muestra uno virtual en la pantalla. El iPhone dispone de una cmara de fotos y un reproductor de msica (equivalente al del iPod) adems de software para enviar y recibir mensajes de texto y mensajes de voz. Tambin ofrece servicios de internet como leer correo electrnico, cargar pginas Web y conectividad por Wi-Fi.

1.1.5 Ventajas y Desventajas de un Dispositivo Mvil A continuacin se muestra un listado de ventajas y desventajas de los dispositivos mviles, contra los equipos de escritorio: Ventajas de trabajar con equipos mviles: Al ser equipos pequeos son fciles de transportar. El costo es menor. Actualmente un dispositivo mvil tiene muchas funciones. Al poder llevarlos a todos lados, ayudan en la organizacin personal. Equipados con batera, no es necesario conectarlos a la corriente elctrica. Algunos de ellos, al tener rastreo satelital, brindan incluso seguridad al usuario. Actualmente, se pueden conectar a Internet casi en cualquier lugar. Son fcilmente accesibles para cuando se les necesite.

Desventajas de trabajar con equipos mviles: Tienen memoria limitada. Capacidad de procesamiento es menor. En pocos aos se tendr que cambiar de dispositivo. La batera tiene un tiempo de energa limitado. Algunas de sus pantallas no tienen la resolucin suficiente para poder navegar completamente en Internet. Algunos no tienen una capacidad completa para el uso en el trabajo. La velocidad es menor, por lo tanto los tiempos de respuesta son mayores.

1.2 Cmo Programar un Dispositivo Mvil 1.2.1 Proceso de Programacin El desarrollo de aplicaciones destinadas a dispositivos mviles, desde el punto de vista de la ingeniera del software, no debe diferir sustancialmente de los pasos a dar cuando se construyen aplicaciones para computadoras de escritorio, slo

cambiar la ltima parte, la cual es: la compilacin o generacin de cdigo ejecutable sobre el sistema operativo contenido en el dispositivo. As, podramos establecer los siguientes pasos:

a) Anlisis de Requerimientos El programador deber determinar, las necesidades que los usuarios finales tienen y los requerimientos que se les pedir tener a la aplicacin. Por ejemplo, en el caso de un anlisis para una aplicacin que se ejecutar en un dispositivo mvil, algunos de los requerimientos podran ser la facilidad de uso, que se pueda ejecutar en los telfonos mviles, PDAs y Smartphones, que permita una conexin a una entidad mayor para obtener datos actualizados o tambin que sea capaz de almacenar cierta informacin de manera persistente. b) Diseo de la Aplicacin Es muy importante en este tipo de aplicaciones el crear programas separados por cada uno de los posibles usos que se le d a la aplicacin; de esta manera cada programa ser ms pequeo y se adaptar mucho mejor a las caractersticas de los dispositivos mviles. Ya en la fase de implementacin se tendr que establecer un mecanismo que controle las diferentes aplicaciones. En cuanto al diseo del interfaz de usuario, debemos decidir la correspondencia entre la aplicacin y la pantalla. Los diseadores en esta fase no deben considerar cmo los usuarios operarn con el dispositivo para llevar a cabo una tarea, o cmo se notificar a la aplicacin las acciones del usuario, se deben concentrar slo en el objetivo de la pantalla y en la tarea que permitir llevar a cabo. El almacenamiento persistente es un aspecto a tener en cuenta en nuestro diseo, la pregunta a responder es: qu datos deben sobrevivir a la finalizacin de la aplicacin y estar disponibles para la siguiente vez que se vaya a ejecutar? Otra cuestin, que no se debe plantear en esta fase sino en la de implementacin es qu utilizar para realizar ese almacenamiento.

Finalmente, debemos tener en cuenta dentro del diseo aspectos relacionados con la conectividad y con la entrada / salida, ya que son puntos muy importantes que van a determinar la portabilidad de la aplicacin. Por tanto, en este momento deberemos tomar decisiones en un nivel de abstraccin alto, que luego se concretarn cuando determinemos claramente el tipo de dispositivo y sus caractersticas.

c) Desarrollo de la Aplicacin Es en esta parte en la que el desarrollador se dedica a programar la aplicacin para que cumpla con los requerimientos especificados; se dedicar a escribir cdigo,crear pantallas, adaptar controles y se harn las pruebas hasta que la aplicacin est lista. Hay dos formas de desarrollar aplicaciones para los dispositivos mviles: desde una computadora de escritorio o sobre el propio dispositivo mvil. a. Computadora de Escritorio

Esta es la forma ms comn a la hora de programar un dispositivo mvil. Esta tcnica consiste en realizar la aplicacin a travs de alguna herramienta ejecutada en una PC. Estas herramientas pueden ser extensiones para los lenguajes y entornos habituales de las PC o bien entornos de desarrollo especficamente creados para generar cdigo ejecutable sobre los dispositivos mviles. Dado que supondra un problema tener que cargar en el dispositivo el programa en desarrollo cada vez que se quiera probarlo, conviene contar con emuladores de los dispositivos concretos y sus sistemas operativos. En el mercado existe diversa variedad de emuladores para los diferentes dispositivos mviles; Estos emuladores cambian de acuerdo con el sistema operativo y del tipo de dispositivo mvil. Normalmente, el proceso de las aplicaciones concluye con la generacin del cdigo de la aplicacin que se instalar en dispositivo mvil. En este caso hay dos formas de hacerlo, el cdigo generado es directamente ejecutable en la mquina o bien se genera un cdigo intermedio que al instalarse requerir de un programa intrprete que lo traduzca y ejecute definitivamente. Cuando trabajamos sobre una computadora de escritorio para programar dispositivos mviles, debemos lograr pasar el cdigo o programa ejecutable al dispositivo mvil final, esto se hace con alguna de las siguientes opciones: Se descargar la aplicacin a travs de una conexin de red, se cargar en memoria, se ejecutar la aplicacin, y finalmente se eliminar cualquier traza de sta en el dispositivo. Siempre que el dispositivo lo permita, se instalar fsicamente.

b. En el Dispositivo Mvil Esta forma de programar consiste en realizar la aplicacin directamente en el mismo dispositivo mvil donde ser ejecutado. Debido a las limitaciones de recursos de los dispositivos mviles, los editores y traductores de esta categora suelen ser limitados en cuanto a la facilidad para el trabajo de programacin y puesta a punto.

1.2.2 Diferentes dispositivos, diferentes plataformas, diferente programacin Los lenguajes de programacin y sus entornos de desarrollo asociados disponibles para crear aplicaciones para los dispositivos mviles son, esencialmente los mismos que se utilizan para las dems computadoras, no obstante ya existen algunos lenguajes especficamente diseados para ello. Como en todo, hay siempre una solucin de compromiso entre requerimientos de cmputo, facilidad de uso y de aprendizaje, costo y calidad de los resultados que se obtienen. Al desarrollar aplicaciones para los dispositivos mviles hay que tener en cuenta su especificidad. Los dispositivos mviles no son una PC ni una laptop.

Tamao de la pantalla, generalmente de 160 x 160 pixeles. Patrn de utilizacin: varias veces al da por perodos muy cortos. Pocas entradas. No se requiere el ingreso de grandes volmenes de datos. Potencia del procesador: Normalmente de 16 a 33 MHz Bateras pequeas. Memoria que suele llegar hasta 64 MB.

A continuacin se presentan algunas de las plataformas de desarrollo ms conocidas en el mercado: PDA TOOLBOX

Se trata de un entorno de desarrollo grfico rpido y fcil de usar sobre PCs, que permite a desarrollar aplicaciones para el sistema operativo Palm OS, casi sin cdigo. Contiene un repertorio de ms de 60 componentes de interfaz como formularios, imgenes de color, botones, campos, botones de radio, ayuda en lnea y otros que son usuales en las aplicaciones de los computadores de sobremesa.

SCOUTBUILDER

Es un software dinmico con el que se pueden crear aplicaciones para Palm OS de manera rpida. Contiene un lenguaje de programacin basado en BASIC y facilita la importacin de tablas de bases de dados ODBC ya existentes. Utiliza el recurso Intellisense para ayudar a completar lneas de cdigo automticamente. CASL

Entorno de desarrollo visual que se aloja en un PC de sobremesa y genera cdigo para Palm OS o Pocket PC. Permite el intercambio de datos entre el dispositivo mvil y el PC a travs de los programas de conexin. El lenguaje contenido en CASL es orientado a objetos y dirigido por eventos y permite incluir segmentos de cdigo escritos en C. VISUAL STUDIO .NET

.NET ofrece caractersticas de Internet mvil que permiten a los programadores crear una interfaz Web mvil nica, compatible con una amplia gama de dispositivos como los Smartphone, Pocket PC, dispositivos de mano y localizadores(pagers). Los controles mviles del servidor generan de manera inteligente la reproduccin y paginacin apropiada para cada dispositivo Web, proporcionando una experiencia completa y coherente al usuario a la vez que mantiene la flexibilidad del programador. HS PASCAL

HS Pascal apoya la plataforma Computing de Palm Source. El compilador produce rpidamente, pequeos y optimizados programas ejecutables directamente sobre Palm OS. JAVA Java nos da la posibilidad de escribir una vez el programa y poder ejecutarlo en cualquier tipo de plataforma sin tener que recompilarlo de nuevo. En muchos casos es la nica alternativa que dispone el programador, pues varios fabricantes han optado nicamente por l para desarrollar aplicaciones. SUPER WABA. Super Waba es un lenguaje que est basado en Java. Super Waba requiere la instalacin del jdk de java, es libre, tiene manejo con XML, realiza mejoras a la interfaz que ofrece Java y forma cdigo ejecutable para cada tipo de dispositivo mvil.

Con todo esto, lo que se puede observar es que la programacin de dispositivos mviles depende de sobre qu tipo de dispositivo ser destinada la aplicacin y de qu sistemas operativos maneje dicho dispositivo. No se puede programar un dispositivo que maneja por ejemplo, sistema operativo Palm OS con un lenguaje que est destinado para Pocket PC, aunque sus funciones y caractersticas pueden ser similares, a nivel de sistema operativo son muy distintas, por lo que las PDA con sistema operativo Palm OS deben de programarse especficamente para su sistema operativo (programacin Palm), de la misma forma el Smartphone / Black Berry (programacin Windows), el telfono mvil (programacin Java) y la Pocket PC (programacin Windows).

1.3 .Net
Microsoft .NET es un conjunto de tecnologas que estn tomando mucha fuerza hoy en da para el desarrollo tanto de aplicaciones de escritorio, aplicaciones Web, Web Services, aplicaciones para mviles, etc. Microsoft .NET es un conjunto de tecnologas de software de Microsoft para conectar su mundo de informacin, gente, sistemas y dispositivos. La plataforma .net provee de un gran nmero de tecnologas, estas tecnologas se describen en los siguientes puntos. El .NET Framework

El .NET Framework est basado en un nuevo Lenguaje Comn en Tiempo de Ejecucin(CLR). El CLR provee de un conjunto de servicios para la creacin de proyectos construidos en Visual Studio .NET, sin depender del lenguaje. Microsoft Visual Basic, Microsoft Visual C++ y otros lenguajes de programacin Microsoft, han sido planeados para tomar la mayor ventaja de estos servicios. Microsoft Visual J#.NET ha sido desarrollado para los desarrolladores del lenguaje Java, que han querido construir aplicaciones y servicios usando el .NET Framework. NET My Services

.Net my Services es un conjunto de XML Web Services. Con el .Net my Services, los usuarios reciben la informacin relevante que ellos necesitan, dependiendo del dispositivo que estn usando y basado en las preferencias que ellos establezcan. Usando el .NET my Services, las aplicaciones pueden comunicarse directamente usando SOAP y XML desde cualquier plataforma que soporten SOAP.

El .Net Manejador de Servidores

El .Net Manejador de Servidores provee escalabilidad, manejabilidad, integracin con otras organizaciones, y muchas otras caractersticas como las que describe la siguiente tabla.

SERVIDOR Microsoft SQL Server

Microsoft BizTalk Server

Microsoft Host Integration Server Microsoft Exchange Enterprice Server

Microsoft Application Center Microsoft Internet Security and Acceleration Server

Microsoft Commerce Server

Microsoft SharePoint Portal Server

DESCRIPCION Incluye funcionalidad XML, soportado por los estndares deWorld Wide Web Consortium (W3C), tiene la capacidad de manipular los datos XML usando Transact SQL (T-SQL),flexible y poderoso analista basado en Web, y de acceso seguro a los datos a travs de la Web usando http. Provee una integracin de aplicaciones empresariales (EAI),integracin negocio a negocio y una avanzada tecnologa BizTalk, para construir procesos dinmicos y aplicaciones que tambin pueden usarse para Internet. Provee la mejor forma de unirse a Internet, intranet y a las tecnologas cliente-servidor. Construido en una poderosa colaboracin tecnolgica por introducir importantes mejoras en la escalabilidad y en el rendimiento de su arquitectura. Provee de herramientas de desarrollador y manejador, que son tiles para las aplicaciones Web. Provee seguridad, velocidad y una conexin a internet mejor. La seguridad en internet y la aceleracin del servidor integran un firewall extensible y multicapas. Esta construido sobre las polticas de seguridad y aceleracin para el trabajo de Internet. Provee un Framework a las aplicaciones, sofisticados mecanismos de regeneracin y capacidades analticas. Provee la capacidad de crear portales Web con manejador de

documentos, bsqueda de contenidos y colaboracin de equipos. Visual Studio .NET Visual Studio .NET provee un ambiente de desarrollo para la construccin de aplicaciones en la plataforma .NET. Provee importantes tecnologas para simplificar la creacin,desarrollo y la evolucin de seguridad, escalabilidad y alta disponibilidad de aplicaciones Web y Web Services XML El .NET Framework El .NET Framework provee de los elementos necesarios para la compilacin y ejecucin para construir y desarrollar las aplicaciones basadas en .NET. El .Net Framework esta formado por componentes (Vase la figura 1.2), los cuales se definirn a continuacin.

Figura 1.2.- Arquitectura de la plataforma del NET Framework

Contenido de la Plataforma El .Net Framework debe correr en un sistema operativo tipo Microsoft Win32. En un futuro, el .NET Framework ser extendido a que pueda correr en otras plataformas, como puede ser Microsoft Windows CE. [5] Servicios de la Aplicacin Cuando se corre en Windows, los servicios de la aplicacin, como son los servicios de los componentes, la cola de mensajes, el Internet Information Server (IIS) y el Windows Management Instrumentation (WMI), estn disponibles para el desarrollador. El .NET

Framework expone los servicios de la aplicacin a travs de las clases de la librera de clases del .NET Framework. Common Language Runtime El Common Language Runtime simplifica el desarrollo de la aplicacin, provee un robusto y seguro entorno de ejecucin, soporta mltiples lenguajes y simplifica el despliegue de la aplicacin y su manejo. El Common Language Runtime es tambin referido al ambiente de manejo, en el que se incluyen los servicios comunes, como son el colector de basura y la seguridad, son automticamente proporcionados. .NET Framework Class Library La librera de clases del .NET Framework expone caractersticas del tiempo de ejecucin y provee otros servicios que todo desarrollador necesita. Las clases simplifican el desarrollo de las aplicaciones basadas en .NET. Los desarrolladores pueden extenderlos, creando sus propias libreras de clases. ADO.NET ADO.NET es la prxima generacin de la tecnologa Microsoft ActiveX Data Objects (ADO). ADO.NET provee la ayuda mejorada para la desconexin del modelo de programacin. Tambin provee amplia ayuda de XML. ASP.NET Microsoft ASP.NET es un marco de programacin que se construye en CLR. ASP.NET puede ser usado en un servidor para construir poderosas aplicaciones WEB.

ASP.NET Web Forms proporcionan una sencilla y poderosa forma de construir interfaces de Web dinmicas (UI). XML Web Services XML Web Services son componentes Web programables que pueden ser compartidos a travs de las aplicaciones en internet o intranet. El .NET Framework proporciona herramientas y clases para construir, probar y distribuir los XML Web Services. Interfaces de Usuario El .NET Framework soporta 3 tipos de interfaces de usuario: Las Web Forms, que son las que trabajan con ASP.NET. Windows Forms, las cuales corren en las computadoras tipo Win32. Aplicaciones de consola.

Lenguajes Cualquier lenguaje que se conforme con la especificacin del lenguaje comn (CLS), puede correr en el CLR. En .NET Framework, Microsoft proporciona Visual Basic, Visual C++, Microsoft C#, Visual J# y Microsoft JScript. .NET Compact Framework Microsoft .NET Compact Framework es un componente integral de los dispositivos Windows Mobile y Windows Embedded CE que permite generar y ejecutar aplicaciones administradas y utilizar Web Services. .NET Compact Framework incluye un Common Language Runtime (CLR) optimizado y un subconjunto de la biblioteca de clases de .NET Framework, que admite caractersticas como Windows Communication Foundation (WCF) y formularios Windows Forms. Tambin contiene clases que estn diseadas exclusivamente para .NET Compact Framework. .NET Compact Framework hereda la arquitectura .NET Framework completa de Common Language Runtime para ejecutar cdigo administrado. Proporciona interoperabilidad con el sistema operativo Windows CE de un dispositivo para tener acceso a funciones nativas e integrar los componentes nativos favoritos en una aplicacin. Puede ejecutar aplicaciones nativas y administradas de manera simultnea. El host del dominio de aplicacin, que tambin es una aplicacin nativa, inicia una instancia del Common Language Runtime para ejecutar el cdigo administrado. [6]

Arquitectura En la ilustracin siguiente se resume la arquitectura de la plataforma .NET Compact Framework.

Figura 1.3.- Arquitectura del.Net Compact Framework

Windows CE .NET Compact Framework utiliza el sistema operativo Windows CE para la funcionalidad central y para diversas caractersticas especficas de dispositivos. Varios tipos y ensamblados, como los de los formularios Windows Forms, grficos, dibujos y Web Services, se han recompilado para que se ejecuten eficazmente en los dispositivos, en lugar de copiarse de .NET Framework completo. .NET Compact Framework ofrece la siguiente interoperabilidad con Windows CE:

Compatibilidad Integracin

con seguridad nativa.

completa con programas de instalacin nativos.

Interoperabilidad con cdigo nativo mediante la interoperabilidad COM y la invocacin de plataformas.