Sei sulla pagina 1di 17

Tecnologa Movil J2ME

TEMAS:
ALMACENAMIENTO DE REGISTROS EN J2ME
EVENTOS DE CONEXION
CLASES DE CONEXION
MANTENIMIENTO EN GESTOR DE BADE DATOS j2me
TECNOLOGIA API EN J2ME
METODOLOGIA MVC

INTRODUCCIN
El almacenamiento de datos en aplicaciones mviles se pueden
almacenar datos, estos datos son almacenados en lo que se llama
Records, un Record o registro es un dato individual de cualquier tipo de
dato (string, array, imagen, etc.), para utilizar esta capacidad entra el
concepto de Record Management System (RMS) Sistema Administrador
de Registros, que no es ms que el objeto que nos provee el
almacenamiento y asigna un identificador nico, algo importante es que
un record o registro no es lo mismo que los RMS.
Con el lanzamiento de J2ME en 1999, se introdujo una alternativa para el
desarrollo de aplicaciones en dispositivos mviles. Para la administracin
de datos se han desarrollado diversos SMBD para ambientes mviles
como plataformas cliente/servidor y aplicaciones embebidas, tales como
PointBase Micro, escrito completamente en Java y optimizado para J2ME
y J2SE, SQL Anywhere Studio Ultralite de Anywhere Solutions, Oracle
Database Lite, IBM DB2 Everyplace y Microsoft SQL Server Compact
Edition. Por otro lado existen tambin tres bases de datos para telfonos
mviles en J2MEEstas tres soluciones son:
PointBase Micro,
SimpleOODBMS,Perst LiteBertiente que mencionaremos en la exposicin.

ALMACENAMIENTO DE REGISTROS
I.-OBJETIVOS

MIDP define una sencilla base de datos orientada a


registros que permite almacenar a las aplicaciones datos de
forma persistente. Esta base se denomina Record
Management System (RMS) Sistema Administrador de
Registros.

Esta trabajo tiene como objetivo aprender los conceptos


bsicos para el manejo de esta base datos, a travs del API
que nos ofrece MIDP. Todas las clases relacionadas con
RMS
estn
contenidas
en
el
paquete
javax.microedition.rms.

II.- ALMACENAMIENTO RMS


Un dispositivo mvil (al menos por ahora) no dispone de disco duro
donde almacenar informacin permanentemente. J2ME resuelve el
problema mediante el RMS (Record Management System). RMS es
un pequeo sistema de bases de datos muy sencillo, pero que nos
permite aadir informacin en una memoria no voltil del mvil.
RMS no tiene nada que ver con JDBC debido a las limitaciones de
los dispositivos J2ME, por lo tanto, el acceso y almacenamiento de
la informacin se hace a mucho ms bajo nivel. RMS no puede ser
consultado con sentencias SQL ni nada parecido. En una base de
datos RMS, el elemento bsico es el registro (record). Un registro es
la unidad de informacin ms pequea que puede ser almacenada.
Los registros son almacenados en un recordStore que puede
visualizarse como una coleccin de registros. Cuando almacenamos
un registro en el recordStore, a ste se le asigna un identificador
nico que identifica unvocamente al registro.
Para poder utilizar RMS hemos de importar el paquete
javax.microedition.rms. Este paquete nos provee de la clase
RecordStore y de cuatro interfaces.

III.- RECORDSTORE
El mecanismo bsico de almacenamiento de RMS es denominado
record store. Un record store es un conjunto de registros, y un
registro es un byte array de datos de tamao variable. Un record
store est representado por un objeto de la clase RecordStore.
Existen reglas importantes sobre los record store:

1. El nombre de un record store consiste en una combinacin de


hasta 32 caracteres (sensible a las maysculas).
2. Los record stores creados por MIDlets de un mismo MIDlet suite
estn almacenados en el mismo espacio de nombres, y por lo
tanto, pueden compartir y ver sus contenidos.
3. Los record stores creados por MIDlets en un MIDlet suite, no
son accesibles para los MIDltes de otros MIDlets suite.
4. El nombre de un record store debe ser nico en un MIDlet suite

IV.- TRABAJANDO CON RMS


