Felipe Vidueira Estévez Departamento de Ciencias de la Computación de la Universidad de Alcalá

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Felipe Vidueira Estévez Departamento de Ciencias de la Computación de la Universidad de Alcalá"

Transcripción

1 Introducción a J2ME Felipe Vidueira Estévez de la Universidad de Alcalá

2 1. INTRODUCCIÓN COMPONENTES DE J2ME Máquina virtual Configuración Perfil ESTANDARIZACIÓN DE COMPONENTES J2ME Ciclo de vida de una JSR Compatibilidad entre componentes ARQUITECTURA J2ME Máquinas virtuales C Virtual Machine K Virtual Machine Configuraciones Connected Device Configuration Connected Limited Device Configuration Perfiles Foundation Profile Personal Profile Mobile Information Device Profile INSTALACIÓN WINDOWS UN PRIMER EJEMPLO PAQUETES Y CLASES PRINCIPALES JAVAX.MICROEDITON.MIDLET JAVAX.MICROEDTION.LCDUI ALMACENAMIENTO DE DATOS

3 7.4 COMUNICACIONES DE RED MEDIANTE J2ME MIDP BIBLIOGRAFÍA DIRECCIONES DE INTERÉS

4 1. Introducción. La empresa Sun Microsystems lanzó a mediados de los años 90 el lenguaje de programación Java, orientado en un principio a la creación de componentes interactivos embebidos en páginas HTML, y que presentaba las siguientes características: Inspirado inicialmente en C++, pero con adiciones de alto nivel, como soporte nativo de strings y garbage collection. Código independiente de plataforma, precompilado a bytecode intermedio y ejecutado en el cliente por una JVM (Java Virtual Machine). Modelo de seguridad tipo sandbox proporcionada por la JVM. Abstracción del sistema operativo subyacente mediante un juego completo de APIs de programación. Con el curso de los años, Java ha progresado enormemente en dos dimensiones: Nuevos ámbitos de ejecución: Programas aislados, servicios HTTP (servlets, JSP), servidores de aplicaciones (EJB). Mayores y más diversas funcionalidades: APIs para acceso a bases de datos (JDBC), telefonía (JTAPI), multimedia (JMF), mensajería (JMS), transacciones (JTS). De resultas de esta explosión tecnológica, en la actualidad es poco realista concebir Java como un simple lenguaje de programación; en su lugar, resulta más conveniente considerarlo como un conjunto de tecnologías diseminadas en todos los ámbitos de computación con dos elementos comunes: El código fuente en lenguaje Java es compilado a código intermedio interpretado por una JVM. Todas las tecnologías comparten un conjunto más o menos amplio de APIs básicas del lenguaje, agrupadas principalmente en los paquete java.lang y java.io. En el mundo de los dispositivos electrónicos, como teléfonos móviles, PDAs o dispositivos embebidos, la situación es aún más caótica, debido a que las plataformas en consideración son fuertemente disimilares en cuanto a capacidad y requisitos. Han surgido en el pasado numerosas iniciativas, con frecuencia incompatibles entre sí, para introducir Java en el desarrollo de aplicaciones para estos dispositivos. En los últimos tiempos, Sun ha reconocido esta diversidad de ámbitos tecnológicos en los que Java se desenvuelve, y los ha agrupado en tres grandes entornos de aplicación, o ediciones, por seguir la terminología de la empresa: 4

5 J2EE (Java 2 Platform, Enterprise Edition), orientada al desarrollo de servicios web y aplicaciones distribuidas mediante EJBs (Enterprise Java Beans) y tecnologías relacionadas, con APIs para la gestión de transacciones, persistencia de objetos, servicios de nombres, XML, autentificación, etc. J2SE (Java 2 Platform, Standard Edition), que abarca las APIs orientadas a la programación de aplicaciones de usuario final: interfaz gráfica de usuario, multimedia, networking. Esta edición es la que en cierta forma recoge la iniciativa original del lenguaje Java. J2ME (Java 2 Platform, Micro Edition), enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs o electrodomésticos inteligentes. Figura 1: Relaciones entre ediciones de Java. Sólo de forma muy simplista puede considerarse que J2ME y J2EE son versiones reducida y ampliada, respectivamente, de J2SE: en realidad, cada una de las ediciones enfoca ámbitos de aplicación radicalmente distintos e independientes entre sí. Después de todos, las necesidades computacionales y APIs de programación requeridas por, por ejemplo, un juego gráfico ejecutándose sobre una PDA no tienen mucho que ver con los de un servidor distribuido de aplicaciones basado en EJB. 5

6 En lo que sigue estudiaremos con más detalle los componentes que integran la plataforma J2ME, la taxonomía propuesta por Sun de entornos de ejecución basados en las capacidades gráficas y computacionales de los dispositivos y la funcionalidad para la que están diseñados, la integración en J2ME de otras tecnologías Java relacionadas y la relevancia de la iniciativa J2ME para el desarrollo de aplicaciones y servicios embebidos en dispositivos móviles 2,5 y 3G. 6

7 2. Componentes de J2ME Al contrario que en otras tecnologías orientadas a PCs y ordenadores convencionales, en J2ME el espectro de dispositivos considerados varía enormemente en cuanto a capacidad computacional, memoria y capacidades gráficas. Ante la imposibilidad de establecer una arquitectura común que se adecue a esta variedad de entornos hardware, J2ME define una serie de componentes (building blocks) a partir de los cuales se construye una implantación concreta para un dispositivo determinado. Estos componentes se agrupan en los siguientes tipos: Máquina virtual Configuración Perfil Paquetes opcionales. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de máquina virtual, configuración y perfil, y posiblemente otros paquetes opcionales. En la figura se muestran las relaciones entre los distintos componentes de un entorno de ejecución de J2ME. Figura 2: Relaciones entre componentes J2ME. aplicaciones perfil paquetes opcionales configuración J2ME máquina virtual sistema operativo subyacente 7

8 2.1. Máquina virtual Una máquina virtual de Java (JVM, Java Virtual Machine) es un programa encargado de traducir código intermedio (bytecode) de los programas Java precompilados a código máquina ejecutable por la plataforma, efectuar las llamadas pertinentes al sistema operativo subyacente y observar las reglas de seguridad y corrección de código definidas para el lenguaje Java. De esta forma, la JVM proporciona al programa Java independencia de la plataforma con respecto al hardware y al sistema operativo subyacente. Las implementaciones tradicionales de JVMs son en general muy pesadas en cuanto a memoria ocupada (footprint) y requerimientos computacionales. J2ME define varias JVMs de referencia adecuadas al ámbito de los dispositivos electrónicos, que en algunos casos se apartan de la especificación estándar relajando algunas exigencias con el fin de obtener implementaciones más ligeras Configuración Una configuración es un conjunto de APIs básicas de Java que definen un entorno generalizado de ejecución. Una configuración no está orientada a ningún campo específico de aplicación, sino que más bien trata de agrupar los dispositivos en cuanto a sus capacidades computacionales y entorno genérico de operación (por ejemplo, si tienen conectividad o no). En particular, las librerías de interfaz gráfica nunca pertenecen a la definición de una configuración J2ME. Usualmente, una configuración especifica una JVM de referencia sobre la que debe correr; en algunos casos, además, esta JVM se aparta del estándar, relajando algunas características. Esta JVM de referencia no es una exigencia de la configuración, sino que más bien establece la funcionalidad mínima que debe pedirse a las implementaciones de la JVM utilizadas. Por supuesto, una implementación inteligente de una configuración J2ME dada se ceñirá en la medida de lo posible a las especificaciones mínimas requeridas Perfil Un perfil es un conjunto de APIs orientadas a un ámbito de aplicación determinado, para una configuración J2ME dada. Los perfiles identifican un grupo de dispositivos por la funcionalidad que proveen (por ejemplo, teléfonos móviles, electrodomésticos) y el tipo de aplicaciones que típicamente correrán sobre ellos. 8

