Java móvil y embebido



Documentos relacionados
Java y la tecnología móvil

Java en la nube. III Jornadas de Ingeniería de Sistemas IUP Santiago Mariño

Capitulo 4. JavaFX. Se da a conocer la plataforma de desarrollo JavaFX, los niveles en el cual se encuentra

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

III Jornadas de Tecnología Java. Java Destilado. Francisco Morero Peyrona Sun Ambassador Sun Awarded Engineer

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

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

Módulo 2. Inicio con Java

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

Programador en Plataforma Java y XML

Capitulo 1: Plataforma Android

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina

Moving Java into mobile phones

Curso de Android con Java

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

Desarrollo de Aplicaciones Móviles. Java

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

1. INTRODUCCIÓN Y OBJETIVOS

INF 473 Desarrollo de Aplicaciones en

Lic. Sofia J. Vallejos

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

Maquinas virtuales Conceptos Básicos

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

DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire tw: martosfre

PROGRAMA FORMATIVO Desarrollo de aplicaciones Móviles Java ME

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

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

PROGRAMACIÓN DE APLICACIONES PARA ANDROID. 30 horas 45 días

TEMA 1. Introducción

Tema 1. Introducción a JAVA

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

(Integrated Development Environment) Herramienta de soporte para el desarrollo de sotfware: Editor (escribir y editar programas); un

Estándares y lenguajes de marcado para el desarrollo de aplicaciones web orientadas a dispositivos moviles Esteban Saavedra Lopez

EXPERTO EN DESARROLLO DE APLICACIONES MÓVILES" Curso especialista (500 horas)

CAPÍTULO 1 Instrumentación Virtual

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Desarrollo de apps para móviles Android. Introducción a Android

picojava TM Características

/ FUNDAMENTOS DE DESARROLLO DE SOFTWARE

Historia de revisiones

Tema 1. Java: Conceptos generales

Desarrollo de Aplicaciones con Tecnologías Web

Tecnología de control para una eficiencia a largo plazo de instalaciones fotovoltaicas

Capitulo 1. Introducción a Objetos de Aprendizaje Móvil

Tema 2: Introducción a Android

Transición de su infraestructura de Windows Server 2003 a una solución moderna de Cisco y Microsoft

Software de sistema: Programas genéricos que permiten gestionar los recursos del ordenador.

PC todo en uno con pantalla de 15,6" multitáctil con 10 puntos simultáneos y módulo NFC*

asired middleware XML Así-Red Servicios Telemáticos, S.L.L. w w w. a s i r e d. e s

APP DEV. Construimos tus ideas en aplicaciones web y móviles. steicho. Technological Solutions

DESARROLLO DE APLICACIONES ACCESIBLES

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

Capítulo 5. Cliente-Servidor.

Arquitectura de Software

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

Aplicaciones SIG Out Of The Box: AppStudio & Web AppBuilder. Sergio Galindo

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL

TFM Comunicación, Redes y Gestión de Contenidos


Capítulo 7. Implementación del Sistema

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

Ayuntamiento de Castellón: una estrategia multicanal de interacción electrónica con la ciudadanía

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES

IFCD05 Desarrollo de Aplicaciones Móviles Java ME

El cliente rico, modelo alternativo de evolución de un puesto de trabajo basado en SW libre

Las Tecnologías de la Información y las Comunicaciones en Formación Profesional. Contenidos relevantes

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

Java Avanzado Facultad de Ingeniería. Escuela de computación.

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

Sistema de gestión de procesos institucionales y documental.

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

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

INTRODUCCIÓN A JAVA. Índice

Desarrollo Web. Realizamos todo tipo de páginas web adaptando el diseño a tus gustos y posibilidades.

Software Computacional y su clasificación

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO

hacer negocios online

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C.

Capítulo 3. Diseño y Arquitectura del Sistema

Objetivos y Temario CURSO DESARROLLO DE APLICACIONES EN LA NUBE PARA DISPOSITIVOS MOVILES OBJETIVOS