4.1.- Abrir y cerrar un recordStore
Antes de poder almacenar un registro hemos de abrir un recordStore con el mtodo openRecordStore().
static RecordStore openRecordStore(String nombre, bolean crear)
El parmetro nombre es el nombre de la base de datos. El nombre puede tener un tamao de 32 caracteres.
El parmetro crear, si tiene su valor a true, crear la base de datos si no existe. Cuando creamos un
recordStore, slo puede ser accedido desde la suite de MIDlets que la cre.
Cuando terminamos de utilizar el recordStore, hemos de cerrarlo:
RecordStore.closeRecordStore();
4.2.- Aadir registros
Una vez abierto nuestro recordStore podemos comenzar a aadir registros con el mtodo addRecord().
public int addRecord(byte[] dato,int offset, int numBytes)
El primer parmetro es el dato que queremos almacenar. Es un array de bytes. El offset es la posicin a partir
de la cual (dentro del array) se va a almacenar el dato. Finalmente, numBytes es el nmero de bytes que se
van a almacenar. El mtodo retorna el identificador que el RMS ha asignado al registro.
El mtodo addRecord puede lanzar la excepcin RecordStoreException, por lo tanto hemos de capturarla.
try {
int id = recordStore.addRecord (datos, 0, datos.length);
} catch (RecordStoreException e) {}

4.3.- Leer registros

El mtodo getRecord() permite acceder al registro que deseemos, siempre que conozcamos
su identificador.
public byte[] getRecord(int Id)
No es necesario que almacenemos y mantengamos una lista con todos los identificadores de
los registros. Un poco ms adelante veremos el mtodo recordEnumeration que nos permitir
conocer el identificador de cada registro. Al igual que con el mtodo addRecord(), hemos de
capturar la excepcin RecordStoreException.
byte[] dato = null;
try {
dato = recordStore.getRecord(id);
} catch (RecordStoreException e) {}
4.4.- Borrar registros
El borrado de registros se realiza con el mtodo deleteRecord().
public void deleteRecord(int recordId)
Al igual que con la escritura y lectura de registros hemos de tener en cuenta que puede
provocar la excepcin RecorStoreException.
try {
recordStore.deleteRecord(id);
} catch (RecordStoreException e) {}

VIII.- CLASES DE CONEXIN A REDES


Todas estas clases e interfaces estn dentro del paquete
javax.microedition.io. Tal y como vimos anteriormente, las interfaces son
las siguientes:
Connection Una conexin bsica que slo puede ser abierta y cerrada
ContentConnection Un flujo (stream) de conexin que proporciona
acceso a datos web
DatagramConnection Una conexin para manejar comunicaciones
orientadas a paquetes
InputConnection Una conexin de entrada para las comunicaciones del
dispositivo J2ME Manuel J. Prieto (Abril 2003)
OutputConnection Una conexin de salida para las comunicaciones del
dispositivo
StreamConnection Una conexin en ambas direcciones para las
comunicaciones del dispositivo o StreamConnectionNotifier Una
conexin especial para notificaciones, que es usada para esperar que se
establezca una conexin

IX.- MANTENIMIENTO EN GESTOR DE


BADE DATOS J2ME
La computacin mvil ha permitido a las personas acceder a la
informacin en cualquier momento y lugar mediante el uso de
dispositivos mviles, lo cual ha obligado a las organizaciones a
implementar cambios en su infraestructura tanto de redes
como de hardware y software. Con el lanzamiento de J2ME en
1999, se introdujo una alternativa para el desarrollo de
aplicaciones en dispositivos mviles. Para la administracin de
datos se han desarrollado diversos SMBD para ambientes
mviles como plataformas cliente/servidor y aplicaciones
embebidas,
tales
como
PointBase
Micro,
escrito
completamente en Java y optimizado para J2ME y J2SE, SQL
Anywhere Studio Ultralite de Anywhere Solutions, Oracle
Database Lite, IBM DB2 Everyplace y Microsoft SQL Server
Compact Edition.

A. Caractersticas
RMS es una interfaz de programacin empleada para
almacenar y manipular datos dentro de aplicaciones J2ME para
dispositivos mviles. Permite insertar, leer, ordenar, buscar,
manipular y eliminar informacin empleando recordstores.
Actualmente es utilizado en dispositivos como telfonos
celulares, smartphones, PDAs, handhelds, entre otros.
B. Limitaciones
RMS no est basado en el modelo relacional y, por
consiguiente, no organiza la informacin utilizando bases de
datos, tablas, tuplas, ni atributos, de tal manera que no es
posible utilizar instrucciones de SQL (Structured Query
Language) para interactuar con los datos.

A pesar de lo que hemos investigado, y los beneficios que prometen