9 La librería de interfaz gráfica es generalmente una componente muy importante de la definición de un perfil. Las interfaces gráficas difieren mucho entre distintos perfiles (displays textuales en teléfonos móviles, interfaces basadas en pen para PDAs, etc.), y en algunos perfiles ni siquiera existen (sistemas embebidos, por ejemplo). Un perfil siempre se define a partir de una configuración dada. Así, cabe pensar en un perfil como un conjunto de APIs que dotan a una configuración J2ME de funcionalidad específica para una familia de dispositivos concreta y para un tipo de aplicaciones determinado. 9

10 3. Estandarización de componentes J2ME La intencionada indefinición en cuanto a especificación y selección de componentes de la arquitectura J2ME podría dar lugar a la proliferación de numerosos entornos de ejecución incompatibles y pseudo propietarios de no mediar alguna clase de esfuerzo coordinado de estandarización en el seno de la industria de los dispositivos electrónicos. Con el fin de involucrar a la industria software y hardware en la evolución y el soporte de la tecnología Java, Sun ha creado el programa Java Community Process (JCP), un foro de estandarización con aproximadamente 300 participantes entre particulares, instituciones académicas y empresas de software, electrónica, telefonía móvil, comunicaciones, etc. Notablemente, ni Microsoft ni Intel pertenecen al programa JCP. El trabajo del programa JCP se articula en torno a la producción y aprobación de documentos de estándar conocidos como JSRs (Java Specification Requests), similares en forma e intención a las RFCs de la IETF. Uno de los campos de actividad del programa JCP es la especificación de componentes de J2ME, con el objetivo de llegar a un consenso amplio en torno a un número razonablemente pequeño de entornos de ejecución de J2ME agrupados por mercados de aplicación bien definidos, como el de las PDAs o el de la telefonía móvil. De los esfuerzos del programa JCP han surgido ya componentes estandarizados de J2ME, con diferentes grados de aceptación e implantación en la industria Ciclo de vida de una JSR En la Figura 3 se definen los sucesivos estadios por los que una Java Specification Request (JSR) atraviesa hasta que se convierte en un estándar aprobado (Final Release). Estos estadios van desde la aprobación del comienzo de la JSR y la formación de un grupo de trabajo hasta la publicación del Final Draft y la aprobación final del mismo. En la figura se muestra el ciclo de vida de una JSR junto con las estimaciones temporales de algunos procesos críticos en la evolución del proyecto. Esta información puede ser útil a la hora de evaluar el tiempo que resta para que un estándar en progreso sea completado por el JCP. 10

11 Figura 3: Ciclo de vida de una JSR. JSR Review Community Review Public Review Final Draft Proposal Final Release Ballot Final Release Maintenance Review 14 days EC vote days days 14 days EC vote 30 days Expert Group Formed Last 7 days for EC vote Last 7 days for EC Item Exception vote EC: Executive Committee 3.2. Compatibilidad entre componentes Ante la multiplicidad de entornos de ejecución que presenta J2ME, el antiguo lema Write Once, Run Anywhere asociado al lenguaje Java no parece muy aplicable en el mundo de los dispositivos electrónicos. Esto difícilmente puede verse como una debilidad de la plataforma J2ME, teniendo en cuenta la enorme variedad de dispositivos y ámbitos de aplicación que esta tecnología abarca. En general, los desarrolladores de aplicaciones para J2ME pueden esperar y deberían promover la compatibilidad entre plataformas dentro del ámbito de un mismo perfil. De esta forma, las aplicaciones para teléfonos móviles 2,5G, por ejemplo, deberían poder correr en todos aquellos dispositivos que soporten el perfil MIDP. Otras compatibilidades cruzadas, como entre perfiles más limitados y menos limitados, en general no están garantizadas, y lo máximo que puede esperarse en este campo es que al menos grandes porciones de código puedan utilizarse en proyectos basados en distintos entornos J2ME. 11

12 4. Arquitectura J2ME Como se ha explicado anteriormente, el programa de estandarización JCP ha definido diversos entornos de ejecución de J2ME identificados por una selección particular de máquina virtual, configuración y perfil J2ME. Es de suponer que esta arquitectura evolucionará en dos sentidos: Refinamiento de los entornos de ejecución definidos (nuevas versiones de los componentes), definición de nuevos entornos de ejecución. Figura 3: Arquitectura de J2ME. FP PP PDAP MIDP Perfiles CDC CLDC Configuraciones CVM KVM Máquinas virtuales En la figura se muestra el estado actual de la arquitectura J2ME. Solamente se han incluido en el diagrama los componentes de J2ME que están estandarizados o muy próximos a ser estandarizados y que tienen especial relevancia para el mercado de los dispositivos para comunicaciones móviles. Así como en el campo de los perfiles la arquitectura de J2ME es aún dispersa y está sujeta a cambios, parece que se ha alcanzado un consenso bastante estable en cuanto a las dos configuraciones disponibles: Connected Device Configuration (CDC), para dispositivos dotados de conectividad y con (relativamente) alta capacidad computacional, Connected Limited Device Configuration (CLDC), para dispositivos con capacidades (proceso y memoria) limitadas dotados de conectividad. En la Figura 4 se relacionan unos cuantos tipos de dispositivos con la configuración más apropiada para los mismos. 12

13 Figura 4: Relación de configuraciones con tipos de dispositivos 4.1. Máquinas virtuales C Virtual Machine La C Virtual Machine (CVM) es una implementación de referencia escrita en lenguaje C de la máquina virtual de Java (JVM) estándar, orientada a dispositivos electrónicos con procesadores de 32 bits de gama alta y en torno a 2 MB o más de memoria RAM. Según Sun, la CVM está diseñada de forma que su portado a distintos sistemas operativos y/o procesadores sea relativamente fácil, lo cual debe ayudar a extender las configuraciones J2ME basadas en una JVM estándar (no reducida). La ocupación en memoria (footprint) de la CVM está en torno a los 256 KB. En la actualidad, CVM tan sólo se encuentra disponible para el sistema operativo Linux sobre procesadores Intel x86, pero Sun apoya el portado de la CVM a otras plataformas. La liberación de la CVM obedece a una política de open source de Sun Microsystems encaminada a promover la ubicuidad de Java, favoreciendo de esta forma la migración de la tecnología Java a muchas más plataformas de las que en principio una sola empresa podría abarcar. 13