Aspectos clave para el desarrollo de aplicaciones móviles

Open Trade. la primera plataforma de comunicaciones inteligente para salas de trading. el asistente de trading personal perfecto

Talento Digital. Relación de programas oficiales de certificación en plataformas de desarrollo Web y Móviles mundialmente reconocidas

Arquitectura de Software del SIAFI AREA DE DESARROLLO UDEM

MATERIAL DE TRABAJO 1. Evaluación del software

POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP?

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

PROGRAMA FORMATIVO: DESARROLLO DE APLICACIONES PARA MÓVILES CON TECNOLOGÍA IBM

OLIMPO Servidor Universal

MS_20489 Developing Microsoft SharePoint Server 2013 Advanced Solutions

Ingeniería Web. Pablo Sevilla Jarquín

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

CAPITULO 3 VRML-JAVA-WWW

Windows Server 2012: Infraestructura de Escritorio Virtual

Diseño dinámico de arquitecturas de información

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes

DATOS IDENTIFICATIVOS DEL MÓDULO FORMATIVO IMPLANTACIÓN DE APLICACIONES WEB EN ENTORNO INTERNET, INTRANET Y EXTRANET.

Integración de Dispositivos Telefónicos

Transcripción:

Java móvil y embebido Jorge Salazar Tovar Venezuela Java User Group jfexart@gmail.com http://jfexart.com JINFOUNEG 2011 4ta Jornadas de Ingeniería en Informática Puerto Ordaz, 11 y 12 de Noviembre 2011

System.out.print( Hola mundo! ); TSU en Informática IBM ACE/ACSE Oracle OCPJP OCAJ OCAM Desarrollador y consultor Java Líder fundador de Venezuela Java User Group Ex líder de Venezuela OpenSolaris User Group Blogger aficionado Conferenciante Entusiasta de tecnologías libres y abiertas

Agenda Un poco sobre Java Java móvil Oracle Java Wireless Client 3.0 (OJWC) Lightweight UI Toolkit (LWUIT) Java ME + Web Evolución de la plataforma Java ME Java embebido Java: La mejor plataforma para embebido Dos configuraciones de Java embebido Java SE y Java ME

Acerca de Java Lenguaje de programación orientado a objeto Creado por Sun Microsystems Lanzado en el año 1995 Su padre creador: James Gosling Adquirido por Oracle Corporation en el año 2010

Acerca de Java Plataformas: Java Card, JavaME, JavaSE: JavaEE y JavaFX Más de 5.000 millones de dispositivos usan la tecnología Java Software libre: OpenJDK Última versión: JavaSE 7 (07.07.2011)

Características de Java Multiplataforma (Windows, Linux, Mac, Solaris) Java Virtual Machine (JVM) Compila código fuente a Java bytecode Portabilidad y seguridad Múltiples usos: Aplicaciones de escritorio, sistemas de servidor, navegadores web, dispositivos móviles, sistemas embebidos

Java en todos lados

El espectro de Java Key APIs Plataforma Lenguaje Servidores Desktop Java EE JavaFX Java SE Embebido TV Móvil Java TV MSA Java ME Lenguaje Java Card Java Card

Plataforma Java ME Objetivos de diseño Modernización de la plataforma ME.next: especificaciones actualizadas de la plataforma Bajo footprint, runtimes de alto rendimiento Integración de tecnologías Web Potenciar el Servicio de Valor Agregado en la pila de Java móvil Permitir al desarrollador servicios como el pago y la publicidad Acceso a los servicios del operador a través de las Network APIs Conjunto de aplicaciones base pre-integradas y optimizadas Transformar la experiencia al consumidor Fácil acceso desde dispositivos a principales tiendas de aplicaciones Soluciones de gestión de contenidos en dispositivos

Java móvil Productos y tecnologías 2011 Modernización del Mobile Java Runtine Oracle Java Wireless Client 3.0 Implementación de Java superior APIs de Oracle para desarrolladores Java + Web Herramientas ME SDK 3.1 LWUIT 1.5 Java ME 6 (ME.next)

