Monografia Francisco Ruiz Ojeda

Capítulo I Introducción Capítulo I 1.1 INTRODUCCIÓN Visual Basic .NET es la última versión del sistema de desarrollo V

Views 100 Downloads 3 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Capítulo I Introducción

Capítulo I 1.1 INTRODUCCIÓN

Visual Basic .NET es la última versión del sistema de desarrollo Visual Basic. Antes de empezar a crear aplicaciones en Visual Basic .NET, será útil conocer y entender algunos conceptos básicos de .NET. La plataforma .NET proporciona la base de la siguiente generación de software que permite conectar sistemas, información, dispositivos y usuarios distintos de un modo más unificado y personalizado. Incorpora servicios Web XML como el medio para permitir la interoperabilidad entre tecnologías diferentes. Proporciona a los desarrolladores de software las herramientas y la tecnología para crear rápida y eficazmente soluciones de negocio que abarcan múltiples aplicaciones y múltiples dispositivos cliente entre diversas organizaciones. Permite a los usuarios controlar qué información y cómo y cuándo se les entrega. La plataforma .NET incluye una completa familia de productos creados para trabajar con los estándares de XML e Internet. Estos productos incluyen los siguientes componentes que trabajan con soluciones basadas en XML:



Herramientas para desarrollar soluciones



Servidores para gestionar, crear e implantar soluciones



Servicios para integrar, conectar y reutilizar soluciones



Clientes hardware y software para proporcionar experiencias sin precedentes a los usuarios

.NET es un evolución del lenguaje Visual Basic, con esta tecnología vienen incluidas nuevas herramientas de gran ayuda para los desarrolladores de software y vamos a dar más énfasis en el desarrollo de aplicaciones para dispositivos móviles ya que es la investigación de esta monografía. En el mundo empresarial el desarrollo de aplicaciones para dispositivos móviles como Pocket PC, PDA y Smartphone ha ido en aumento para los dispositivos que cuentan con alguna versión del sistema operativo Windows Mobile, para nosotros los desarrolladores contamos con .NET 2008 para poder desarrollar aplicaciones de manera sencilla casi de igual manera de como se desarrollaría para una computadora personal. Además de que con la instalación de Visual Basic se instala SQL Server Compact Edition con el cual podemos crear bases de datos para dichos dispositivos.

Capítulo I Introducción

Pero ahí no termina además de que podemos desarrollar páginas web para dispositivos móviles así como aplicaciones orientadas a la web como si se estuviera en la oficina. Con visual Basic 2008 vienen herramientas esenciales para la programación, a continuación se describen las más importantes para el tema de programación para dispositivos móviles.