14 La CVM ha sido tomada como JVM de referencia en la definición de la CDC K Virtual Machine La K Virtual Machine ó KVM (la K viene de kilobyte, haciendo referencia a la baja ocupación en memoria) se desarrolló en parte en el programa de investigación Spotless de Sun Microsystems dedicado a la implementación de un sistema Java para el Organizer de Palm. Se trata de una implementación de referencia para una JVM reducida especialmente orientada a dispositivos con bajas capacidades computacionales y memoria limitada. En concreto, la KVM presenta las siguientes limitaciones (entre otras) con respecto a la especificación estándar de la JVM: No hay soporte para tipos de coma flotante (float y double). No hay soporte para métodos nativos (Java Native Interface, JNI). No se soporta la reflexión de clases. No se soporte la finalización de objetos (método Object.finalize()). Tratamiento limitado de excepciones. Además, el sistema de seguridad de la JVM ha sido simplificado y modificado para ajustarse a limitaciones computacionales y de memoria más estrictas. La KVM está escrita en lenguaje C y, según Sun, en mayo de 2000 había sido portada al menos a 25 plataformas distintas, entre las que se encuentran: Palm OS, Win32, Solaris. A fecha actual, los autores no conocen ninguna versión para Windows CE de la KVM, aunque los dispositivos típicos sobre los que corre Windows CE tienen potencia suficiente para ejecutar una JVM estándar. La ocupación en memoria (footprint) de la KVM oscila entre los 40 y los 80 KB. La KVM ha sido tomada como JVM de referencia en la definición de la CLDC Las primeras versiones de la KVM se incluyeron así mismo en las distribuciones de KJava. 14

15 4.2. Configuraciones Connected Device Configuration La configuración J2ME conocida como Connected Device Configuration (CDC) está siendo elaborada dentro de la JSR 36 del JCP; la versión 0.2 alcanzó el estatus de Final Draft el 21 de febrero de La CDC está orientada a dispositivos electrónicos con las siguientes capacidades: Procesador de 32 bits. 512 KB mínimo de memoria ROM. 256 KB mínimo de memoria RAM. Conectividad a algún tipo de red. Soporte total de la JVM v.2 Como ya se ha explicado, la CDC no se hace ninguna asunción acerca de las capacidades gráficas de los dispositivos. Dispositivos típicos a los que la CDC se orienta son: Descodificadores de TV, teléfonos con navegación de Internet (communicators), sistemas de navegación para coches. Como se ha dicho, la CDC corre sobre una JVM estándar; no obstante, las implementaciones de referencia, desarrolladas para los sistemas Linux y VxWorks, utilizan la CVM. La CDC está basada en J2SE v1.3, e incluye varios paquetes Java de la edición estándar. Las peculiaridades de la CDC están principalmente contenidas en el paquete javax.microedition.io, que incluye soporte genérico para comunicaciones HTTP y comunicaciones basadas en datagramas. Un aspecto importante de la CDC es que engloba totalmente las APIs de la CLDC Connected Limited Device Configuration La configuración J2ME conocida como Connected Limited Device Configuration (CLDC) está siendo elaborada dentro de la JSR 30 del JCP; la versión 1.0 alcanzó el estatus de Final Release el 30 de mayo de

16 La CLDC está orientada a dispositivos dotados de conectividad con reducidas capacidades computacionales y memoria limitada, de acuerdo a los siguientes parámetros: Procesador de bajas prestaciones, posiblemente de 16 bits. De 128 a 512 KB de memoria total, incluyendo ROM/Flash y RAM. Potencia limitada, frecuentemente alimentados por baterías. Conectividad reducida (9600 bps o menos), como en el caso de GSM. Entre los dispositivos a los que la CLDC se orienta tenemos: PDAs de bajas prestaciones (tipo Palm), teléfonos móviles GSM y 2,5G (GPRS). buscas (pagers), terminales de transacciones electrónicas. Con objeto de adaptarse a las restrictivas capacidades de este tipo de dispositivos, la CLDC no opera sobre una JVM estándar, sino que define un subconjunto de ésta conocido como KVM. En cuanto a las APIs incluidas, parte de ellas provienen de la edición estándar de Java (J2SE), y además se incluyen unas APIs genéricas de conectividad en el paquete javax.microedition.io. Todas las APIs de la CLDC están también contenidas en la CDC. CLDC para Palm Posiblemente, la implementación más popular actualmente de CLDC/KVM es la del Palm Connected Organizer, que actualmente ya está siendo usada para desarrollo de pequeñas aplicaciones en este dispositivo. Una característica interesante de la distribución que hace Sun de CLDC/KVM para Palm es que incorpora una pequeña librería no estándar denominada Palm API para gestión de la interfaz gráfica de la Palm. De esta forma es posible desarrollar aplicaciones gráficas para Palm directamente sobre CLDC/KVM sin instalar ningún perfil J2ME (los cuales, según los filosofía de la arquitectura, son los encargados de especificar las interfaces gráficas). La Palm API está contenida en el paquete com.sun.kjava, proveniente de la tecnología pre-j2me KJava. Sun efectúa esta distribución no estándar de CLDC/KVM con el objeto de proporcionar soporte y continuidad a los desarrolladores de KJava. 16

17 4.3. Perfiles Foundation Profile El perfil J2ME conocido como Foundation Profile (FP) está siendo elaborado dentro de la JSR 46 del JCP; la versión 0.2 alcanzó el estatus de Final Draft el 21 de febrero de El FP define una serie de APIs sobre la CDC para dispositivos sin interfaz gráfica dentro del rango de aplicabilidad de la CDC, esto es, algún tipo de conectividad y potencia y memoria suficiente (1024 KB ROM, 512 KB RAM). El mismo nombre del FP sugiere que este perfil incorpora muy poca funcionalidad específica, y en la mayor parte de los casos se espera que esté complementado por paquetes opcionales, o que sea extendido a otro perfil. Se añaden al API de la CDC tres nuevos paquetes y 130 clases adicionales, con funcionalidades variadas Personal Profile El Personal Profile (PP) de J2ME está siendo elaborado dentro de la JSR 62 del JCP; actualmente, está en el estado JSR Approved, esto es, en fase de definición. El PP se definirá a partir de FP/CDC y añade una interfaz gráfica completa, con capacidades web y soporte de applets Java. En la actualidad no hay mucha información disponible sobre el PP. La principal motivación para crear este perfil es la de ofrecer una vía de migración a J2ME de la tecnología PersonalJava PDA Profile El perfil para PDAs (PDAP) de J2ME está siendo elaborado dentro del marco de la JSR 75 del JCP, y en la actualidad está en el estado JSR Approved, esto es, en fase de definición. PDAP se basa en la CLDC y pretende abarcar PDAs de gama baja, tipo Palm, con una pantalla y algún tipo de puntero (ratón o pen) y una resolución de al menos pixels (esto es, de al menos pixels para un factor de forma típico 2:1). Actualmente, no es posible dar mucha más información sobre este perfil en vías de definición. La principal motivación para crear este perfil es la de ofrecer una vía de migración a J2ME de la tecnología KJava. 17

18 Mobile Information Device Profile El Mobile Information Device Profile de J2ME (MIDP) ha sido desarrollado dentro de la JSR 37 del JCP, que aprobó la Final Release de la versión 1.0 el 19 de septiembre de El MIDP se basa en CLDC/KVM y se orienta a dispositivos con las siguientes características: Reducida potencia computacional y memoria. Conectividad limitada (como la provista por las redes celulares actuales, en torno a 9600 bps). Capacidades gráficas muy reducidas (mínimo un display de pixels monocromo). Entrada de datos alfanuméricos reducida (p.ej., como la provista por los teléfonos móviles). Los tipos de dispositivos que se adaptan entonces al MIDP son: Teléfonos móviles del rango de los actuales teléfonos WAP, buscas bidireccionales (two-way pagers) y PDAs de gama baja con conectividad celular. El MIDP proporciona APIs que soportan la siguiente funcionalidad: Una forma limitada de almacenamiento de datos. Conectividad celular basada en HTTP 1.1. Timers. Presentación de imágenes de baja resolución. Entrada de datos de usuario. Un modelo rudimentario de ciclo de vida de las aplicaciones (llamadas midlets, por simpatía con applet ). Estas APIs están contenidas en los paquetes específicos javax.microedition.rms (persistencia), javax.microedition.midlet (ciclo de vida), y javax.microedition.lcdui (interfaz de usuario). Sun proporciona una implementación de referencia basada en un emulador de MIDP para Windows y un entorno completo de desarrollo para este mismo sistema operativo. 18