las bases de datos orientadas a objetos, sobre todo para dispositivos
mviles, son contadas las soluciones que han aparecido para J2ME. La
razn principal es que casi todas las bases de datos orientadas a
objetos dependen de caractersticas de Java que son limitadas o no
existen en la plataforma J2ME. Tengamos en cuenta que hasta la
aparicin de la configuracin CLDC(Connected Limited Device
Configuration) define un conjunto base de libreras en Java ME junto
a la mquina virtual reducida para equipos mviles. ), que an no
soportan muchos mviles, no se poda operar con nmeros en punto
flotante.
Para intentar encontrar la solucin que ms se ajusta a nuestras
necesidades vamos a realizar un anlisis y comparacin entre las
soluciones ms prometedoras. En concreto estudiaremos las
caractersticas de tres bases de datos para telfonos mviles en
J2ME. Y nos centraremos en estas tres porque, de hecho, tampoco
hay muchas ms donde elegir. Estas tres soluciones son:

9.5.1.-PointBase Micro
PointBase Micro es un gestor de base de datos relacional y que soporta SQL
como lenguaje para realizar consultas. Se trata de una solucin comercial y su
licencia no da acceso al cdigo fuente.
9.5.2.- Bertiente SimpleOODBMS
En Bertiente se ha desarrollado y una base de datos orientada a objetos que es
muy rpida para el modelo de datos para el que fue concebida, y cuya virtud
radica tambin en la pequea cantidad de memoria fsica.
9.5.3.-Perst Lite
Esta es la solucin que ms se acerca a lo que se necesita (y puede soportar) un
telfono mvil. Esta es una implementacin en Cdigo Abierto para J2ME de una
base de datos orientada a objetos. Aunque no entraremos en detalle en materia
tcnica, las principales ventajas que nos puede aportar el uso de esta DB son las
siguientes:

Persistencia transparente y heredada


Carga recursiva de objetos.
Relaciones uno a uno, uno a muchos, muchos a uno y muchos a muchos.
Acceso secuencial y aleatorio mediante Indices
Implementain de algoritmos eficientes para estructuras, B+Tree, T-Tree, RTree para bsquedas geoespaciales
Posibilidad de bsquedas por valores exactos o rangos inclusivos o exclusivos
Implementacin de ndices espaciales para bsquedas en objetos
geoespaciales.
Open Source.

El API de MIDP
Para realizar nuestro midlets adems de CLDC tendremos que conocer el
API que nos proporciona MIDP ( API significa interfaz de programacin de
aplicaciones). El API se compone de las clases y paquete heredados de
CLDC y de otra serie de paquetes situados en la jerarqua javax.microedition
El API de MIDP 2.0, se compone de los siguientes paquetes:
Paquete de Ciclo de vida de las Aplicaciones (javax.microedition.midlet):
Este paquete permite a las aplicaciones MIDP (midlets) interactuar con el
entorno, sobre el cual la aplicacin se est ejecutando.
Paquete de Interfaz (javax.microedition.lcdui): Este es la parte del API
dedicada al interfaz de usuario (UI -User Interfaz). Proporciona un conjunto
de caractersticas para la implementacin de interfaces en MIDP.
Paquete de Juegos (javax.microedition.lcdui.game): Este es la parte del API
dedicada a juegos. Proporciona una serie de clases que permiten construir
juegos rico en contenidos para dispositivos mviles. No presente en MIDP
1.0 .

Paquete de Red (javax.microedition.io): MIDP proporciona soporte de red


basndose en CLDC.
Paquete de Clave Pblica (javax.microedition.pki): Certificados usados para
autentificar informacin proveniente de conexiones seguras. No presente en
MIDP 1.0 .
Sonido:
javax.microedition.media: El API Media de MIDP 2.0 es un bloque
directamente compatible con la especificacin Mobile Media API (MMAPI).
MMAPI extiende la funcionalidad de J2ME proporcionando audio, video y
otras caractersticas multimedia. Es un paquete opcional, simple y ligero, que
tambin permite acceder a los servicios multimedia nativos de nuestro
dispositivo mvil (como las cmara de fotos de los mviles).No presente en
MIDP 1.0.
javax.microedition.media.control: Este paquete define los tipos de control
especficos que pueden ser usados en el reproductor (Player) de la API
Media. No presente en MIDP 1.0.
Paquete de Persistencia (javax.microedition.rms): MIDP proporciona este
mecanismo para que los midlets guarden persistentemente datos y
posteriormente puedan recuperarlos.
Paquetes principales:
java.lang (CLDC): Las clases del lenguaje incluidas en el perfil provenientes de
J2SE.
java.util (CLDC): Las clases de utilidades incluidas en el perfil provenientes de
J2SE.

IMGENES DE ARQUITECTURA Y
FLUJOS DE DATOS PARA
CONECTAR A UN DISPOSITIVO
MOVIL

La arquitectura general de este sistema se muestra en la siguiente


figura.

La siguiente figura (Figura 2) muestra el flujo de datos para interconectar


un dispositivo mvil a un Servidor Web convencional.

Potrebbero piacerti anche