OJWC 3.0 Características modernas Características Web UI (JSR 290) Optimizaciones de LWUIT Telefonía, Subsistema Multimedia IP Puente Java/JavaScript APIs de Oracle para desarrolladores Personalización basada en SIM VM multi-tarea, alto rendimiento Componentes opcionales Runtime Web Integrado

OJWC 3.0 Manejando nuevos casos de uso

OJWC 3.0 Código de ejemplo de JSR 290 Embebiendo vista HTML dentro de Java FluidImage fi = FluidManager.createImage( file:///index.html, ); FluidPlayer fp = FluidManager.createPlayer(fI, javax.microedition.lcdui.canvas); FluidComponent fc = (FluidComponent)fluidPlayer.getTargetComponent(); fi.setviewportwidth(width); fi.setviewportheight(height); fluidplayer.play() Display.getDisplay(this)setCurrent((Canvas)fC);

Interfaz de usuario Lightweight UI Toolkit (LWUIT) Crea interfaces de usuario enriquecidas fácilmente para aplicaciones Java Ligero y flexible Footprint reducido, unos 50Kb Modelo de componentes UI avanzados, altamente personalizable Corre en cualquier dispositivo CLDC 1.1 - MIDP 2.0 Se utiliza como librería independiente, incluida dentro de la aplicación Fuerte adopción por desarrolladores Comercialmente usada por Comverse VVM, Emoze email, Telmap, majimob, 8motions, MEP, StoreFront, Micello Integrado en Java ME SDK 3.0.5 Activa comunidad open source en java.net

Lightweight UI Toolkit Características claves Desarrollo rápido MVC al estilo Swing API limpia y clara Consistente y flexible Portable, extendible Soporte de pantallas táctiles Widgets enriquecidos 3D, integración SVG Probado en amplia gama de dispositivos

Lightweight UI Toolkit Código de ejemplo Representación de texto enriquecido/xhtml HTMLComponent htmlc = new HTMLComponent(new HttpRequestHandler()); Form form = new Form(); form.addcomonent(htmlc); form.show(); htmlc.setpage(http://wap.cclol.com/thedailyshow.rbml);

LWUIT 1.5 Principales mejoras Nuevo tipo de List: ContainerList Mejora en la integración de componentes nativos Nuevo componente para el manejo de vídeo Nueva API de audio Nuevo componente de pestañas Componente Slider Botones de activación (toggle buttons) Teclado virtual integrado (VKB) Desempeño de imágenes

LWUIT 1.5 Otras mejoras Nuevas plataformas Java SE Permite creación de prototipos, demostración y depuración de aplicaciones LWUIT en la parte superior de Java SE, incluyendo la posibilidad de embeber aplicaciones LWUIT como un Applet Soporte Blackberry Torch Muchas nuevas características incluyen soporte para dispositivos Blackberry Torch y mejoras en la entrada nativa Mejoras en las herramientas Nuevo constructor de GUI como parte de la herramienta de editor de recursos Rediseño del editor de recursos, incluyendo muchas mejoras de usabilidad

Java ME + Web Descripción de arquitectura Extensiones JavaScript Múltiples modelo de aplicación Integración de sistema de gestión de aplicación Alta portabilidad Beneficios claves Capacidad de acceso a dispositivo y lógica de negocio Java desde aplicaciones web Representación web dentro de aplicaciones Java Perfecta integración entre aplicaciones Java y aplicaciones web

Java ME + Web Código de ejemplo Llamando código Java desde JavaScript function startmusic() { Widget = new bridge.javapackages.com.sun.j2me.jil.widget.widget(); AudioPlayer = Widget.Multimedia.AudioPlayer; var fileurl = "http://localhost/music.mp3"; AudioPlayer.open(fileUrl); AudioPlayer.play(1); }

Java ME + Web Código de ejemplo Llamando código Java desde JavaScript function loadbirthdays() { var PIM = bridge.javapackages.javax.microedition.pim.pim; var Contact = bridge.javapackages.javax.microedition.pim.contact; var result = new Array(); var items = PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY).items(); while (items.hasmoreelements()) { var item = items.nextelement(); if (item.countvalues(contact.birthday) > 0) { var name = item.getstring(contact.formatted_name, 0); var birthday = item.getdate(contact.birthday, 0); result.push(new Record(name, birthday)); } } return result; }

Java ME 6 Evolución de la plataforma CLDC/CDC Oracle se comprometió con la modernización de la plataforma Java ME Una propuesta para la evolución de Java ME fue enviada al comité ejecutivo del JCP Elementos claves de la propuesta de evolución de Java Adoptar o incorporar las mejoras del lenguaje o plataforma de JDK 1.6 Impulso para una mayor coincidencia entre CDC y CLDC Extender APIs y capacidades de los nuevos o ya existentes paquetes opcionales Oracle tiene la intención de soportar Java ME.next en productos futuros

Java La mejor plataforma para sistemas embebidos 1 2 3 Todas las ventajas del lenguaje Java y la máquina virtual: independencia, multiplataforma, multi-hilo, multi-core, gestión de memoria, seguridad, etc. Plataforma probada, robusta, segura y de alto rendimiento, desplegada en una amplia gama de entornos Aísla tus aplicaciones de las variaciones de lenguaje y plataforma (ej. C/C++, kernel, diferencias de libc) 4 Soporte de las principales características de sistemas embebidos (bajo footprint, gestión de energía, baja latencia, etc) 5 Soporta los procesadores embebidos más populares, permitiendo flexibilidad en el diseño 6 Desacopla el desarrollo de software del ciclo de desarrollo de hardware 7 Totalmente orientado a objetos y altamente productivo, APIs, runtime y herramientas que permiten un rápido desarrollo y despliegue 8 Aprovecha la gran base de desarrolladores Java y su ecosistema 9 Crea fácilmente soluciones integradas end-toend con servicios Java back-end 10 Escalable para crear soluciones desde dispositivos con restricciones a sistemas server-class

Clientes de Java embebido Dos configuraciones Java SE Soporte gráfico completo, incluyendo Swing Incluye todas las APIs de Java SE Java ME SE headless Plataforma Java SE Paquetes opcionales CDC Varios ports completos de Java SE 6 Seguridad, AWT, AGUI/Swing, XML, media Contenedor móvil para MSA Estándares de la industria para TV, OSGi, etc Al día con las APIs de Java y el lenguaje Enfoque: dispositivos de gama media y alta Plataforma Java ME CDC Java SE HotSpot CDC Sistema Operativo Embebido Núcleo basado en un subconjunto de JDK 1.4 Basado en varios entandares de la industria de sistemas integrados Enfoque: dispositivos de gama baja y media

Java SE embebido Características y mercado Características Como Java SE, pero optimizado para sistemas embebidos Reducción de memoria y footprint Optimizado para poca memoria, gestión de energía optimizada, soporte multi-core Mercado ATMs, parquímetros, sistemas de punto de venta Impresoras multifuncionales Módulos de energía inteligente, medidores inteligentes Netbooks, PCs industriales Automatización de fábricas, lectores RFID Comunicación de voz, vídeo conferencia Routers, switches, dispositivos de almacenamiento Imágenes médicas, radares

Java ME embebido Características y mercado Características Líder en la industria Alto rendimiento y fiabilidad con bajos requerimientos Portado a un gran número de procesadores y sistemas operativos, altamente configurable Mercado Reproductores Blu-ray, televisores digitales, decodificadores, reproductores Equipos de red y dispositivos de almacenamiento Telefonía VoIP Lectores de libros electrónicos Medidores inteligentes Automotriz / Telemática Impresoras multifuncionales Terminales de mano / Quioscos

Muchas gracias! Visítame blog.jfexart.com Escríbeme jfexart@gmail.com Sígueme @jfexart