19 Figura: Ejemplos de aplicaciones MIDP (midlets) provistos por Sun: Selector, Sokoban, La tecnología MIDP parece solaparse en cuanto al ámbito de aplicación con otra iniciativa de Sun conocida como JavaPhone. La postura oficial de Sun al respecto es que JavaPhone está orientada a dispositivos de mayores prestaciones que los que soportarán MIDP. En cualquier caso, la comparación de requisitos para ambas tecnologías es complicada, puesto que JavaPhone no está incluida en la arquitectura J2ME. Se está desarrollando una nueva versión de MIDP, la llamada MIDP NG, y se prevee que estará lista para principios del

20 5 INSTALACIÓN 5.1 WINDOWS Antes de comenzar a implementar un MIDLET se precisa tener instalado un software determinado que constituirá el entorno desarrollo J2ME. Los componentes están disponibles en y son los que se presentan a continuación: Java 2 SDK Entorno de desarrollo visual (opcional) J2ME Wireless Kit Java 2 SDK, es el Kit de desarrollo estándar de Java que se emplea para diseñar aplicaciones estándares. Este elemento debe ser el primero en instalarse ya que los siguientes se apoyan en él. Se requiere la versión 1.3 o superior que encuentra disponible en el enlace J2MEWT se puede ejecutar individualmente o como un componente integrado en uno de los siguientes entornos gráficos de desarrollo: _ KToolBar : Es el entorno visual de desarrollo que permite la creación de MIDLETS con J2ME. Se considera el más simple de todos los aquí mencionados ya que ni siquiera cuenta con un editor. Para incluir los fuentes editados con otro programa se debe haber creado un proyecto desde KToolBar, La herramienta crea la siguiente estructura de directorios dentro del proyecto. En el directorio src se deben incluir los fuentes para que KToolBar los pueda compilar, preverificar y posteriormente emular. 20

21 Forte : Java: Se debe instalar antes que las J2MEWT, éste se puede descargar de la página Durante la instalación hay que seleccionar la versión de JDK que se ha instalado. Los requisitos hardware de Forte Java son un Pentium II a 300 MHz, 128 MB y 30 MB de espacio en disco. Este entorno provee un entorno de desarrollo para J2SE Y J2EE. El entorno incluye un editor de texto de GUI, un buscador de clases y un buscador de Web. El buscador de clases proporciona una vista gráfica de las clases que contiene el MIDLET que se está desarrollando. Utilizando este browser se puede navegar fácilmente por los métodos y atributos de las clases, así como analizar la clase compilada almacenada en el.jar. 21

22 Code Warrior for Java: es un entorno visual que da soporte a J2ME, similar a Forte Java, que cuenta con un editor de textos y un browser de clases. Este software se puede adquirir en Jbuilder Handheld Express: presenta las mismas opciones que Forte Java y Code Warrior, soporta el entorno de desarrollo J2ME pero sólo para Palms, aunque se espera que en breve se presente la versión que da soporte a móviles y agendas personales. La página en la que se puede adquirir el software y obtener más información es J2ME Wireless Kit disponible para dos plataformas: Sun Solaris y Microsoft Windows, se puede descargar en products/j2mewtoolkit/ download.html. A continuación se va a comentar la instalación en Windows. La versión Windows de la herramienta requiere un mínimo de 64MB y un espacio en disco de 15MB. Se deben haber llevado a cabo los pasos anteriores, ya que si en la instalación se detecta que no existe una versión de JDK no se permite continuar con la instalación. El entorno de 22

23 desarrollo es opcional. Si se desea trabajar con un entorno de desarrollo no se debe seleccionar la opción de Integrated, sino la de Stand Alone. Una vez completada la instalación se debe asegurar que todo está correctamente instalado. Desde el promt de DOS vaya al directorio J2MEWTK_DIR\apps\ example\bin\, luego verá que existe un fichero run.bat, ejecútelo y si la instalación tuvo éxito verá la pantalla de inicio de la aplicación ejemplo que incluye el paquete. Ahora ya está todo listo para comenzar. 23

24 6 UN PRIMER EJEMPLO Una vez superada la fase de instalación llegamos a la fase de creación de un primer programa. Para ello basta disponer de un editor de texto cualquiera en el que se irá escribiendo el código fuente que compilaremos bien desde el interfaz gráfico que el Wireless Toolkit ofrece o desde la propia línea de comandos. A continuación se detallan los pasos para hacer funcionar nuestro primer programa. 1.- Escribir el código fuente del programa, en este caso va a ser el HolaMundo.java. 24

25 Esta clase hereda de la clase MIDLET. En el constructor se capturan las características del display, se crea una instancia de la clase Form, StringItem y del Comando que me permite salir. Luego se añade la cadena y el comando de salida al formulario y se incluye el capturador de eventos del comando, éste tiene una acción asociada que se ejecutará al pulsar sobre esta opción. 2.- Compilar desde la línea de comandos: C:\c:\jdk1.3\bin\javac -g:none -bootclasspath %SUNJ2MEHOME%\lib\midpapi.zip -classpath %SUNJ2MEHOME%\lib\kvem.jar 25

26 HolaMundo.java Al utilizar el compilador de J2SE para compilar el ejemplo es necesario indicar de alguna manera que las librerías CLDC y MIDP se encuentran en un lugar diferente. Esto se hace mediante la opción bootclasspath. La opción g:none se ha empleado para desactivar la posibilidad de incluir información en la depuración, haciendo de este modo los ficheros.class más pequeños. 3.- Preverificar Cuando se trabaja con J2SE la máquina virtual Java (JVM) lleva a cabo un proceso de verificación en tiempo de ejecución. Esto ocupa ciertos recursos que en dispositivos inalámbricos son relativamente escasos. Debido a las restricciones de estos dispositivos se ha creado en J2ME un proceso denominado preverification consistente en llevar a cabo parte de la verificación de la KVM off-line, el resto será llevado a cabo como una verificación normal. El comando utilizado es el siguiente: C:\>%SUNJ2MEHOME%\bin\preverify.exe -classpath %SUNJ2MEHOME%\lib\midpapi.zip -d c:\ejemplos c:\ejemplos 4.- Crear el fichero.jar El siguiente paso consiste en empaquetar el Midlet en un MidletSuite, que es un simple fichero.jar. Esto es un requerimiento por parte de muchos dispositivos MIDP. Para realizar este proceso JDK1.3 dispone de la utilidad jar para archivar y comprimir ficheros.class en un paquete. C:\>c:\JDK1.3\bin\jar cmf MANIFIESTO.MF HolaMundo.jar HolaMundo.class 5.- Ejecutar el Midlet Una vez dispuesto el Midlet dentro de un paquete llega la fase de ejecución. Para simplificar la línea de comandos establecemos en primer lugar las variables de entorno necesarias. C:\>set CODEPATH=c:\Ejemplos C:\>set CLASSPATH=%SUNJ2MEHOME%\lib\kvem.jar;%SUNJ2MEHOME%\lib\kenv.zip; %SUNJ2MEHOME%\lib\lime.jar;%CODEPATH% A continuación se lanza el emulador para ejecutar el programa: 26

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI RM. N 102-90-ED de Creación y Funcionamiento, RD Nº 0086-2006-ED de Revalidación Web Site: www.tecnomacusani.edu.pe