1.2 .NET FrameWork Es la herramienta más importante ya que .NET FrameWork es la parte fundamental se puede decir que es el corazón de la tecnología .NET. Es el marco de trabajo y ejecución común a toda la tecnología .NET. El .NET FrameWork es un componente de software que se instala en el sistema operativo. Dentro del .NET Framework están integrados los lenguajes .NET (C#, VB.NET, J# ), el CRL, el CLS, ADO.NET, ASP.NET. .NET soporta populares:

varios



C#



VB.NET



C++ controlado



J#



Delphi

lenguajes

de

programación,

siendo

los

más

Todos ellos trabajan perfectamente integrados con el .NET Framework, siendo C# el lenguaje principal, ya que es el único que ha sido desarrollado específicamente para .NET. Gran parte de la biblioteca de clases que componen el Framework están escritas en C#. .NET FrameWork es el conjunto de espacios de trabajo y clases que sirven de base a los lenguajes .NET. Cualquier programa que desarrollemos utilizando la tecnología .NET, independientemente del lenguaje utilizado, estará basado en .NET FrameWork. 1.3 El Common Language Runtime El CLR es el verdadero núcleo del Framework de .Net, ya que es el entorno de ejecución en el que se cargan las aplicaciones desarrolladas

Capítulo I Introducción

en los distintos lenguajes, ampliando el conjunto de servicios que ofrece el sistema operativo estándar Win32. La herramienta de desarrollo compila el código fuente de cualquiera de los lenguajes soportados por .Net en un mismo código, denominado código intermedio (MSIL, Microsoft Intermediate Lenguaje). Para generar dicho código el compilador se basa en el Common Language Specification (CLS) que determina las reglas necesarias para crear código MSIL compatible con el CLR. De esta forma, indistintamente de la herramienta de desarrollo utilizada y del lenguaje elegido, el código generado es siempre el mismo, ya que el MSIL es el único lenguaje que entiende directamente el CLR. Este código es transparente al desarrollo de la aplicación ya que lo genera automáticamente el compilador. Sin embargo, el código generado en MSIL no es código máquina y por tanto no puede ejecutarse directamente. Se necesita un segundo paso en el que una herramienta denominada compilador JIT (Just-In-Time) genera el código máquina real que se ejecuta en la plataforma que tenga la computadora. De esta forma se consigue con .Net cierta independencia de la plataforma, ya que cada plataforma puede tener su compilador JIT y crear su propio código máquina a partir del código MSIL. La compilación JIT la realiza el CLR a medida que se invocan los métodos en el programa y, el código ejecutable obtenido, se almacena en la memoria caché de la computadora, siendo recompilado sólo cuando se produce algún cambio en el código fuente.

1.4 Biblioteca de clases de .Net Cuando se está programando una aplicación muchas veces se necesitan realizar acciones como manipulación de archivos, acceso a datos, conocer el estado del sistema, implementar seguridad, etc. El Framework organiza toda la funcionalidad del sistema operativo en un espacio de nombres jerárquico de forma que a la hora de programar resulta bastante sencillo encontrar lo que se necesita. Para ello, el Framework posee un sistema de tipos universal, denominado Common Type System (CTS). Este sistema permite que el programador pueda interactuar los tipos que se incluyen en el propio Framework (biblioteca de clases de .Net) con los creados por él mismo (clases). De esta forma se aprovechan las ventajas propias de la programación orientada a objetos, como la herencia de clases predefinidas para crear nuevas clases, o el polimorfismo de clases para modificar o ampliar funcionalidades de clases ya existentes.

Capítulo I Introducción

La biblioteca de clases de .Net Framework incluye, entre otros, tres componentes clave:



ASP.NET para construir aplicaciones y servicios Web.



Windows Forms para desarrollar interfaces de usuario.



ADO.NET para conectar las aplicaciones a bases de datos.

La forma de organizar la biblioteca de clases de .Net dentro del código es a través de los espacios de nombres (namespaces), donde cada clase está organizada en espacios de nombres según su funcionalidad. Por ejemplo, para manejar ficheros se utiliza el espacio de nombres System.IO y si lo que se quiere es obtener información de una fuente de datos se utilizará el espacio de nombres System.Data. La principal ventaja de los espacios de nombres de .Net es que de esta forma se tiene toda la biblioteca de clases de .Net centralizada bajo el mismo espacio de nombres (System). Además, desde cualquier lenguaje se usa la misma sintaxis de invocación, ya que a todos los lenguajes se aplica la misma biblioteca de clases. 1.5 ADO.NET Un tema de suma importación es sin lugar a dudas ADO.NET que es un conjunto de clases que exponen servicios de acceso a datos para el programador de .NET. ADO.NET ofrece abundancia de componentes para la creación de aplicaciones de uso compartido de datos distribuidas.

Capítulo I Introducción

Constituye una parte integral de .NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo, como la creación de clientes de base de datos de aplicaciones para usuario y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet. En la actualidad ADO.NET ya es parte del .NET Framework, esto quiere decir que es, de alguna manera, parte del sistema operativo y no más un redistribuible de 4 ó 5 MB que se necesita alojar junto al cliente o junto al instalador de una aplicación. Esto significa que nosotros, como desarrolladores, estaremos enfocados más al acceso a datos y a la lógica para manipular estos datos. La mayoría de las aplicaciones necesitan algún mecanismo de acceso a datos. Disponemos de tres opciones excelentes para obtener acceso a los datos: ADO.NET, ADO y OLE DB. A continuación se detallaran muchos conceptos importantes a cerca de ADO.NET. 1.6 Acceso a datos con ADO.NET ADO.NET es una tecnología de acceso a datos que se basa en los objetos ADO (Objetos de Datos ActiveX) anteriores. Es una manera nueva de acceder a los datos construida sobre ADO. ADO.NET puede coexistir con ADO. También podemos decir que ADO.NET es un conjunto de clases que exponen servicios de acceso a datos al programador de .NET. ADO.NET proporciona un conjunto variado de componentes para crear aplicaciones distribuidas de uso compartido de datos. Forma parte integral de .NET Framework, y proporciona acceso a datos relacionales, datos XML y datos de aplicaciones. ADO.NET es compatible con diversas necesidades de programación, incluida la creación de clientes de bases de datos clientes y objetos empresariales de nivel medio utilizados por aplicaciones, herramientas, lenguajes o exploradores de Internet. ADO.NET utiliza un modelo de acceso pensado para entornos desconectados. Esto quiere decir que la aplicación se conecta al origen de datos, hace lo que tiene que hacer, por ejemplo seleccionar registros, los carga en memoria y se desconecta del origen de datos. ADO.NET es un conjunto de clases que usted utiliza para acceder y manipular orígenes de datos como por ejemplo, una base de datos en SQL Server o una planilla Excel.

Capítulo I Introducción

ADO.NET utiliza XML como el formato para transmitir datos desde y hacia su base de datos y su aplicación Web. Hay 3 espacios de nombres que se importará formulario Windows si está usando ADO.NET:



System.Data.



System.Data.SqlClient.



System.Data.OleDb.

en

un

formulario

Web

o

El modelo de objetos ADO.NET provee una estructura de acceso a distintos orígenes de datos. Tiene 2 componentes principales: El Dataset y el proveedor de Datos .NET 1.7 ACTIVE SERVER PAGES (ASP) .NET La instalación de Visual Studio .NET instala de manera automática el SDK de .NET Framework con el cual también viene incluido el IIS para poder crear y ejecutar nuestras páginas web aspx. Con esta herramienta se pueden desarrollar aplicaciones web robustas y detalladas en poco tiempo, ahora la manera de programar asp .net es como si se desarrollara una aplicación winform arrastrando y soltando los elementos del cuadro de herramientas. ASP.NET es un ambiente de programación construido sobre el entorno NGWS ( New Generation Windows Services, "Servicios de Nueva Generación de Windows" ). ASP.NET ofrece varias ventajas importantes sobre los modelos previos: Mejor Eficiencia: ASP.NET corre código compilado sobre el entorno NGWS en el servidor. Distinto a sus predecesores interpretados, ASP.NET usa amarres tempranos ("early binding"), así como compilación justo a tiempo ("just-in-time compilation"), optimización nativa, y servicios de caché, sin configuración adicional. Para los desarrolladores, esto significa eficiencia dramáticamente superior antes de escribir la primera línea de código. Poder y Flexibilidad: Porque ASP.NET está basado en el Entorno Común de Ejecución de Lenguajes (Common Language Runtime, o "CLR"), el poder y la flexibilidad de la plataforma completa está disponible para los desarrolladores. Las librerías de Clases del CLR, la Mensajería, y las soluciones de Acceso a Datos, son accesibles a través de Internet. ASP.NET permite el uso de una gran variedad de lenguajes de programación y, por tanto, usted puede escoger el mejor lenguaje para su aplicación, o particionar su aplicación en varios lenguajes. Más aún, la interoperabilidad del CLR garantiza que su inversión en el desarrollo de aplicaciones COM es preservada cuando se migra a ASP.NET.

Capítulo I Introducción

Simplicidad: ASP.NET hace fácil el ejecutar tareas comunes, desde el simple envío de un formulario o la autenticación de un cliente, hasta el despliegue y la configuración de un Web. Por ejemplo, el entorno de paginado de ASP.NET le permite construir interfaces de usuario que separan limpiamente la lógica de su aplicación del código de su presentación, y maneja eventos con un modelo sencillo de procesamiento de formularios al estilo de Visual Basic. Adicionalmente, el CLR simplifica el desarrollo con servicios de código gerenciado, como el conteo automático de referencias y la limpieza automática de la memoria utilizada por su aplicación. Gerenciabilidad: ASP.NET usa un sistema jerárquico de configuración, basado en archivos de texto, que simplifica la aplicación de parámetros de configuración al servidor y sus aplicaciones. Porque la información de configuración es almacenada como texto, nuevos parámetros pueden ser configurados sin recurrir a herramientas de administración locales. Esta filosofía de "cero administración local" también se extiende al despliegue de aplicaciones de ASP.NET. Una aplicación de ASP.NET se despliega a un servidor simplemente copiando los archivos necesarios al servidor. No hay que reiniciar el servidor, ni siquiera para reemplazar código compilado que ya está en servicio. Escalabilidad y Disponibilidad: ASP.NET ha sido diseñado para la escalabilidad con características específicamente dirigidas a mejorar el funcionamiento de servidores racimados (clustered) y de servidores con procesadores múltiples. Los procesos del servidor son vigilados y gerenciados por el entorno del ambiente de ejecución de ASP.NET, así que si algún proceso se entorpece o se detiene, un nuevo proceso puede ser creado para reemplazarlo, lo cual ayuda a mantener la disponibilidad de su aplicación para manejar solicitudes de servicio. 1.8 Emulador Windows Mobile El software en los móviles a incrementado día a día y existen diversas herramientas para desarrollarlas, Visual Basic .NET no es la excepción es por eso que ha incluido esa parte para desarrollar aplicaciones para los dispositivos móviles que cuentan con el sistema operativo Windows Mobile. Pero para tener los emuladores con la versión más reciente del Windows Mobile que hasta la realización de esta monografía es la 6, cuenta con dos versiones la estándar para Smartphone y la profesional para PocketPC es necesaria la instalación aparte de la herramienta Windows Mobile SDK. Son esenciales los emuladores ya que podemos estar desarrollando las aplicaciones en ellos y una vez finalizadas las aplicaciones ejecutarlas de manera directa en el dispositivo eso es lo que recomiendan los expertos de Microsoft.

Capítulo II Introducción Dispositivos Móviles

Capítulo II Introducción dispositivos móviles

2.1 Dispositivos Móviles.

La necesidad de una computadora y un servicio de conexión a la red, para poder tener acceso a los servicios y la información disponible en le World Wide Web, se había convertido en una considerable preocupación para las empresas donde los usuarios pedían, cada vez con mayor insistencia, que las nuevas tecnologías permitieran conectarse desde cualquier lugar sin tener la necesidad de una PC. Estos factores contribuyeron a que la industria creara dispositivos móviles con nuevas características, como los teléfonos celulares y los PDA’s o handhelds. El desarrollo de la tecnología ha avanzado rápidamente, los dispositivos móviles se usan cada vez con mayor frecuencia por el público en general, en diversas actividades, en especial en la WEB. Ahora no resulta extraño hallar personas en el metro haciendo llamadas locales o de larga distancia haciendo uso de la telefonía celular, o adelantando algún trabajo con el uso de una laptop. Estos dos ejemplos, comunes para todos, son sólo una muestra de lo que se llama Computación Móvil. Se puede definir la Computación Móvil como la serie de artefactos y equipos portátiles, hardware, que hacen uso de la computación para lograr su funcionamiento, así, se tiene a las computadoras portátiles, los teléfonos celulares, los cuadernos de notas computarizados, las calculadoras de bolsillo, etc. Aunque en la actualidad no son muchas las personas que traen su computadora bajo el brazo, tampoco son raras, y es que la computación móvil ha dejado de ser un instrumento de presunción, para convertirse en un medio de trabajo. Pero eso no es todo: empieza transformarse en el medio de trabajo.

Día a día los dispositivos móviles han tomado un valor agregado en las empresas y en la vida cotidiana, si hace solo algunos años nos hablaran que los dispositivos móviles iban a adquirir tal importancia se hablaría de un gasto muy elevado y de acuerdo a las características de aquel entonces se diría un gasto innecesario, pero en el presente con la gran variedad con la que se cuenta y con el avance tecnológico tanto en hardware y software, se ha tomado como un nuevo paradigma para los desarrolladores de software, ya que contamos con lenguajes para

Capítulo II Introducción Dispositivos Móviles

desarrollar aplicaciones para gran diversidad actualmente de continuación vamos a ver uno a entre ellos y las diferentes mercado para estos dispositivos

dispositivos móviles. Pero se tiene una equipos como Smartphone, PocketPC, PDA. A uno con las características y diferencias plataformas que están presentes en el y las diferentes empresas.

2.2 Personal Digital Asistan (PDA)

Por sus siglas en ingles PDA en español es asistente personal digital, diseñadas originalmente como agendas electrónicas que modernamente son utilizadas como computadoras de mano y que pueden realizar muchas de las funciones que una computadora de escritorio (ver películas, crear documentos, juegos, correo electrónico, navegar por internet, reproducir archivos de audio, etc.) pero con la ventaja de ser realmente portátil. Nos remontamos a los 90´s cuando apareció en los Estados Unidos de Norteamérica presentada por la empresa Apple y este aparato ya contaba con todas las característica de las PDAs modernas, sin embargo el Apple Newton fue un rotundo fracaso para Apple. Con la aparición de la empresa Palm se desarrolló una nueva etapa de crecimiento y desarrollo tecnológico para estos dispositivos. Hoy en día estos dispositivos que podemos encontrar con pantalla táctil para ingresar información, y al menos conectividad infrarrojos, Bluetooth o Wifi y con almacenamiento tanto interno como externo. Estas son algunas de las características que se pueden ver a simple vista aparte podemos tener tanto el sistema operativo que venga integrado y en la parte del Hardware como procesador y memoria RAM. Hoy podemos ver múltiples usos de las PDAs tanto en hospitales, en la educación y hasta en los autos por mencionar algunos usos de estos pequeños pero excelentes dispositivos. Una pda hoy en día trae procesador Intel que corre a 624 lector de huella digital, memoria ROM 128 MB y memoria RAM 128 diferente tamaños de pantalla, colores y resolución de pantalla, sistemas operativos 2 principalmente PALM OS y Windows Mobile. podemos encontrar precios de hasta los 700 dólares.

Mhz, MB, con PDAS

Capítulo II Introducción Dispositivos Móviles

Figura PDA

2.3 Pocket PC

Una computadora de bolsillo. Este se trata de una pequeña computadora diseñada para ocupar el mínimo espacio y pueda ser fácilmente transportada de un lado a otro, que ejecuta el sistema operativo Windows CE o Windows Mobile de Microsoft entre otros con ello obtenemos aplicaciones similares a las de una computadora de escritorio. Microsoft saco su línea al mercado llamándola Palm PC pero por demanda de la empresa Palm se le cambio de nombre como Pocket PC como hasta ahora se le conoce. Dentro de sus características principales podemos encontrar un procesador que corre 624 MHz, memoria RAM de hasta 256 MB, pantalla táctil de diferentes resoluciones y colores. Con un precio estimado de entre los 150 a 200 dólares.

Capítulo II Introducción Dispositivos Móviles

Figura Pocketpc

2.4 Smartphone Para el año 1992 salió el primer teléfono inteligente presentado por la empresa IBM con el nombre de Simón ya con pantalla táctil y aparte de ser teléfono móvil, contenía correo electrónico y enviaba y recibía fax además de que permitía instalar aplicaciones entre sus características que más resaltaron. Ha sido tal el crecimiento que hoy en día los teléfonos son más completos la mayoría trae para acceder a internet a través de este, correo electrónico, juegos, música, videos, etc. Pero lo que más nos enfoca a nosotros y que antes no se menciono es la capacidad de ejecutar aplicaciones como si se tratase de una computadora pero obviamente tanto en PDAs como en PocketPC estas aplicaciones son mucho más completas y complejas. Diferentes compañías están en competencia ofreciendo estos dispositivos para ganar terreno dentro de la telefonía móvil ya que hoy la mayoría de la gente cuenta con un celular. Hoy podemos encontrar en los Smartphones sistemas operativos tan completos como si de una computadora se tratara, existen diferentes sistemas operativos y por ende diferentes aplicaciones dependiendo de la plataforma con la que se cuente. Las características de los SmartPhones si varia demasiado de entre un dispositivo u otro, ya que estos no son características tan generales varían bastante y por consecuencia el precio también. Pero va un rango de precio de 3000 hasta los 10000 pesos.

Capítulo II Introducción Dispositivos Móviles

Figura Smartphone

2.5 Principales Plataformas para Dispositivos Móviles A continuación veremos las plataformas sobresalido en los dispositivos móviles.

más

importantes

que

han

2.5.1 Symbian OS En el año 1998 la empresa Symbian compro la división de software a una coalición de fabricantes de teléfonos móviles. Recientemente, Symbian es una inversión conjunta de Ericsson, Panasonic, Siemens AG, Samsung y Sony Ericsson, la empresa tiene una plantilla de 750 empleados, trabajando en un sistema que es utilizado por 15 licenciatarios en todo el mundo. Altamente flexible, Symbian es un sistema disponible en cuatro versiones: UIQ, Nokia Series 60, 80, 90 y Nokia 9200 Communicator, cuyas características dependen directamente del dispositivo sobre el cual va a funcionar (si es un teléfono móvil o PDA, si tendrá lápiz o teclado, etcétera).

Capítulo II Introducción Dispositivos Móviles

Pero, sin lugar a dudas, son sus ventajas en cuanto a ahorro de memoria y energía las que han convertido a este software en una opción tan particular. Varias funciones especiales le permiten mantener los recursos desocupados al máximo, mientras que el apagar la CPU cuando las aplicaciones no están realizando un proceso le permite conservar las baterías durante semanas, mientras que en circunstancias normales durarían apenas unas horas. Su espectro de programación también es amplio. Hasta la última versión lanzada, el sistema es capaz de ejecutar aplicaciones construidas en C++, OPL, Python, VisualBasic, Simkin, Perl y las versiones de Java, J2ME y Personal Java. En la actualidad Symbian cubre un amplio mercado en los teléfonos inteligentes y gracias a sus capacidades de este sistema operativo hoy en día vendedores de software independiente y organizaciones que están desarrollando aplicaciones basadas en Symbian, principalmente porque por la mejor capacidad de procesamiento y mejores gráficos que pueden desarrollar los nuevos terminales.

2.5.2 Palm OS En 1996, Jeff Hawkins desarrolló la primera versión del sistema operativo Palm para un nuevo producto de la empresa U.S. Robotics, llamado Pilot PDA. Tras ser adquirida por 3Com al año siguiente, la compañía cambió el nombre de su línea por PalmPilot debido a una demanda presentada por la casa de lápices Pilot. Finalmente, los dispositivos terminarían siendo bautizados como Palm, al igual que su fabricante. A partir de entonces, Palm cosechó un éxito tremendo en el mercado de los organizadores digitales. La versión 2.0 del sistema acompañó el lanzamiento de los dispositivos PalmPilot Personal y Professional, mientras que la serie Palm III vio la luz junto a la versión 3.0, cuyas sucesivas actualizaciones proporcionarían compatibilidad con puertos de expansión y nuevos procesadores, así como la posibilidad de tener una pantalla a color. Para la versión 4.0, Palm disponía su línea m500, dando acceso a tarjetas de memoria, telefonía, funciones de seguridad y mejoras en su interfaz. Por último, la versión 5.0 acompañaría a la línea Tungsten T, al tiempo que la empresa se dividía en PalmOne (equipos) y PalmSource (software) para canalizar mejor sus ventas. Para agosto de 2003, el sistema contaba con más de 19 mil aplicaciones disponibles, tanto comerciales como gratuitas.

Capítulo II Introducción Dispositivos Móviles

El lanzamiento de la versión 6.0 del sistema fue secundado por un patrón de desarrollo que auguraba la venida de una versión 6.1 en 2004, llena de nuevas características, por lo que los potenciales licenciatarios decidieron esperar. Y como quien tropieza dos veces, la salida de esa versión también fue acompañada de un patrón que describía la próxima versión 7.0, basada en Linux. Para palm OS podemos crear nuestras aplicaciones en JAVA sin ningún problema, también es posible con el lenguaje de programación C, al igual que es posible desarrollar aplicaciones para palm desde Visual Basic gracias a su kit de desarrollo para Palm OS.

2.5.3 Pocket PC - Windows Mobile Vamos a ver la plataforma que más nos interesa para la elaboración de esta monografía y es sin lugar a dudas propiedad de Microsoft y es que dicha empresa se ha hecho de una gran cuota del mercado desde que arribó al segmento a finales de los 90's. Y como si la gran rivalidad quedase en evidencia desde un principio, ya en el año 2000 la gigante de Redmond era demandada por Palm debido a su intención de bautizar su línea de ataque como 'Palm PC'. El nombre fue cambiado a Pocket PC. Pocket PC es un estándar, un conjunto de normas que Microsoft dicta para que los fabricantes puedan utilizar el nombre en sus productos. Precisamente, para ser considerados estos deben contar con:



Una versión del sistema Windows CE (Recientemente Windows Mobile).



Aplicaciones de fábrica dentro de un chip no modificable (ROM).



Una pantalla táctil.



Un pad direccional o touchpad.



Botones destinados a ejecutar las aplicaciones incorporadas.



Estar basado en los procesadores ARM4 ó Intel XScale.

Conocido en un principio como Windows CE, el sistema operativo acabó llamándose Windows Mobile y, aunque tiene una interfaz muy similar a su hermana a los sistemas operativos de Microsoft, sus aplicaciones no son compatibles. Es que esta versión fue creada específicamente para máquinas con pocos recursos, gracias a un núcleo capaz de funcionar en menos de 1 MB de memoria.

Capítulo II Introducción Dispositivos Móviles

Durante su desarrollo, Windows CE y Windows Mobile han sido implementados en dispositivos Handheld PC (HPC), Pocket PC (PPC), Pocket PC 2002, 2003 y 2003 SE, así como en Smartphones. En Visual Basic .NET podemos crear nuestras aplicaciones para los dispositivos que cuenten con esta plataforma instalada en algún dispositivo móvil. 2.6 Android Es una plataforma libre para teléfonos móviles basados en GNU/Linux y con licencia basada GPL. El anuncio por parte de Google y las compañías líderes mundiales del sector de las telecomunicaciones sobre la creación de Android, el sistema operativo para móviles basado en el núcleo de Linux, ha supuesto el mayor empujón que ha recibido el software libre quizás en toda su historia. Y es que en un sector en el que todavía no hay un monopolio de facto como en el de los ordenadores de escritorio, en el que también se está progresando, la colaboración de Google y los gigantes de las telecomunicaciones van a suponer para Android poder competir en unas condiciones inmejorables contra sus rivales de código cerrado. Creado por la Open Handset Alliance, alianza tecnológica encabezada por Google, acompañada de compañías del nivel de T-Mobile, HTC, Motorola, Telefónica, Samsung, Intel o Nvidia; tiene el respaldo suficiente para tener un éxito seguro y para convertir al software libre en el producto dominante en esta porción del mercado de la tecnología. El potencial de Android no está sólo avalado por las empresas que lo respaldan sino por sus propias características técnicas, basado en el núcleo del kernel 2.4.16 de Linux implementando todos los controladores primarios (Cámara, usb, teclado, etc.) y drivers personales de cada empresa. Y no solo instalado en celulares si no en tablets, Android permite el control de los dispositivos por medio de bibliotecas desarrolladas por Google mediante el lenguaje de programación JAVA. Las librerías de este sistema operativo están basadas en C y C++, expuestas a todos los desarrolladores a través del Framework de las aplicaciones de Android System C library, librerías de medios, librerías de gráficos, 3D, SQlite, etc.

2.7 Conectividad en Dispositivos Móviles Los dispositivos móviles modernos cuentan con uno o varios tipos de conexión como puede ser Wi-fi, infrarrojos o bluetooth, con lo cual se puede tener acceso a otros dispositivos móviles para intercambio de información o conexión con algún servidor, o en caso de conectarnos a alguna red por medio Wi-fi con lo cual podemos tener conexión a cualquier red en el mundo cibernético. Vamos a ver cada una de ellas incluso algunas que ya están obsoletas.

2.7.1 Bluetooth

Capítulo II Introducción Dispositivos Móviles

Bluetooth es un estándar empleado en enlaces de radio de corto alcance, destinado para remplazar el cableado existente entre dispositivos electrónicos como teléfonos celulares, PDA's, computadoras (y muchos otros dispositivos) ya sea en el hogar, en la oficina, en el auto, etc. La tecnología empleada permite a los usuarios conexiones instantáneas de voz y datos entre varios dispositivos en tiempo real. El modo de transmisión empleado, asegura protección contra interferencias y seguridad en el envío de datos. Entre sus principales características, pueden robustez, baja complejidad, bajo consumo y bajo costo.

nombrarse

su

El radio Bluetooth es un pequeño microchip que opera en una banda de frecuencia disponible mundialmente. Pueden realizarse comunicaciones punto a punto y punto multipunto.

2.7.2 WIFI (Wireless Fidelity) Fenómeno que está cambiando la forma en que concebimos Internet. Nos sumergimos en las tecnologías de hoy y del mañana, que tienen como objetivos impulsar el acceso a la red y facilitar el uso cotidiano de dispositivos tecnológicos. La conectividad inalámbrica ya es una realidad que se ha propagado como un virus por todo el mundo, y que continúa expandiéndose a territorios desconocidos. En los últimos tres años la tecnología Wireless ha sido el foco de atención de muchas empresas, especialmente de los proveedores de servicios de Internet, dado que éstos se ven obligados a cambiar sus modelos de negocios.

Capítulo III Programación en Dispositivos Móviles

Capítulo III. Introducción a la Programación en dispositivos móviles con Visual Basic 2008 3.1 Introducción Hace ya varios años que Microsoft disponía de entornos específicos para la programación de dispositivos móviles (sistemas empotrados, PDAs, smartphones, etc.). Se trataba de entornos particulares, exclusivamente para este tipo de programación y que requerían de perfiles de desarrolladores muy concretos y especializados. Teníamos entornos especializados para la programación de aplicaciones Web, integración para office, etc. Obviamente esto representaba un problema, y era que cada programador o diseñador de software debía tener un perfil específico por tipos de aplicaciones, Web, móviles, office, etc. No solo era un problema para los propios programadores que debían conocer múltiples SDKs y sobre todo entornos diferentes, sino sobre todo para las empresas, que no podían reutilizar a sus desarrolladores en diferentes tipos de proyectos.

Otro problema que suponía este paradigma de programación es que a menudo aplicaciones muy similares para diferentes entornos (Web, rico, móviles) o ya incluso para diferentes versiones de los dispositivos móviles (Windows CE) requerían ser codificadas por separado, pudiéndose reutilizar poco código entre todas ellas.

Y aquí es donde entró en juego .NET ya que tenía justamente esta visión, un entorno de desarrollo único, independientemente del tipo de aplicación (rica, Web, móvil, etc.) y que permitiese poder ejecutar el mismo código en diferentes dispositivos.

Pero apareció el .NET Framework, una capa de abstracción entre el hardware del dispositivo y el código fuente, que permitía aislar al programador del tipo de hardware y sistema para el que se codificaba en la mayor medida de lo posible. Toda aplicación .NET requiere por lo tanto este Framework instalado en la máquina

Independientemente del lenguaje que usemos en Visual Studio, todos generan lo que se conoce como Código Intermedio (IL Code). Este es el

Capítulo III Programación en Dispositivos Móviles

código que se compila en tiempo real por el .NET Framework y luego es ejecutado en última instancia directamente sobre el procesador. Visual Studio 2008 ha dado un gran paso adelante, un nuevo hito en las herramientas de desarrollo de Microsoft. Consiguiendo un entorno único para todo tipo de aplicaciones.

3.2 Requisitos Previos

Lo primero que necesitamos para este tipo de desarrollos es Visual Studio 2008. A medida que van apareciendo nuevos dispositivos solo necesitamos descargar el SDK para actualizar Visual Studio. Por ejemplo, podemos descargar el SDK para Windows Mobile 5.0 Smartphone o Pocket PC. Otro requisito es ActiveSync o el centro de dispositivos de Windows Mobile incluido en Windows vista y Windows 7, este el módulo que permite la conexión y sincronización desde una PC con un dispositivo móvil. Todo el desarrollo que hagamos podemos usar un dispositivo físico conectado al PC a través de ActiveSync o uno de los emuladores que vienen por defecto con Visual Studio o se instalan con las SDKs correspondientes de cada nuevo sistema. Estos emuladores utilizan la tecnología de virtualización y contienen una imagen binaria del Sistema Operativo original, con lo cual la compatibilidad con el dispositivo físico real es del 100%. Independientemente del tipo de dispositivo que escojamos veremos como en tiempo real podremos hacer el despliegue de la aplicación al mismo y depurar la ejecución en el dispositivo desde nuestro Visual Studio en la computadora. Exactamente como si de una aplicación rica se tratase, sin nada nuevo para el programador. Para la realización de este documento trabajaremos con la versión Windows Mobile 6.0 Smartphone, pero todo puede extrapolarse a otras versiones de nuestros sistemas para movilidad basados en Windows CE. La interfaz gráfica que nos presenta Visual Studio 2008 para la programación para dispositivos móviles es la misma que para generar una aplicación Windows Presentation Foundation la cual apunta a la creación de interfaces de usuario más dinámica, la principal gran diferencia es que en la interfaz para el entorno de dispositivos móviles depende del entorno que seleccionemos del dispositivo en base a esto se cargan los componentes en la barra de herramientas que soporta dicho dispositivo o sistema operativo y a su ves tiene que ver si el móvil tiene pantalla táctil o no, eso carga también diferentes componentes.

Capítulo III Programación en Dispositivos Móviles

En la siguiente imagen se muestra el entorno de programación para móvil seleccionando la versión de Windows Mobile 6 estándar y nos carga el emulador que se muestra.

Realmente no existe una diferencia significativa la superficie de dibujo es un Smartphone, pero su barra de herramientas sigue estando ahí, las propiedades, depuración, etc. Es el mismo modelo de programación. Basta con arrastrar elementos para empezar a desarrollar aplicaciones en el dispositivo. Los dispositivos con pantalla táctil pueden usar los botones comunes para realizar acciones y los dispositivos con pantalla normal funcionan a base de menús usando obviamente el teclado esa es una gran diferencia a la hora de programar. Cuando se ejecuta una aplicación podemos escoger si queremos usar un emulador o un dispositivo con el sistema operativo Windows Mobile o Windows CE dependiendo en donde vamos a instalar la aplicación. Si escogemos ejecutar la aplicación en un emulador nos aparece un dispositivo como se muestra en siguiente imagen

Capítulo III Programación en Dispositivos Móviles

Hasta aquí vimos las opciones básicas del entorno de programación para dispositivos móviles. Si tenemos ya una aplicación con un buen diseño donde la lógica de negocio son librerías de componentes con código de negocio exclusivamente (cálculos, acceso a base de datos, etc.) podremos utilizar dicho ensamblado teniendo en cuenta que el dispositivo ejecuta un subconjunto del Framework, así que siempre y cuando el código que contenga esté soportado podrá funcionar sin cambios. Si este código solo contiene Lógica de Negocio es muy probable que sea compatible, si por el contrario hemos insertado código de presentación, o Aplicaciones de Windows estas funciones obviamente no se encontrarán en el Compact Framework.

3.3 Entorno de programación para móviles en Visual Basic .net 2008 Al mismo tiempo que evolucionaba el lenguaje, las herramientas que Microsoft proporciona para programar también evolucionaban para adaptarse a las novedades. Visual Studio .NET (2002). Visual Studio .NET se publicó en 2002 y fue la primera versión de Visual Studio en introducir el Framework .NET. Esta versión de Visual Studio introdujo, junto con el Framework .NET tres nuevos lenguajes de programación, C#, VB.NET y Visual J#.

Capítulo III Programación en Dispositivos Móviles

En esta primera versión de Visual Studio .NET se podían programar aplicaciones Windows.Forms (aplicaciones de escritorio) y aplicaciones ASP.NET (Aplicaciones Web).

Visual Studio .NET 2003. Visual Studio .NET 2003 se publicó en 2003 fue una actualización menor de Visual Studio .NET, básicamente propiciada por la introducción de la versión 1.1 del Framework .NET. En esta versión se añadió por primera vez la posibilidad programar para dispositivos móviles usando .NET, ya fuera usando Compact Framework, o ASP.NET

de el

Visual Studio 2005. Publicado el 4 de octubre de 2005, se basó en el Framework .NET 2.0. Añade soporte de 64-bit (x86-64: AMD64 e Intel 64, e IA-64: Itanium) Ediciones: Express, Standard, Professional, Tools for Office, y 5 ediciones Visual Studio Team System (Architects, Software Developers, Testers, y Database Professionals) La versión interna de Visual Studio 2008 es la 8.0, mientras que el formato del archivo es la 9.0. Visual Basic Express Edition. A partir de la introducción en el mercado de la versión 2008 de Visual Studio Microsoft publicó lo que se conoce como ediciones Express de distintos programas. Las versiones Express son versiones limitadas pero gratuitas, pensadas para usos no profesionales (principiantes, aficionados y pequeños negocios), existiendo una edición independiente para cada lenguaje. Visual Basic Express Edition es una versión de Visual Studio limitada. Esta versión permite sólo programar en VB.NET, y además limita el tipo de proyectos que se pueden desarrollar. Visual Web Developer Express Edition permite programar páginas ASP.NET en VB. Se lanzó el service Pack 1 para Visual Studio 2008 el 14 de diciembre de 2006. Visual Studio 2008.

Capítulo III Programación en Dispositivos Móviles

Gracias al creciente mercado de las PDAs y Smartphones se requieren cada vez más aplicaciones que cubran las necesidades de los usuarios de este tipo de tecnología. Básicamente el entorno de programación de visual studio 2008 se basa en dos principales tecnologías la primera es Embedded Visual Tools que son un conjunto de SDKs para los dispositivos antes mencionados y que incluyen Embedded Visual Basic y Embedded Visual C++ totalmente compatibles con Windows CE, esta herramienta se viene incluida en la tecnología .NET o en su caso si no queremos instalar por cualquier razón Visual Studio completo se puede instalar solo la herramienta y no se requiere ningún tipo de licencia y se puede descargar de forma gratuita desde el sitio oficial de Microsoft. La segunda herramienta que tiene que ver directamente con el entorno de desarrollo de Visual Studio 2008 para Windows CE es el Managed Device Emulator en su versión 3.0, actualizada ya con soporte para versiones nuevas de Windows CE, esta herramienta es un conjunto de archivos para emulador y dispositivos reales. Esta herramienta pieza fundamental para la comunicación entre ActiveSync y los emuladores en esta herramienta recae la responsabilidad de conexión y desconexión entre ambos, esta herramienta también instalada con el Visual Studio y el cual ofrece una cantidad de emuladores con características mejoradas y nuevas. Gracias a las nuevas mejoras de esta herramienta se puede tener un intercambio de archivos bidireccional entre el PC y PDA. La resolución de las pantallas en los dispositivos a aumentado y por lo tanto en los emuladores también, son muy novedosos los emuladores ya que el realismo en sus periféricos es excelente por ejemplo ofrece 3 puertos com así como simulación de disponibilidad de batería y demás. El Managed Device Emulator es una pieza fundamental para la comunicación entre el ActiveSync y los emuladores ya que en ella recae la responsabilidad de conexión y desconexión entre ambos. Podemos conectar, enlazar, desconectar, eliminar y gestionar estados. Dentro del entorno de programación que maneja Visual Studio 2008 viene el panel de controles que son objetos que disponen de sus propias propiedades y métodos, y cuya utilidad es la de facilitar el desarrollo de aplicaciones. Se pueden tener los objetos básicos que son habitualmente: los botones de comando, las cajas de texto, las etiquetas, los botones de opción, etc. Los objetos y controles que el Visual Basic carga son los que por defecto pueden incluirse en el dispositivo y estos aparecen en la caja de herramientas, dependiendo del modelo del sistema operativo Compact Edition se cargan más controles y objetos en dicha caja.

Capítulo III Programación en Dispositivos Móviles

Otra parte importante que se carga es la tradicional barra de propiedades de los controles u objetos que tengamos cargados al momento de estar programando alguna aplicación. Dicho control nos da las características particulares para de los controles que los diferencian unos de otros. Las propiedades más generales son forma, color, tamaño, etc. Los valores de las propiedades de un control seleccionado se almacenan dentro de cada control o formulario en forma de estructura. Algo que no creando y en el diversos recursos va diseñando como

falta dentro del entorno son los formularios que se van cual se va viendo el diseño de la aplicación con los que se vallan incluyendo, es de gran utilidad ya que se se mostraría la aplicación en el dispositivo.

3.4 Ejemplo de Programación

Vamos a ver dos ejemplos prácticos el famoso Hola Mundo de todos los lenguajes de programación y aparte uno que calcule el promedio de 3 calificaciones introducidas en una caja de texto y mediante un botón realice el cálculo. Como primer paso para realizar el hola mundo una vez abierto nuestro entorno de programación Visual Basic .NET 2008 es crea un proyecto nuevo como se muestra en la imagen que a continuación se presenta, en la pantalla que nos muestra cuando ponemos proyecto nuevo escogemos SmartDevice y seleccionar el Framework de los que tenemos instalados. Además de ponerle el nombre a nuestro proyecto que para este ejemplo se llamara Hola Mundo y le dan en el botón ok.

Capítulo III Programación en Dispositivos Móviles

Una vez que pasamos la ventana anterior inmediatamente aparece una nueva pantalla en la cual elegiremos la plataforma para nuestro dispositivo en el cual se va a ejecutar el hola mundo. Y damos clic en ok.

Visual Basic carga nuestro entorno de programación para empezar a realizar nuestra aplicación.

Capítulo III Programación en Dispositivos Móviles

Vemos del lado izquierdo de la imagen la caja de herramientas con todos los componentes que podemos usar en nuestra aplicación tan solo seleccionando el control o componente, arrastrarlo a nuestro proyecto y soltarlo. En el ejemplo tenemos dos botones y una etiqueta que es donde vamos a mandar la leyenda “Hola Mundo”.

Una vez que ejecutamos el programa nos manda una pantalla en donde tenemos que seleccionar en donde vamos a ejecutar la aplicación si en algún dispositivo conectado o en el emulador, para estos dos ejemplos

Capítulo III Programación en Dispositivos Móviles

seleccionaremos que se ejecute en el emulador dando como resultado lo que nos muestra la siguiente imagen.

Quedando un simple código de la siguiente manera: Public Class Form1 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() 'cerramos la aplicación End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Label1.Text = "Hola mundo!" 'en esta linea se manda el texto "Hola Mundo" a la etiqueta End Sub End Class

Para la segunda aplicación que es calcular el promedio de tres calificaciones pidiendo al usario que introduca las 3 calificaciones en cajas de texto la aplicación quedo de la siguiente manera.

Capítulo III Programación en Dispositivos Móviles

El código de la aplicación es el siguiente:

Public Class Form1 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() 'cerramos la aplicación End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim prom As Double 'declaramos una variable de double prom = (Double.Parse(TextBox1.Text) + Double.Parse(TextBox2.Text) + Double.Parse(TextBox3.Text)) / 3 'se le asigna a la variable prom lo que traen las cajas de texto 'pero antes se convierte de cadena a un numero de tipo Double TextBox4.Text = prom End Sub End Class Para poder realizar estos programas es necesario el Visual Basic .NET,los SDKs para poder ejecutar los emuladores de las versiones de los sistemas operativos Windows Compact Edition o Windows Mobile, y si se quieren ejecutar en el dispositivo hay que realizar una sincronizacion de la PC con el dispositivo movil. 3.5 Uso de conectividad

Capítulo IV Base de Datos para Dispositivos Móviles

Capítulo IV Bases de datos para dispositivos móviles 4.1 Introducción El uso de computadoras portátiles, teléfonos móviles y PDA está aumentando y es probable que aumente en el futuro con más y más aplicaciones que residen en los sistemas móviles. Es evidente que en el futuro un gran porcentaje de aplicaciones requerirá el uso de una base de datos de algún tipo con la capacidad de descargar información de un repositorio de información y actuar sobre esta información aun cuando esté desconectado. Una base de datos móvil es una base de datos que puede ser instalada en un dispositivo de computación móvil a través de una red móvil. El cliente y el servidor tienen conexiones inalámbricas. La memoria caché se mantiene para almacenar los datos frecuentes y transacciones de manera que no se pierdan debido a un fallo de conexión. Una base de datos es una forma estructurada de organizar la información. Esto podría ser una lista de contactos, información de precios o la distancia recorrida. Un ejemplo de esto es una plantilla de trabajadores con bases de datos móviles. En este escenario el usuario requeriría poder acceder y actualizar la información de los archivos en los directorios de inicio de un servidor o cliente de registros de una base de datos. Este tipo de acceso y carga de trabajo generada por dichos usuarios es diferente de las cargas de trabajo tradicionales visto en los sistemas cliente servidor de hoy. Las bases de datos móviles permiten a los empleados introducir datos sobre la marcha. La información puede ser sincronizada con una base de datos de servidor posteriormente. 4.2 Origen Los sistemas de base de datos surgen a finales del siglo XIX, y fueron desarrollados a partir de la necesidad de almacenar grandes cantidades de datos. Hay que destacar la figura de Herman Hollerit, quien fue denominado el primer ingeniero estadístico de la Historia, puesto que construyó la llamada “Máquina Automática Perforador de Tarjeta” capaz de realizar el censo de los Estados Unidos en solo 3 años. Con esto, ahora se podían obtener importantes datos referentes a la población. Desde ese momento los sistemas de bases de datos van evolucionando y se produce una evolución de soportes direccionados con una mayor capacidad, y un menor coste. Lo mismo ocurre con las necesidades de almacenar diversos tipos de datos como documentos, archivos, por lo que van surgiendo BD distribuidas y paralelas, o las BD orientadas a objetos. Llegado el siglo XXI y en respuesta a las nuevas necesidades de asequibilidad y eficiencia surgen las Bases de Datos Móviles. En los últimos años los grandes avances en la tecnología de comunicaciones inalámbricas han dado origen a dispositivos en forma de ordenadores portátiles, PDAs o algunos otros dispositivos con acceso a

Capítulo IV Base de Datos para Dispositivos Móviles

Internet. Si a esto le unimos la rápida distribución de las comunicaciones, ya sea de accesos desde teléfonos móviles, conexiones inalámbricas o vía satélite, podemos tener acceso a todo tipo de información desde prácticamente cualquier sitio y en cualquier momento. Esto resulta muy cómodo y ventajoso, ya que en algunos casos el usuario de un dispositivo móvil puede conectarse a un servidor de base de datos corporativos gracias a los agentes móviles y trabajar allí con los datos mientras que en otros el usuario puede descargar los datos y trabajar con ellos en un dispositivos móvil, es decir, varias aplicaciones pueden tener acceso simultaneo a la información compartida. Esta característica permite a los usuarios estar en una sincronización con la base de datos corporativa en diferentes ubicaciones geográficas. Por todo esto, podríamos definir una base de datos móvil como una base de datos portable y físicamente independiente del servidor corporativo de bases de datos, pero que es capaz de comunicarse con ese servidor desde sitios remotos, permitiéndose el compartir los datos. 4.3 Arquitectura BBDD Móvil La arquitectura general de una plataforma móvil es un modelo distribuido formado por computadores fijos, estaciones base y unidades móviles. Los computadores fijos son computadores de uso general que no disponen de medios para comunicarse con las unidades móviles. Las estaciones base disponen de enlaces inalámbricos para conectar con las unidades móviles; son máquinas que actúan de intermediarios entre las unidades móviles y los computadores fijos. Los computadores fijos y las estaciones base están interconectados por medio de una red fija (cableada) de alta velocidad. Las unidades móviles se conectan a las estaciones base mediante enlaces inalámbricos; los enlaces más comunes son el estándar 802.11 (Wi-Fi), el servicio GPRS y la tecnología Bluetooth.

Las unidades móviles se pueden mover libremente por un espacio conocido como dominio de movilidad geográfica, cuyo alcance está determinado por la cobertura de los enlaces inalámbricos. Este dominio se divide en dominios más pequeños llamados celdas. Cada celda es controlada por una estación base. El movimiento de las unidades móviles dentro del dominio de movilidad geográfica no debe estar restringido, es decir, se debe garantizar el acceso a la información aunque las unidades móviles se muevan entre las celdas.

Capítulo IV Base de Datos para Dispositivos Móviles

4.4 Sistemas Gestores de Bases de Datos móviles Muchos fabricantes ofrecen SGBD móviles capaces de comunicarse con los principales SGBD relacionales. Estos SGBD móviles están adaptados a los recursos limitados de las unidades móviles y proporcionan una serie de funcionalidades adicionales: 

Comunicación con el servidor centralizado de base de datos mediante técnicas de comunicación inalámbrica.



Replicación de datos en el servidor centralizado de base de datos y en el dispositivo móvil.



Sincronización de datos entre el servidor centralizado de base de datos y el dispositivo móvil.



Gestión de datos en el dispositivo móvil.



Análisis de los datos almacenados en el dispositivo móvil.

Algunos ejemplos de Sistemas Gestores de bases de datos móviles son: iAnywhere Solutions, empresa filial de Sybase, lidera el ranking del mercado de bases de datos móviles gracias a SQL Anywhere. Este paquete proporciona bases de datos que pueden utilizarse tanto a nivel de servidor (soporta máquinas de hasta 64bits) como a nivel de dispositivo móvil. SQL Anywhere se compone de las siguientes tecnologías: 

SQL Anywhere Server: sistema gestor de bases de datos relacionales para los sistemas de bases de datos móviles.



Ultralite: sistema gestor de bases de datos que puede embeberse en dispositivos móviles.



Mobilink: tecnología de sincronización para el intercambio de datos entre bases de datos relacionales y bases de datos no relacionales.

Capítulo IV Base de Datos para Dispositivos Móviles



QAnywhere: facilita el desarrollo de aplicaciones móviles robustas y seguras.



SQL Remote: permite a los usuarios de dispositivos móviles sincronizar sus datos con otras bases de datos SQL Anywhere.

DB2 Everyplace de IBM es una base de datos relacional y un servidor de sincronización que permite extender las aplicaciones y los datos empresariales a dispositivos móviles. Gracias a un consumo de recursos reducido, esta base de datos puede integrarse en dispositivos como PDAs y teléfonos móviles. Microsoft también ofrece una base de datos para dispositivos móviles. Se trata de Microsoft SQL Server Compact Edition, un motor de bases de datos que permite desarrollar aplicaciones en cualquier plataforma Windows incluyendo Tablet PCs, Pocket PCs, SmartPhones y equipos de escritorio. Oracle Database Lite 10g es la solución de Oracle para desarrollar aplicaciones en entornos móviles. Proporciona un cliente que permite la realización de consultas SQL para acceder a los datos locales del dispositivo y un servidor para gestionar los datos de forma centralizada. Otros productos menos utilizados son Borland’s JDataStore, una base de datos Java para dispositivos móviles y aplicaciones Web, o MobiSnap, un proyecto de investigación cuyo objetivo es soportar el desarrollo de aplicaciones con bases de datos relacionales en entornos móviles.

4.5 Ejemplos de BD Móviles La plataforma Java Micro Edition (Java para dispositivos móviles, J2ME) incluye un mecanismo de almacenamiento de datos llamado Record Management System(RMS).  Base de datos formada por almacenes de registros (Record Store).  Un almacén de registros es un conjunto de registros. 

Un registro es un conjunto de bytes.

Capítulo IV Base de Datos para Dispositivos Móviles

Problemas:



Un almacén de registros sólo puede ser utilizado por el programa que lo crea.



No tiene lenguaje de manipulación de datos.



Sólo permite guardar y recuperar bytes.

descripción

de

datos

ni

lenguaje

de

4.6 Aplicaciones móviles y tipos de datos Las aplicaciones móviles se categorías:  Aplicaciones verticales  Aplicaciones horizontales

clasifican

en

las

dos

siguientes

En las aplicaciones verticales, los usuarios acceden a los datos en una celda específica; fuera de la celda los datos no están disponibles. Un ejemplo de aplicación vertical es la obtención de información sobre las plazas libres de un determinado estacionamiento público. En las aplicaciones horizontales, los datos están distribuidos por todo el sistema, y los usuarios pueden acceder a ellos desde cualquier celda. La aplicación horizontal más común es el acceso al correo electrónico.

Los datos se clasifican en tres categorías:   

Datos privados: pertenecen a un usuario y sólo él puede acceder a ellos y manejarlos. Por ejemplo, los datos del perfil de un usuario de cualquier aplicación que gestione datos personales. Datos públicos: pueden ser consultados por cualquier usuario, pero sólo pueden ser modificados por una única fuente. Por ejemplo, los datos de las cotizaciones de la bolsa. Datos compartidos: pueden ser accedidos por un grupo determinado de usuarios, quienes tienen permisos para leerlos y para escribirlos. Por ejemplo, los datos de seguros de una compañía aseguradora que vende productos utilizando agentes comerciales.

4.7 Tipos Modernamente estamos comprobando cómo los diferentes tipos de bases de datos móviles tienen un gran auge. Debido principalmente al desarrollo de las comunicaciones inalámbricas y a los ordenadores portátiles o laptop, PDAs, teléfonos móviles o celulares, y cualquier otro aparato de similares características. Este enorme desarrollo de los tipos de bases de datos móviles es debido al auge que tienen actualmente las redes inalámbricas y las comunicaciones vía satélite, lo que permite el poder acceder a datos desde prácticamente cualquier sitio. Los usuarios se pueden acceder a este tipo de bases de datos móviles desde cualquier punto fuera de la empresa, por ejemplo si están visitando a un cliente y necesitan un

Capítulo IV Base de Datos para Dispositivos Móviles

listado de precios poder acceder al último y más actual de todos. Una base de datos es el conjunto de datos o información de contenido similar almacenados de forma ordenada para su posterior uso. Y una base de datos móviles sería una base de datos portable y físicamente independiente del servidor corporativo que nos la suministra, y que nos permite comunicarnos con ella desde cualquier lugar remoto compartiendo su información. Los tipos de bases de datos móviles son a grandes rasgos:  Las bases de datos móviles de las diferentes empresas o bases de datos corporativas móviles.  Las bases de datos móviles que se crean a través de los teléfonos móviles.  Las bases de datos móviles que son consecuencia de las comunicaciones inalámbricas generadas por los ordenadores portátiles, PDAs u otro aparato que tenga acceso a Internet.

4.8 SQL SERVER COMPACT Microsoft SQL Server Compact (SQL Server CE) es un motor de base de datos relacional, de libre descarga y distribución, tanto para dispositivos móviles como para aplicaciones escritorio. Especialmente orientada a sistemas ocasionalmente conectados, ofrece unas características especialmente útiles para clientes ligeros. La versión más reciente es SQL Server Compact 4.0. Anteriormente era conocida como SQL Server CE o SQL Server Mobile. Desde la versión 2.0, el lanzamiento de SQL Server Compact ha ido ligado al de Microsoft Visual Studio .NET. Recientemente, Scott Guthrie, Vice-presidente Corporativo de la División de Desarrollo de Microsoft, anunció el lanzamiento de SQL Server Compact 4.0 con novedades relacionadas principalmente al desarrollo de aplicaciones ASP.NET. 4.8.1 HISTORIA Fue presentada por Microsoft en el año 2001 como SQL Server CE 1.0 para ofrecer almacenamiento relacional y sincronización de aplicaciones móviles Pocket PC 2002 desarrolladas con Embedded Visual Basic y Embedded Visual C++ con sistemas SQL Server 2000. Junto con la aparición de Visual Studio .NET 2003 y con ello .NET Compact Framework 1.1 se presentó SQL Server CE 2.0 y System.Data.SqlServerCe.dll como interfaz de desarrollo para aplicaciones .NET Compact Framework junto a la interfaz de desarrollo para aplicaciones nativas. En noviembre del 2006, junto al lanzamiento oficial de Visual Studio .NET 2005 y SQL Server 2005, Microsoft lanza la versión 3.0 renombrada a SQL Server Mobile 3.0. Tras esta versión aparecen nuevas características y funcionalidades como el acceso simultáneo, soporte

Capítulo IV Base de Datos para Dispositivos Móviles

transaccional o la integración con Visual Studio .NET y SQL Server Management Studio. Hasta la fecha, SQL Server CE no ofrecía ningún tipo de herramientas de administración más que la Query Analyzer para Windows Mobile. Meses más tarde se anuncia una nueva versión bajo el nombre en clave SQL Server Everywhere la cual ofrecía soporte multiplataforma para sistemas operativos basados en Windows CE y Windows 32/64 bits. Dicha edición fue lanzada oficialmente bajo el nombre SQL Server Compact 3.1. SQL Server Compact 3.5 SP1 fue presentada junto a Visual Studio 2008.NET SP1. 4.8.2 CARACTERÍSITCAS Una base de datos SQL Server Compact, a diferencia de una base de datos SQL Server que se expone como un Servicio Windows, se ejecuta bajo en proceso de la aplicación que la consume (in-process). El tamaño máximo del archivo de base de datos es de 4 Gb. y la extensión por defecto es .sdf la cual puede ser modificada. El nombre de la base de datos está limitado a 128 caracteres. En cuanto a limitaciones destacar que el número máximo de tablas por base de datos es de 1024 con un tamaño máximo por registro de 8060 bytes con un tamaño por página de 4 Kb. y 2 Gb. para campos BLOB. SQL Server Compact posee un motor de base de datos así como un procesador y un optimizador de consultas especialmente diseñado para entornos móviles. Soporta un subconjunto de tipos de datos y de sentencias T-SQL de SQL Server y entre las últimas novedades de la versión 4.0 se encuentran:



Consultas jerarquizadas con SELECT FROM



Instrucciones CROSS APPLY y OUTER APPLY



Instrucción CAST y DECIMAL



SET IDENTITY INSERT



Instrucción TOP

Respecto a los tipos de datos únicamente soporta tipos de datos de (nchar, nvarchar, ntext).

de texto, SQL Server cadena compatibles con

Compact Unicode

A nivel de seguridad SQL Server Compact 4.0 ofrece la posibilidad de cifrado del fichero de base de datos con una contraseña de acceso restringida a un máximo de 40 caracteres ofreciendo tres tipos de modos de cifrado:

Capítulo IV Base de Datos para Dispositivos Móviles



Platform Default (Por defecto)



Engine Default



PPC2003 Compatibility

Existe una única base de datos temporal por sistema la cual es imprescindible para llevar a cabo, por ejemplo, operaciones ORDER BY. Su creación es implícita si no se especifica lo contrario en la cadena de conexión. En entornos de ejecución bajo plataforma Windows 32/64 bits, SQL Server Compact soporta transacciones ligeras a través de contextos transaccionales administrados por LTM (Lightweight Transaction Manager) expuestos desde la versión .NET Framework 2.0 a través del espacio de nombres System.Transaction. Para plataformas Windows CE podemos hacer uso de las sentencias BEGIN, COMMIT y ROLLBACK TRANSACTION de T-SQL así como a través del objeto SqlCeTransaction expuesto en el espacio de nombres System.Data.SqlServerCe. Ponemos total énfasis en SQL Server Compact ya que será nuestro motor de base de datos para la realización del programa final que tiene que manejar datos de una escuela que tienes nivel secundaria y bachillerato.

Capítulo V Programación de una aplicación con Base de datos sobre un dispositivo móvil

Capítulo V Programación de una aplicación con Base de datos sobre un dispositivo móvil

5.1 PLANTEAMIENTO DEL PROBLEMA Hasta el día de hoy el control escolar de la escuela “Montañez Centro Educativo Acambarense” lleva su control escolar usando Microsoft Access para almacenar la información dando problemas desde la manera de usarlo y la captura de calificaciones es errónea dando problemas a la institución a la hora de entrega de calificaciones así como a la hora de generar los reportes, y errores de promedios al final del ciclo. Al analizar el software en reunión con el órgano colegiado del plantel se llegó al acuerdo de realizar un nuevo software de control escolar en los dos niveles a nivel secundaria y nivel bachillerato dado que el colegio ofrece educación en estos niveles. En la actualidad han surgido y actualizado herramientas de desarrollo como los lenguajes de programación y manejadores de base de datos, en el colegio la plataforma es Windows en sus diferentes versiones XP, Vista, 7. Se adapta a la realización de esta monografía ya que se usara Visual Basic .NET 2008 y como manejador de base de datos SQL server en su versión normal y en la versión para dispositivos con plataforma Windows Mobile que es SQL Server Compact.

5.2 INTRODUCCIÓN Después de realizar un análisis de las necesidades de los profesores para realizar una captura y entrega de calificaciones en tiempo y forma, en la escuela “Montañez Centro Educativo Acambarense” en la ciudad de Acámbaro en el estado de Guanajuato, se llegó al acuerdo de realizar un Software con las siguientes características:



Que el programa permita la captura de calificaciones por maestro, por grupo y por materia en cualquier lugar sin restricción de horario y día.



También que el docente tenga la posibilidad de crear reportes para los alumnos y que se entreguen al personal correspondiente sin que el maestro explique de manera verbal en primera instancia que el programa se sincronice ya sea al término de cada clase o en el horario en el que tanto maestro como coordinador estén disponible para la descarga de reportes.

Capítulo V Programación de una aplicación con Base de datos sobre un dispositivo móvil



Generar promedios de calificaciones mensualmente o bimestralmente según las necesidades del maestro, nivel, grupo o materia.



Dar de alta y baja de alumnos así como la posibilidad de pasar lista en el dispositivo.



Sincronizar los dispositivos con la computadora central para que se vacíen calificaciones y se generen las boletas y reportes para entrega de calificaciones. 5.3 5.4 5.5 5.6 5.7 5.8

ANTECEDENTES OBJETIVO JUSTIFICACIÓN IMPLEMENTACIÓN DEL SOFTWARE PRUEBAS Y RESULTADOS CONCLUSIONES

BIBLIOGRAFÍA: http://larevistainformatica.com/tipos-de-bases-de-datos-moviles.htm http://www.forosdelweb.com/f21/bases-datos-moviles-126407/ http://modelobdpnfi.wordpress.com/2010/04/14/bases-de-datos-federadasbases-de-datos-moviles/ http://en.wikipedia.org/wiki/Mobile_database

Capítulo V Programación de una aplicación con Base de datos sobre un dispositivo móvil