Más detalles

Programación para sistemas en red IV. Conceptos básicos II

Programación para sistemas en red IV. Conceptos básicos II Conceptos básicos II Maquina virtual de java (JVM): Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar

Más detalles

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de: J2ME Esta versión de Java está enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs o

Más detalles

Moving Java into mobile phones

Moving Java into mobile phones CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d Arquitectura de Computadors Moving Java into mobile phones (Seminaris de CASO) Autors Francisco Guardia Tobeñas Jose Luís Quintana González David

Más detalles

J2ME (Java to Micro Edition)

J2ME (Java to Micro Edition) CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d Arquitectura de Computadors J2ME (Java to Micro Edition) (Seminaris de CASO) Autors José Antonio Carmona Gallardo Valentí Moncunill González Introducción

Más detalles

Sebastián García Galán sgalan@ujaen.es

Sebastián García Galán sgalan@ujaen.es Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán sgalan@ujaen.es Creada por Sun Microsystems Presentada oficialmente en 1995 El empujón definitivo

Más detalles

TAREA DE SISTEMA DE INFORMACIÓN II J2ME A MUERTE

TAREA DE SISTEMA DE INFORMACIÓN II J2ME A MUERTE TAREA DE SISTEMA DE INFORMACIÓN II J2ME A MUERTE Integrantes: Guerra, Juan Oliva, Ricardo Profesor: Danilo González INDICE INDICE 1. OBJETIVOS 3. INTRODUCCIÓN...4 TECNOLOGÍAS INALÁMBRICAS..5. J2ME y WAP

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN DE DISPOSITIVOS MÓVILES

INTRODUCCIÓN A LA PROGRAMACIÓN DE DISPOSITIVOS MÓVILES INTRODUCCIÓN A LA PROGRAMACIÓN DE DISPOSITIVOS MÓVILES CONTENIDO: J2ME. Arquitectura Conceptos Básicos APIs Principales MIDLets Herramientas de Desarrollo Ejemplo BIBLIOGRAFÍA: [Gal] Java a Tope: J2ME.

Más detalles

Capítulo 5 Introducción al Desarrollo de Aplicaciones Móviles usando J2ME

Capítulo 5 Introducción al Desarrollo de Aplicaciones Móviles usando J2ME Telemática TEL-352 Seminario de Telemática II Introducción al Desarrollo de Aplicaciones Móviles usando J2ME CHM-2008 Seminario de Telemática II 1 Objetivos Introducir los principales conceptos de la plataforma

Más detalles

1. INTRODUCCIÓN Y OBJETIVOS

1. INTRODUCCIÓN Y OBJETIVOS 1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos

Más detalles

Desarrollo de Aplicaciones Móviles. Java

Desarrollo de Aplicaciones Móviles. Java Java Java es la base para prácticamente todos los tipos de aplicaciones de red, además del estándar global para desarrollar y distribuir aplicaciones móviles y embebidas, juegos, contenido basado en web

Más detalles

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente Capítulo 5: Aplicaciones cliente 46 5.1 La aplicación cliente en la Pocket PC La aplicación desarrollada para el cliente en un dispositivo móvil como corresponde a la Pocket PC necesita una capa muy delgada

Más detalles

Implementación de tecnologías móviles para celular en una biblioteca universitaria

Implementación de tecnologías móviles para celular en una biblioteca universitaria Título de la ponencia: Implementación de tecnologías móviles para celular en una biblioteca universitaria Información del autor(es): Nombres y apellidos: JOSE O. VERA Grado académico: Ingeniero en Electrónica

Más detalles

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Elección Libre Unidad académica: Programación de dispositivos móviles con Java Ubicación: Noveno Semestre. Clave:

Más detalles

J2ME Programando un cronómetro para nuestro celular

J2ME Programando un cronómetro para nuestro celular J2ME Programando un cronómetro para nuestro celular A lo largo de este apunte veremos como desarrollar una aplicación que sea capaz de correr en un teléfono celular (MIDlet). Para ello haremos uso del

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

Java TM MicroEdition -Conceptos Básicos-

Java TM MicroEdition -Conceptos Básicos- Java TM MicroEdition -Conceptos Básicos- Pontificia Universidad Javeriana Computación Móvil 2008/01 Historia Enero 15, 1991: Green Project : Qué hacer a cerca de tanta variedad de dispositivos electrónicos?

Más detalles

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java Qué es? Introducción a es Un lenguaje de programación Un entorno de desarrollo Un entorno de ejecución de aplicaciones Un entorno de despliegue de aplicaciones Utilizado para desarrollar, tanto applets

Más detalles

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv. Taller de Programación de Dispositivos Móviles José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.cl Parte 1 1.Programación de dispositivos 2.Limitaciones de los dispositivos

Más detalles

DEPARTAMENTO DE INGENIERÍA TELEMÁTICA UNIVERSIDAD CARLOS III DE MADRID SOFTWARE EN DISPOSITIVOS MÓVILES. Celeste Campo. celeste@it.uc3m.

DEPARTAMENTO DE INGENIERÍA TELEMÁTICA UNIVERSIDAD CARLOS III DE MADRID SOFTWARE EN DISPOSITIVOS MÓVILES. Celeste Campo. celeste@it.uc3m. DEPARTAMENTO DE INGENIERÍA TELEMÁTICA UNIVERSIDAD CARLOS III DE MADRID SOFTWARE EN DISPOSITIVOS MÓVILES Celeste Campo celeste@it.uc3m.es Parte de este material se basa en transparencias de Natividad Martínez

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

Sistema de monitoreo canino basado en GPS y Comunicación Móvil. Análisis de Tecnologías

Sistema de monitoreo canino basado en GPS y Comunicación Móvil. Análisis de Tecnologías Sistema de monitoreo canino basado en GPS y Comunicación Móvil Análisis de Tecnologías Alumnos: Tutora: Agustín Bally 79876 Andrés Gustavo Candal 80502 Lic. Adriana Echeverría Revisiones Revisiones Fecha

Más detalles

III Jornadas de Tecnología Java. www.jtech.ua.es/jornadas. Java Destilado. Francisco Morero Peyrona Sun Ambassador Sun Awarded Engineer

III Jornadas de Tecnología Java. www.jtech.ua.es/jornadas. Java Destilado. Francisco Morero Peyrona Sun Ambassador Sun Awarded Engineer III Jornadas de Tecnología Java www.jtech.ua.es/jornadas Francisco Morero Peyrona Sun Ambassador Sun Awarded Engineer Qué es Java Comunidad Plataforma Lenguaje Java como Comunidad Índice Java > JSR > JCP

Más detalles

Diseño de aplicaciones inalámbricas móviles Por Mike Pini

Diseño de aplicaciones inalámbricas móviles Por Mike Pini Diseño de aplicaciones inalámbricas móviles Por Mike Pini Visión general: Herramientas para diseñadores móviles Con la creciente popularidad de los dispositivos informáticos móviles, entre los que se encuentran

Más detalles

Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares

Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares TELEPROCESO Y SISTEMAS DISTRIBUIDOS Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares L I C. S E R G I O A N D R É S S O T O Guía de la Presentación Marco Conceptual

Más detalles

>> Programación de dispositivos móviles.

>> Programación de dispositivos móviles. >> Programación de dispositivos móviles. Nicolás Álvarez S. nalvarezs@vtr.net Juan Monsalve Z. jmonsalve@elo.utfsm.cl Tópicos a tratar Repaso de conceptos de programación. Conceptos básicos de Java Plataforma

Más detalles

Software para el desarrollo de aplicaciones móviles. Rubén Darío Sánchez rusanche@escuelaing.edu.co

Software para el desarrollo de aplicaciones móviles. Rubén Darío Sánchez rusanche@escuelaing.edu.co Software para el desarrollo de aplicaciones móviles Rubén Darío Sánchez rusanche@escuelaing.edu.co Programa Introducción. NET Compact Framework / MMIT. WebServices / Servicios WEB. J2ME. Replicación Bases

Más detalles

Seminario de Java. Contenido

Seminario de Java. Contenido Seminario de Java Programación Orientada a Objetos Curso 2006/2007 Contenido 1. Introducción 2. Primeros pasos con Java. El entorno Eclipse 3. La sintaxis del lenguaje Java 4. Clases y objetos 5. Cadenas

Más detalles

Cómputo Móvil: Diferentes lenguajes de programación para dispositivos móviles que utilizan la plataforma S60

Cómputo Móvil: Diferentes lenguajes de programación para dispositivos móviles que utilizan la plataforma S60 Cómputo Móvil: Diferentes lenguajes de programación para dispositivos móviles que utilizan la plataforma S60 Laboratorio de Tecnologías de Información Cinvestav-Tamaulipas. Laboratorio de Tecnologías de

Más detalles

TECNOLOGÍAS DE DESARROLLO: JAVA

TECNOLOGÍAS DE DESARROLLO: JAVA Página 1 de 13 TECNOLOGÍAS DE DESARROLLO: JAVA Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak", que fue concebido bajo la dirección de James Gosling y Bill Joy, quienes

Más detalles

Lic. Sofia J. Vallejos

Lic. Sofia J. Vallejos Lic. Sofia J. Vallejos Marco Conceptual Comercio Electrónico y Comercio Electrónico Móvil. Qué es la Computación Ubicua o Pervasiva? Evolución de la Telefonía Móvil. Herramienta Utilizadas J2ME (Java para

Más detalles

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079 Revista Digital Universitaria 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079 JAVA o L.I. Anabell Comas Becaria de la Coordinación de Publicaciones Digitales anabell@alethia.dgsca.unam.mx o http://www.revista.unam.mx/vol.7/num12/art104/art104.htm

Más detalles

ESCUELA POLITÉCNICA DEL EJÉRCITO

ESCUELA POLITÉCNICA DEL EJÉRCITO ESCUELA POLITÉCNICA DEL EJÉRCITO FACULTAD DE INGENIERÍA ELECTRÓNICA PROYECTO DE GRADO PARA LA OBTENCIÓN DEL TÍTULO EN INGENIERÍA ELECTRÓNICA DESARROLLO DE UN SISTEMA DE ENTRETENIMIENTO PARA UN TELÉFONO

Más detalles

CAPÍTULO III ANÁLISIS Y SELECCIÓN DE TECNOLOGÍAS

CAPÍTULO III ANÁLISIS Y SELECCIÓN DE TECNOLOGÍAS CAPÍTULO III ANÁLISIS Y SELECCIÓN DE TECNOLOGÍAS En las últimas décadas, se ha vuelto fundamental tener información al alcance en todo momento. Este hecho ha traído consigo el desarrollo de nuevas tecnologías

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx

Programación Java. M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx Programación Java M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx Febrero de 2006 Objetivos Conocer las características de la Tecnología Java Comprender las características

Más detalles

Programación en Java. Temario. David Contreras Bárcena

Programación en Java. Temario. David Contreras Bárcena Programación en Java David Contreras Bárcena David Contreras Bárcena (ETSI) - Comillas 1 Temario 1. Introducción 1. Lenguaje java 2. Compilador SDK 1.4 3. Sintaxis 4. Tipos de datos 5. Estructuras de Control

Más detalles

2. Descripción del sistema 3

2. Descripción del sistema 3 Índice general 1. Introducción 1 2. Descripción del sistema 3 2.1. Descripción de subsistemas.......................... 6 2.1.1. Subsistema Servidor de Control Central (SCC)........... 6 2.1.2. Subsistema

Más detalles

INF 473 Desarrollo de Aplicaciones en

INF 473 Desarrollo de Aplicaciones en INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James

Más detalles

Tema 2: La Tecnología Java

Tema 2: La Tecnología Java Tema 2: La Tecnología Java 0 La Tecnología de Java Es : Un lenguaje de programación Similar a C/C++ sin los problemas de manejo de memoria. Un ambiente de desarrollo Compilador, intérprete, generados de

Más detalles

UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE INGENIERÍAS

UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE INGENIERÍAS UNIVERSIDAD POLITÉCNICA SALESIANA FACULTAD DE INGENIERÍAS SEDE QUITO-CAMPUS SUR CARRERA DE INGENIERÍA EN SISTEMAS MENCIÓN TELEMÁTICA ANALISIS, DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA DE CONTROL FINANCIERO

Más detalles

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos

Más detalles

Notas técnicas de JAVA Nro. 4 White Paper

Notas técnicas de JAVA Nro. 4 White Paper Tema: Notas técnicas de JAVA Nro. 4 White Paper (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) JAVA Basics : Entendiendo la Java Virtual Machine (JVM) Java, JVM, objetos, introducción,

Más detalles

Cómo puede ayudarle JBuilder en sus Desarrollos Java?

Cómo puede ayudarle JBuilder en sus Desarrollos Java? Artículos técnicos Grupo Danysoft: Cómo puede ayudarle JBuilder en sus Desarrollos Java? Oscar Cristóbal Ruiz Departamento Java Equipo Grupo Danysoft Enero 2003 - (902) 123146 www.danysoft.com Cómo puede

Más detalles

QUÉ ES UN DISPOSITIVO MÓVIL

QUÉ ES UN DISPOSITIVO MÓVIL QUÉ ES UN DISPOSITIVO MÓVIL La era de la información ha llegado, y con ella, las comunicaciones han mantenido la pauta en alta. Y para que exista comunicación, aparte de todos aquellos sistemas que la

Más detalles

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Java y Eclipse. Lenguajes y Entornos de Programación Libre Java y Eclipse Lenguajes y Entornos de Programación Libre El lenguaje Java Un poco de historia: 1990: James Gosling, responsable de una empresa filial creada por Sun Microsystems, empieza a diseñar Java

Más detalles

Desarrollo de un servidor HTTP para dispositivos móviles en J2ME

Desarrollo de un servidor HTTP para dispositivos móviles en J2ME Desarrollo de un servidor HTTP para dispositivos móviles en J2ME 1 Guillermo Diez-Andino Sancho, Rosa M a García Rioja y Celeste Campo Vázquez Departamento. Ingeniería Telemática - Universidad Carlos III

Más detalles

Empleo de tecnologías de agentes para la gestión de tutorías en un campus universitario

Empleo de tecnologías de agentes para la gestión de tutorías en un campus universitario Empleo de tecnologías de agentes para la gestión de tutorías en un campus universitario Fabián Andrés Bustos Dept. de Sistemas Informáticos y Computación, D.S.I.C. Universidad Politécnica de Valencia 46022

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Desarrollo de Aplicaciones Java para Dispositivos Móviles J2ME

Desarrollo de Aplicaciones Java para Dispositivos Móviles J2ME Universidad de Murcia Área de Tecnologías de la Información y Comunicaciones Aplicadas Cursos de Promoción Educativa Desarrollo de Aplicaciones Java para Dispositivos Móviles J2ME Autor Félix Gómez Mármol

Más detalles

Introducción a la programación. Java

Introducción a la programación. Java Introducción a la programación Java La plataforma de programación Java Historia La máquina virtual Java Herramientas de programación en Java Aplicaciones y applets Aplicación de ejemplo Applet de ejemplo

Más detalles

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA Instituto de Formación Profesional CBTech Estudie desde su hogar y obtenga un certificado universitario Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA 1 Introducción al Lenguaje JAVA Integrado

Más detalles

Evaluación de Alternativas de Comunicacion entre PC- Teléfono Móvil sobre Java

Evaluación de Alternativas de Comunicacion entre PC- Teléfono Móvil sobre Java ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN UNIVERSIDAD POLITÉCNICA DE CARTAGENA Proyecto Fin de Carrera Evaluación de Alternativas de Comunicacion entre PC- Teléfono Móvil sobre Java AUTOR:

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Paradigmas de programación 2 Paradigmas de programación Paradigma de programación estructurada Enfatiza la separación datos de un programa

Más detalles

SIOM-Interfaz AM Manual de Usuario

SIOM-Interfaz AM Manual de Usuario SIOM-Interfaz AM Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_InterfazAM.doc Versión 5.0 Fecha: 2014-09-10 ÍNDICE 1 INTRODUCCIÓN 3 2 REQUISITOS PREVIOS 4 2.1 COMPONENTES

Más detalles

Curso formativo Plataforma de formación J2EE

Curso formativo Plataforma de formación J2EE Curso formativo Plataforma de formación J2EE CIFP de Valliniello Dpto. desarrollo, SATEC Introducción a Java y J2EE 1 Introducción a JAVA Es una evolución simplificada del C++ Está concebido para desarrollo

Más detalles

Tema: Introducción a Java y Netbeans

Tema: Introducción a Java y Netbeans 1 Tema: Introducción a Java y Netbeans Objetivo Especifico Conocer el uso básico del JDK para la compilación y ejecución de código java desde la linea de comando Conocer el entorno de desarrollo NetBeans

Más detalles

JavaEE. www.javasoft.com

JavaEE. www.javasoft.com JavaEE Java Enterprise Edition www.javasoft.com Por qué Java en el servidor? Ventajas Independencia de la plataforma portabilidad Gran conjunto de APIs Reusabilidad y modularidad Seguro en la ejecución

Más detalles

Tema 5. Plataforma Java EE

Tema 5. Plataforma Java EE Tema 5. Plataforma Java EE SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs enero 2009 FJRP, FMBR 2008/09 ccia SCS 5.1 Introducción a Java EE Java EE (Java Enterprise

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Identificar problemas y proponer soluciones integrando las tecnologías emergentes en Internet.

Identificar problemas y proponer soluciones integrando las tecnologías emergentes en Internet. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos: DISPOSITIVOS MOVILES Licenciatura en Informática 3-2-8 2.- HISTORIA DEL PROGRAMA

Más detalles

Curso de Android con Java

Curso de Android con Java Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Este es un tiempo único para el mundo de los celulares, en particular de los Smartphones. Este tipo de dispositivos

Más detalles

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

1. Aplicaciones del J2SE SDK1.4.2 de Sun. Dept Informatica Índice 1 Aplicaciones del J2SE SDK142 de Sun 1 11 javac 1 12 java 1 13 javadoc 2 14 Las que no se explican 3 2 Guía de estilo de Java 3 21 Clases 3 211 Nombres para las clases 3 212 Estructura

Más detalles

Java Básico. Introducción a Java. Copyright

Java Básico. Introducción a Java. Copyright Java Básico Introducción a Java Copyright Copyright (c) 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano v1.0

Más detalles

Universidad Pontificia de Salamanca en Madrid Facultad de Informática

Universidad Pontificia de Salamanca en Madrid Facultad de Informática Universidad Pontificia de Salamanca en Madrid Facultad de Informática Programa de Doctorado en Ingeniería Informática Proyecto de Suficiencia Investigatoria Propuesta de arquitectura para plataformas de

Más detalles

Notas técnicas de JAVA Nro. 7 Tip Breve

Notas técnicas de JAVA Nro. 7 Tip Breve Notas técnicas de JAVA Nro. 7 Tip Breve (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Tema: JAVA Basics: Diferencias conceptuales entre JavaBeans y Enterprise JavaBeans (EJB)

Más detalles

Notas técnicas de JAVA Nro. 6 - White Paper. JAVA Basics : Entendiendo las applets

Notas técnicas de JAVA Nro. 6 - White Paper. JAVA Basics : Entendiendo las applets Tema: Notas técnicas de JAVA Nro. 6 - White Paper (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) JAVA Basics : Entendiendo las applets Applets, servlets, JVM, Descripción: Este

Más detalles

SIGATEX Móvil. SIG para dispositivos móviles. de la Junta de Extremadura

SIGATEX Móvil. SIG para dispositivos móviles. de la Junta de Extremadura SIGATEX Móvil SIG para dispositivos móviles de la Junta de Extremadura Alumno: Alberto Romeu Carrasco (aromeu@prodevelop.es) Director: Miguel Montesinos Prodevelop (mmontesinos@prodevelop.es) Tutor: Vicente

Más detalles

DESARROLLOS JAVA PARA DISPOSITIVOS INALÁMBRICOS. MARILUZ SIERRA DUQUE mlsd@epm.net.co

DESARROLLOS JAVA PARA DISPOSITIVOS INALÁMBRICOS. MARILUZ SIERRA DUQUE mlsd@epm.net.co DESARROLLOS JAVA PARA DISPOSITIVOS INALÁMBRICOS MARILUZ SIERRA DUQUE mlsd@epm.net.co Grupo de Investigación, Desarrollo y Aplicaciones en Telecomunicaciones, GIDAT Universidad Pontificia Bolivariana, Medellín

Más detalles

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación )

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación ) Clase:003 1 Unidad I Introducción a la programación de Dispositivos Móviles (Continuación ) 2 Entornos de Desarrollo Virtualizaciones. Agenda IDE s. Y Lenguajes de Programación. 3 Virtualización Que es

Más detalles

U.T.4.EL ENTORNO DE DESARROLLO

U.T.4.EL ENTORNO DE DESARROLLO U.T.4.EL ENTORNO DE DESARROLLO Lenguaje Java Estamos en unos días en los que cada vez más la informática invade más campos de nuestra vida, estando el ciudadano medio cada vez más familiarizado con términos

Más detalles

Curso: Programación con JAVA SE Estándar Edition.

Curso: Programación con JAVA SE Estándar Edition. Curso: Programación con JAVA SE Estándar Edition. Código: 1062 Familia Profesional: Programación. Acreditación: Formación reconocida a través de vías no formales Modalidad: Distancia Duración: 150 horas

Más detalles

PROGRAMACIÓN DE JUEGOS PARA MÓVILES CON J2ME

PROGRAMACIÓN DE JUEGOS PARA MÓVILES CON J2ME P R O G R A M A C I Ó N D E J U E G O S P A R A M Ó V I L E S C O N J 2 M E PROGRAMACIÓN DE JUEGOS PARA MÓVILES CON J2ME Alberto García Serrano 0 P R O G R A M A C I Ó N D E J U E G O S P A R A M Ó V I

Más detalles

Tema 3. 3.3 Tecnologías de Desarrollo

Tema 3. 3.3 Tecnologías de Desarrollo Tema 3 3.3 Tecnologías de Desarrollo HTML pronto pasa a ser insuficiente para todas las posibilidades de la Red No se puede interactuar con el servidor Aparecen los primeros scripts para propocionar dichar

Más detalles

Situación Actual de los dispositivos móviles

Situación Actual de los dispositivos móviles Situación Actual de los dispositivos móviles Juan Manuel Cueva Lovelle www.ootlab.uniovi.es Universidad de Oviedo Contenidos Dispositivos móviles Sistemas Operativos Máquinas virtuales Software Comunicaciones

Más detalles

Cristian Blanco www.cristianblanco.es

Cristian Blanco www.cristianblanco.es INSTALACIÓN Y USO DE ENTORNOS DE DESARROLLO 2.1 ENTORNO DE DESARROLLO INTEGRADO Un entorno de desarrollo integrado (en inglés integrated development environment) es un programa informático compuesto por

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación 2 Tema 1. Características de la tecnología Java Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Describir las características ti fundamentales de la tecnología Java. Describir

Más detalles

Introducción a los MIDs. Java para MIDs. MIDlets.

Introducción a los MIDs. Java para MIDs. MIDlets. Introducción a los MIDs. Java para MIDs. MIDlets. Índice 1 Introducción a los dispositivos móviles... 2 1.1 Características de los dispositivos... 2 1.2 Aplicaciones J2ME... 11 1.3 Aplicaciones J2ME...

Más detalles

Introducción a la Tecnología

Introducción a la Tecnología Introducción a la Tecnología Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Describir la tecnología Java Describir algunos

Más detalles

Diseño y creación de aplicaciones de entretenimiento sobre dispositivos móviles

Diseño y creación de aplicaciones de entretenimiento sobre dispositivos móviles Diseño y creación de aplicaciones de entretenimiento sobre dispositivos móviles Memoria del proyecto Autor: Mario Macías Lloret Tutor: Agustín Trujillo Pino Facultad de Informática Universidad de Las Palmas

Más detalles

Técnico Superior en Programación con Java SE Standard Edition

Técnico Superior en Programación con Java SE Standard Edition Código: M087_04 Técnico Superior en Programación con Java SE Standard Edition Modalidad: Distancia Duración: 120 horas Objetivos: Este pack de materiales formativos proporcionará al alumnado la base que

Más detalles

O3 Requerimientos de Software y Hardware

O3 Requerimientos de Software y Hardware IdeaSoft Uruguay S.R.L. Phone: +598 (2) 710 4372 21 de Setiembre 2570 Fax: +598 (2) 710 4965 Montevideo http://www.ideasoft.com.uy Uruguay O3 Requerimientos de Software y Hardware Uso de memoria, espacio

Más detalles

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition

Más detalles

JAVA PARA PRINCIPIANTES

JAVA PARA PRINCIPIANTES UN POCO DE HISTORIA Java fue creado en 1991 por James Gosling de Sun Microsystems inicialmente llamado Oak que significa roble, esto debido a la cantidad de arboles que rodeaban el sitio donde este trabajaba.

Más detalles

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE PRÓLOGO... 13 APECTOS BÁSICOS DE JAVA... 15 1.1. LA MÁQUINA VIRTUAL JAVA... 15 1.2. EDICIONES JAVA... 16 1.3. ESTRUCTURA DE UN PROGRAMA JAVA... 16 1.4. EL MÉTODO

Más detalles

(volver a Tabla de Contenidos)

(volver a Tabla de Contenidos) Para escribir, compilar y ejecutar un programa en Java lo único que realmente se necesita y no viene incluido con el sistema operativo es el kit de desarrollo de Java, denominado SDK (Software Development

Más detalles

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos josealfredocobian@gmail.com Facultad de Ciencias

Más detalles

Características generales del lenguaje Java. María a Consuelo Franky

Características generales del lenguaje Java. María a Consuelo Franky Características generales del lenguaje Java María a Consuelo Franky 1 Temario ❶ Historia del desarrollo de Java ❷ Ventajas sobre otros lenguajes O.O. ❸ applets vs. aplicaciones ❹ Vistazo global a las características

Más detalles

Tema 1: Introducción a Java EE

Tema 1: Introducción a Java EE Tema 1: Introducción a Java EE Índice Arquitecturas características de las aplicaciones empresariales Tecnologías J2EE Alternativas a J2EE Patrones arquitectónicos Model-View-Controller y Layers Recursos

Más detalles

PROYECTO FIN DE CARRERA LOCALIZACIÓN DE MÓVILES CON GPS

PROYECTO FIN DE CARRERA LOCALIZACIÓN DE MÓVILES CON GPS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN UNIVERSIDAD POLITÉCNICA DE CARTAGENA PROYECTO FIN DE CARRERA LOCALIZACIÓN DE MÓVILES CON GPS AUTOR: DIRECTOR: José Luis Marín Marín José Fernando

Más detalles

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES Instituto de Formación Profesional CBTech Estudie desde su hogar y obtenga un certificado universitario Formación a distancia de EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES 1 Introducción

Más detalles

Mejor tecnología para aplicación práctica NOMAD

Mejor tecnología para aplicación práctica NOMAD TECNOLOGÍA APLICACIÓN PRÁCTICA NOMAD: NOMADIC MODEL FOR THE DISPLAY ADAPTATION ORIENTED TO FINAL USERS NOMAD Mejor tecnología para aplicación práctica NOMAD Luis Carlos Niño Tavera Juan Carlos Nova El

Más detalles

Manual de Administrador. Open Office

Manual de Administrador. Open Office Manual de Administrador Open Office Índice 1 Introducción...2 1.1 Subprogramas de Open Office... 2 1.2 Ventajas de OpenOffice.org... 3 2 Contratación del Servicio...4 2.1 Alta en Open Office Respuesta

Más detalles

SIOM-Interfaz AM Manual de Usuario

SIOM-Interfaz AM Manual de Usuario SIOM-Interfaz AM Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_InterfazAM.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 REQUISITOS PREVIOS 4 2.1 COMPONENTES

Más detalles

Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas

Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas Memoria resumen del Proyecto de Innovación Docente (PID) Ref.: 52B (periodo 2009-2011) Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas Investigador Principal:

Más detalles

COLEGIO DE BACHILLERES ELABORADO POR: ING. IVETT ZARZA HIDALGO Y LIC. CLAUDIA HERNÀNDEZ ALPÍZAR PROFA. DE INFORMATICA Y DE CECAT-INFORMATICA

COLEGIO DE BACHILLERES ELABORADO POR: ING. IVETT ZARZA HIDALGO Y LIC. CLAUDIA HERNÀNDEZ ALPÍZAR PROFA. DE INFORMATICA Y DE CECAT-INFORMATICA Visual Basic.NET es la última versión del sistema de desarrollo Visual Basic. Antes de empezar a crear aplicaciones en Visual Basic.NET, le será útil conocer y entender algunos conceptos básicos de.net.

Más detalles

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Vivimos en un mundo globalizado, donde la eficiencia y productividad de las empresas es un factor crucial para

Más detalles