SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Instituto Tecnológico de la Laguna
             Ingeniería en Sistemas Computacionales
            TOPICOS AVANZADOS DE PROGRAMACIÓN




SEMESTRE:     Ene-Jun / 2013              GRUPO: “B” 17 – 18 Hrs


UNIDAD:       1                           TAREA:      1



                  Ediciones de Java


ALUMNO:

             11130515 Iván Alfonso García Ramírez




PROFESOR:
                  Ing. Luis Fernando Gil Vázquez




              Torreón, Coah. a 3 de Febrero de 2013
ITL                                Tópicos Avanzados de Programación        Ene-Jun/2013


Resumen
La   presente  investigación  describe   las  diferentes   colecciones  de   API’s  y
especificaciones de la plataforma Java, para crear aplicaciones en diversos
dispositivos y entornos.
Existen Java SE (ó J2SE), que es la especificación utilizada para crear aplicaciones
de escritorio; Java ME, usada para crear aplicaciones para dispositivos móviles
(celulares, PDA’s, etc.); JavaFX, que se presenta como un competidor directo para
Flash y Silverlight para el desarrollo de RIA’s (Aplicaciones Enriquecidas para
Internet); Java Embedded, para crear aplicaciones en dispositivos embebidos; Java DB,
para acceso a datos; Java EE, para creación de aplicaciones empresiariales altamente
escalables en entornos web.


Introducción
¿Qué es Java?
Java es un lenguaje de programación y la primera plataforma informática creada por Sun
Microsystems en 1995. Es la tecnología subyacente que permite el uso de programas
punteros, como herramientas, juegos y aplicaciones de negocios. Java se ejecuta en más
de 850 millones de ordenadores personales de todo el mundo y en miles de millones de
dispositivos, como dispositivos móviles y aparatos de televisión. Java, como lenguaje,
soporta la Programación Orientada a Objetos, es multiplataforma, y es software libre,
¿Por qué conocer las diferentes ediciones de Java?
Como desarrolladores de software, estamos obligados a conocer todas las posibilidades
que una plataforma de desarrollo nos provee, sus fortalezas y ventajas sobre el uso de
otras herramientas.

Java SE
Java Platform, Standard Edition o Java SE (conocido anteriormente hasta la versión 5.0
como Plataforma Java 2, Standard Edition o J2SE), es una colección de APIs del
lenguaje de programación Java útiles para muchos programas de la Plataforma Java.
Orientado al desarrollo de aplicaciones cliente / servidor. No incluye soporte a
tecnologías para internet. Es la base para las otras distribuciones Java
Paquetes de propósito especial
    java.applet: Creado para soportar la creación de applet Java, el paquete
      java.applet permite a las aplicaciones ser descargadas sobre una red y
      ejecutarse dentro de una sandbox. Las restricciones de seguridad son impuestas
      fácilmente en la sandbox. Un desarrollador, por ejemplo, puede aplicar una firma
      digital a un applet, en consecuencia etiquetándola como segura. Haciéndolo
      permite al usuario conceder permiso al applet para realizar operaciones
      restringidas (tales como acceder al disco duro local), y elimina alguna o todas
      las restricciones de la sandbox. Los certificados digitales son emitidos por
      agencias como Thawte o Entrust.
    java.beans: Incluidos en el paquete java.beans hay varias clases para
      desarrollar y manipular beans, componentes reutilizables definidos por la
      arquitectura JavaBeans. La arquitectura suministra mecanismos para manipular
      propiedades de componentes y lanzar eventos cuando esas propiedades cambian. La
      mayoría de las APIs en java.beans están pensadas para su uso en herramientas de
      edición de beans, en la cual los beans puedan combinarse, personalizarse y
      manipularse. Un tipo de editor bean es el diseñador GUI en un entorno de
      desarrollo integrado (IDE).
    java.awt: La Abstract Window Toolkit contiene rutinas para soportar operaciones
      básicas GUI y utiliza ventanas básicas desde el sistema nativo subyacente.
      Muchas implementaciones independientes de la API Java implementan todo excepto
      AWT, el cual no es usado por la mayoría de las aplicaciones de lado de servidor.
      Este paquete también contiene la API de gráficos Java 2D.
    java.rmi: El paquete java.rmi suministra invocación a métodos remotos Java para
      soportar llamadas a procedimientos remotos entre dos aplicaciones Java que se
      ejecutan en diferentes JVM. Esto es esencial para tener en cuenta en la
      certificación
    java.security: Soporte para seguridad, incluyendo el algoritmo de resumen de
      mensaje, está incluido en el paquete java.security.
    java.sql: Una implementación de la API JDBC (usada para acceder a bases de datos
      SQL) se agrupa en el paquete java.sql.
                                                                                   Pag. 2
ITL                                    Tópicos Avanzados de Programación        Ene-Jun/2013


         javax.rmi: suministra el soporte para la comunicación remota entre aplicaciones,
          usando el protocolo RMI sobre IIOP. Este protocolo combina características de
          RMI y CORBA.
         org.omg.CORBA: Suministra el soporte para comunicación remota entre aplicaciones
          usando general inter ORB protocol y soporta otras características de common
          object request broker architecture. Igual que RMI y RMI-IIOP, este paquete es
          para llamar métodos remotos de objetos en otras máquinas virtuales (normalmente
          por la red). De todas las posibilidades de comunicación CORBA es la más portable
          entre varios lenguajes. Sin embargo es también un poco difícil de comprender.
         javax.swing: Swing es una colección de rutinas que se construyen sobre java.awt
          para suministrar un toolkit de widgets independiente de plataforma. Swing usa
          las rutinas de dibujado 2D para renderizar los componentes de interfaz de
          usuario en lugar de confiar en el soporte GUI nativo subyacente del Sistema
          operativo. Swing es un sistema muy rico por sí mismo, soportando pluggable looks
          and feels (PLAFs) para que los controles(widgets) en la GUI puedan imitar a
          aquellos del sistema nativo subyacente. Los patrones de diseño impregnan el
          sistema, especialmente una modificación del patrón modelo-vista-controlador, el
          cual afloja el acoplamiento entre función y apariencia. Una inconsistencia es
          que (para J2SE 1.3) las fuentes son dibujadas por el sistema nativo subyacente,
          limitando la portabilidad de texto. Mejoras, tales como usar fuentes de mapas de
          bits, existen. En general, las layouts(disposiciones de elementos) se usan y
          mantienen los elementos dentro de una GUI consistente a través de distintas
          plataformas.
         javax.swing.text.html.parser: Suministra el parser de HTML tolerante a errores
          que se usa para escribir varios navegadores web y web bots.


Java EE
La plataforma Java Enterprise Edition (Java EE) son un conjunto de especificaciones
que facilitan el desarrollo y despliegue de aplicaciones empresariales multi-capa.
Java EE ofrece un conjunto de especificaciones y técnicas que proporcionan soluciones
completas, seguras, estables y escalables para el desarrollo, despliegue y gestión de
aplicaciones de múltiples niveles de funcionalidad basadas en servidores. Se reduce el
costo y complejidad de desarrollo, lo cual resulta en servicios que se pueden
desplegar y extender fácilmente.

Java ME
La plataforma Java Micro Edition (Java ME), o anteriormente Java 2 Micro Edition
(J2ME), es una especificación de un subconjunto de la plataforma Java orientada a
proveer una colección certificada de APIs de desarrollo de software para dispositivos
con recursos restringidos. Está orientado a productos de consumo como PDAs, teléfonos
móviles o electrodomésticos.
Java ME se ha convertido en una buena opción para crear juegos en teléfonos móviles
debido a que se puede emular en un PC durante la fase de desarrollo y luego subirlos
fácilmente al teléfono. Al utilizar tecnologías Java el desarrollo de aplicaciones o
videojuegos con estas APIs resulta bastante económico de portar a otros dispositivos.
La tecnología Java ME se creó originalmente para paliar las limitaciones asociadas a
la creación de aplicaciones para pequeños dispositivos. Con este fin Oracle ha
definido los fundamentos de la tecnología Java ME para adaptarse a entornos limitados
y hacer posible la creación de aplicaciones Java que se ejecuten en pequeños
dispositivos con memoria, visualización y potencia limitadas.

Java DB
Java DB es una distribución soportada por Oracle de la Base de Datos de código abierto
Apache Derby. Soporta el estándar ANSI/ISO SQL a través de JDBC y las API’s de Java
EE. Java DB está incluida en el JDK.
Características
    Funcionalidad completa y fácil de usar
    Transacciones protegidas y recuperables a fallos
    Insertable en aplicaciones
    Java puro y portable a través de CDC FP 1.1, Java 5, Java 6, Java 7 (todos los
      dispositivos, desde tablets hasta mainframes)
    Incluido en el JDK

                                                                                       Pag. 3
ITL                                Tópicos Avanzados de Programación        Ene-Jun/2013


         Compacto (2.6 MB)


Java TV
Java TV es un famework basado en Java orientado a su uso en decodificadores de TV,
apoyándose en componentes llamados Xlets. Actualmente es usado solo en la
Configuración del Dispositivo Conectado, específicamente para el desarrollo de
aplicaciones para iTV (Televisiones Inteligentes.
La API incluye las clases de Xlet en el paquete javax.tv.xlet. Otros paquetes que la
API pública incluye son:
    javax.tv.graphics: prove un lienzo simple de renderizado.
    javax.tv.loactor: provee un localizador in la forma de una URL para servicios y
      multimedia.
    javax.tv.service: define un mecanismo para servicios de información, bases de
      datos y API’s que representan los elementos del SI, como los canales de TV y la
      multimedia disponible para reproducir.

JavaFX
JavaFX es una familia de productos y tecnologías de Sun Microsystems, adquirida por
Oracle Corporation, para la creación de Rich Internet Applications (RIAs), esto es,
aplicaciones web que tienen las características y capacidades de aplicaciones de
escritorio, incluyendo aplicaciones multimedia interactivas. Las tecnologías incluidas
bajo la denominación JavaFX son JavaFX Script y JavaFX Mobile, aunque hay más
productos JavaFX planeados.
Las aplicaciones JavaFX pueden ser ejecutadas en una amplia variedad de dispositivos.
En su versión (JavaFX 1.3, abril 2010) permite crear aplicaciones de escritorio, para
celulares, la Web, TV, consolas de videojuegos, reproductores Blu-ray, entre otras
plataformas planeadas. En octubre de 2011 fue lanzada la versión 2.0. Para el
desarrollo de aplicaciones JavaFX un lenguaje declarativo, tipado llamado JavaFX
Script, además puede integrarse código Java en programas JavaFX. JavaFX es compilado a
código Java, por lo que las aplicaciones JavaFX pueden ser ejecutadas en computadores
con la máquina virtual de Java instalada (JRE), o celulares corriendo Java ME.

Java Card
Dentro de la categoría de SmartCards con microprocesador se encuentran las llamadas
JavaCards o Java SmartCards. Una JavaCard es una SmartCard capaz de ejecutar programas
desarrollados en Java. Originalmente, las aplicaciones para SmartCards eran escritas
en lenguajes específicos de los proveedores de SmartCards (normalmente el ensamblador
del microprocesador utilizado, o eventualmente C). El lema "escribe una vez, corre en
cualquier lado" hizo que Java fuese una solución a este problema. La primera JavaCard
en salir al mercado fue producida por Schlumberger, aún antes de que Sun fijara el
standard.
En pocas palabras, una JavaCard es una tarjeta con microprocesador que puede ejecutar
programas (llamados applets) escritos en un subset del lenguaje Java.
Los componentes principales dentro de una JavaCard son el microprocesador y las
memorias. La arquitectura básica de una JavaCard consiste de Applets, JavaCard API,
JavaCard Virtual Machine (JCVM) [SUN2] / JavaCard Runtime Environment (JCRE) [SUN1], y
el sistema operativo nativo de la tarjeta.
La máquina virtual corre sobre el sistema operativo de la tarjeta, y se puede ver como
una abstracción del mismo. Sobre la máquina virtual se encuentra el JavaCard
Framework, que es un conjunto de clases necesarias para el funcionamiento del JCRE y
JavaCard API, así como clases utilitarias comerciales o extensiones propietarias del
fabricante de la tarjeta. Finalmente, haciendo uso de este ambiente se encuentran los
applets.

Java Embedded
Java para dispositivos embebidos (Java Embedded) es integrado generalmente por los
fabricantes de dispositivos. No está disponible para descarga o instalación por
clientes, Debe verificar con el fabricante de su dispositivo sobre la disponibilidad
de esta tecnología en su dispositivo.
Dispositivos   embebidos,   o  sistemas  embebidos,   son   sistemas  computacionales
especializados que constituyen componentes de enormes sistemas electromecánicos con
los que interactúan. Pueden variar desde los chips en su tarjeta de identificación de
la oficina o tarjeta de crédito, hasta componentes de sistemas de servidor de enormes
dimensiones. Muchos de los dispositivos conectados y sofisticados que facilitan
                                                                                   Pag. 4
ITL                                Tópicos Avanzados de Programación          Ene-Jun/2013


nuestras actividades diarias son “embebidos”. Algunos ejemplos comunes incluyen
tarjetas SIM, teléfonos VOIP, reproductores de Blu-Ray, televisiones, etc. Java
Embedded de Oracle provee la plafarma de desarrollo y tiempo de ejecución para
billones de estos dispositivos.


Conclusiones
La plataforma Java permite desarrollar cualquier tipo de aplicación para prácticamente
cualquier tipo de dispositivo. No es ni un lenguaje ni plataforma amarrado a un
sistema operativo, es además de código abierto y dispone de una gran comunidad de
desarrolladores.
Conocer esta plataforma brindará un enorme campo laboral, y una gran ventaja en el
mundo del desarrollo de software.

Referencias
“Java SE”, Wikipedia.org, Página Web
http://es.wikipedia.org/wiki/Java_SE
Fecha Consulta: 02 de Febrero de 2013

“Versiones y distribuciones de Java: J2SE, J2EE, J2ME. ¿Java 6, Java 7, cuál es mejor
usar? (CU00606B)”, AprendeAProgramar.com, Página Web
Fecha Consulta: 02 de Febrero de 2013

“Java Enterprise Edition”, Jatun S.R.L. Innovación & Desarrollo, Página Web
http://www.jatun.com/web/company/training/javaee5
Fecha Consulta: 02 de Febrero de 2013
“Java Micro Edition”, Wikipedia.org, Página Web
http://es.wikipedia.org/wiki/Java_Micro_Edition
Fecha Consulta: 02 de Febrero de 2013

“¿Qué es J2ME o Java ME?”, Oracle Inc., Página Web
http://www.java.com/es/download/faq/whatis_j2me.xml
Fecha Consulta: 02 de Febrero de 2013
“Java DB”, Oracle, Inc., Página Web
http://www.oracle.com/technetwork/java/javadb/overview/index.html
Fecha Consulta: 02 de Febrero de 2013

“Java TV”, Wikipedia.org, Página Web
http://en.wikipedia.org/wiki/Java_TV
Fecha Consulta: 02 de Febrero de 2013
“JavaFX”, Wikipedia.org, Página Web
http://es.wikipedia.org/wiki/JavaFX
Fecha Consulta: 02 de Febrero de 2013
“Descarga e Instalación de JavaFX”, Oracle Inc., Página Web
http://java.com/es/javafx/javafx_install.jsp
Fecha Consulta: 02 de Febrero de 2013

“Programación de Java Cards”,Daniel Perovich, Leonardo Rodríguez, Martín Varela,
Documento                       PDF                       en                    Web
http://www.fing.edu.uy/inco/grupos/mf/Proyectos/Grado/JavaCard/progjavacard.pdf
Fecha Consulta: 02 de Febrero de 2013
“How do I get Java for Embedded Devices?“, Oracle Inc., Página Web
http://java.com/en/download/faq/java_embedded.xml
Fecha Consulta: 02 de Febrero de 2013




                                                                                     Pag. 5

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Java basico
Java basicoJava basico
Java basico
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
 
Compiladores (python)
Compiladores (python)Compiladores (python)
Compiladores (python)
 
Ut
UtUt
Ut
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Java
 
Java Es O No Software Libre
Java Es O No Software LibreJava Es O No Software Libre
Java Es O No Software Libre
 
Java presentation
Java presentationJava presentation
Java presentation
 
Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones android
 
JAVA
JAVAJAVA
JAVA
 
Clase2
Clase2Clase2
Clase2
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicos
 
Curso Java Inacap
Curso Java InacapCurso Java Inacap
Curso Java Inacap
 
Presentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones javaPresentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones java
 
Qué es java
Qué es javaQué es java
Qué es java
 
Carasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharCarasteristicas de compiladores sheshar
Carasteristicas de compiladores sheshar
 
Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazo
 
Java Speech API
Java Speech APIJava Speech API
Java Speech API
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
JAVA
JAVAJAVA
JAVA
 

Similar a Ediciones de java

Similar a Ediciones de java (20)

CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVA
 
Java
JavaJava
Java
 
definicion de java
definicion de javadefinicion de java
definicion de java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
 
Mi Lenguaje de Programación Preferido
Mi Lenguaje de Programación PreferidoMi Lenguaje de Programación Preferido
Mi Lenguaje de Programación Preferido
 
Guia 1 java
Guia 1 javaGuia 1 java
Guia 1 java
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
 
Conceptos de programación orientada a objeto
Conceptos de programación orientada a objetoConceptos de programación orientada a objeto
Conceptos de programación orientada a objeto
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
 
Net vs java
Net vs javaNet vs java
Net vs java
 
Programación de Software - Java
Programación de Software - JavaProgramación de Software - Java
Programación de Software - Java
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Diccionario 1
Diccionario 1Diccionario 1
Diccionario 1
 
Java Micro Edition "J2ME"
Java Micro Edition "J2ME"Java Micro Edition "J2ME"
Java Micro Edition "J2ME"
 

Ediciones de java

  • 1. Instituto Tecnológico de la Laguna Ingeniería en Sistemas Computacionales TOPICOS AVANZADOS DE PROGRAMACIÓN SEMESTRE: Ene-Jun / 2013 GRUPO: “B” 17 – 18 Hrs UNIDAD: 1 TAREA: 1 Ediciones de Java ALUMNO: 11130515 Iván Alfonso García Ramírez PROFESOR: Ing. Luis Fernando Gil Vázquez Torreón, Coah. a 3 de Febrero de 2013
  • 2. ITL Tópicos Avanzados de Programación Ene-Jun/2013 Resumen La presente investigación describe las diferentes colecciones de API’s y especificaciones de la plataforma Java, para crear aplicaciones en diversos dispositivos y entornos. Existen Java SE (ó J2SE), que es la especificación utilizada para crear aplicaciones de escritorio; Java ME, usada para crear aplicaciones para dispositivos móviles (celulares, PDA’s, etc.); JavaFX, que se presenta como un competidor directo para Flash y Silverlight para el desarrollo de RIA’s (Aplicaciones Enriquecidas para Internet); Java Embedded, para crear aplicaciones en dispositivos embebidos; Java DB, para acceso a datos; Java EE, para creación de aplicaciones empresiariales altamente escalables en entornos web. Introducción ¿Qué es Java? Java es un lenguaje de programación y la primera plataforma informática creada por Sun Microsystems en 1995. Es la tecnología subyacente que permite el uso de programas punteros, como herramientas, juegos y aplicaciones de negocios. Java se ejecuta en más de 850 millones de ordenadores personales de todo el mundo y en miles de millones de dispositivos, como dispositivos móviles y aparatos de televisión. Java, como lenguaje, soporta la Programación Orientada a Objetos, es multiplataforma, y es software libre, ¿Por qué conocer las diferentes ediciones de Java? Como desarrolladores de software, estamos obligados a conocer todas las posibilidades que una plataforma de desarrollo nos provee, sus fortalezas y ventajas sobre el uso de otras herramientas. Java SE Java Platform, Standard Edition o Java SE (conocido anteriormente hasta la versión 5.0 como Plataforma Java 2, Standard Edition o J2SE), es una colección de APIs del lenguaje de programación Java útiles para muchos programas de la Plataforma Java. Orientado al desarrollo de aplicaciones cliente / servidor. No incluye soporte a tecnologías para internet. Es la base para las otras distribuciones Java Paquetes de propósito especial  java.applet: Creado para soportar la creación de applet Java, el paquete java.applet permite a las aplicaciones ser descargadas sobre una red y ejecutarse dentro de una sandbox. Las restricciones de seguridad son impuestas fácilmente en la sandbox. Un desarrollador, por ejemplo, puede aplicar una firma digital a un applet, en consecuencia etiquetándola como segura. Haciéndolo permite al usuario conceder permiso al applet para realizar operaciones restringidas (tales como acceder al disco duro local), y elimina alguna o todas las restricciones de la sandbox. Los certificados digitales son emitidos por agencias como Thawte o Entrust.  java.beans: Incluidos en el paquete java.beans hay varias clases para desarrollar y manipular beans, componentes reutilizables definidos por la arquitectura JavaBeans. La arquitectura suministra mecanismos para manipular propiedades de componentes y lanzar eventos cuando esas propiedades cambian. La mayoría de las APIs en java.beans están pensadas para su uso en herramientas de edición de beans, en la cual los beans puedan combinarse, personalizarse y manipularse. Un tipo de editor bean es el diseñador GUI en un entorno de desarrollo integrado (IDE).  java.awt: La Abstract Window Toolkit contiene rutinas para soportar operaciones básicas GUI y utiliza ventanas básicas desde el sistema nativo subyacente. Muchas implementaciones independientes de la API Java implementan todo excepto AWT, el cual no es usado por la mayoría de las aplicaciones de lado de servidor. Este paquete también contiene la API de gráficos Java 2D.  java.rmi: El paquete java.rmi suministra invocación a métodos remotos Java para soportar llamadas a procedimientos remotos entre dos aplicaciones Java que se ejecutan en diferentes JVM. Esto es esencial para tener en cuenta en la certificación  java.security: Soporte para seguridad, incluyendo el algoritmo de resumen de mensaje, está incluido en el paquete java.security.  java.sql: Una implementación de la API JDBC (usada para acceder a bases de datos SQL) se agrupa en el paquete java.sql. Pag. 2
  • 3. ITL Tópicos Avanzados de Programación Ene-Jun/2013  javax.rmi: suministra el soporte para la comunicación remota entre aplicaciones, usando el protocolo RMI sobre IIOP. Este protocolo combina características de RMI y CORBA.  org.omg.CORBA: Suministra el soporte para comunicación remota entre aplicaciones usando general inter ORB protocol y soporta otras características de common object request broker architecture. Igual que RMI y RMI-IIOP, este paquete es para llamar métodos remotos de objetos en otras máquinas virtuales (normalmente por la red). De todas las posibilidades de comunicación CORBA es la más portable entre varios lenguajes. Sin embargo es también un poco difícil de comprender.  javax.swing: Swing es una colección de rutinas que se construyen sobre java.awt para suministrar un toolkit de widgets independiente de plataforma. Swing usa las rutinas de dibujado 2D para renderizar los componentes de interfaz de usuario en lugar de confiar en el soporte GUI nativo subyacente del Sistema operativo. Swing es un sistema muy rico por sí mismo, soportando pluggable looks and feels (PLAFs) para que los controles(widgets) en la GUI puedan imitar a aquellos del sistema nativo subyacente. Los patrones de diseño impregnan el sistema, especialmente una modificación del patrón modelo-vista-controlador, el cual afloja el acoplamiento entre función y apariencia. Una inconsistencia es que (para J2SE 1.3) las fuentes son dibujadas por el sistema nativo subyacente, limitando la portabilidad de texto. Mejoras, tales como usar fuentes de mapas de bits, existen. En general, las layouts(disposiciones de elementos) se usan y mantienen los elementos dentro de una GUI consistente a través de distintas plataformas.  javax.swing.text.html.parser: Suministra el parser de HTML tolerante a errores que se usa para escribir varios navegadores web y web bots. Java EE La plataforma Java Enterprise Edition (Java EE) son un conjunto de especificaciones que facilitan el desarrollo y despliegue de aplicaciones empresariales multi-capa. Java EE ofrece un conjunto de especificaciones y técnicas que proporcionan soluciones completas, seguras, estables y escalables para el desarrollo, despliegue y gestión de aplicaciones de múltiples niveles de funcionalidad basadas en servidores. Se reduce el costo y complejidad de desarrollo, lo cual resulta en servicios que se pueden desplegar y extender fácilmente. Java ME La plataforma Java Micro Edition (Java ME), o anteriormente Java 2 Micro Edition (J2ME), es una especificación de un subconjunto de la plataforma Java orientada a proveer una colección certificada de APIs de desarrollo de software para dispositivos con recursos restringidos. Está orientado a productos de consumo como PDAs, teléfonos móviles o electrodomésticos. Java ME se ha convertido en una buena opción para crear juegos en teléfonos móviles debido a que se puede emular en un PC durante la fase de desarrollo y luego subirlos fácilmente al teléfono. Al utilizar tecnologías Java el desarrollo de aplicaciones o videojuegos con estas APIs resulta bastante económico de portar a otros dispositivos. La tecnología Java ME se creó originalmente para paliar las limitaciones asociadas a la creación de aplicaciones para pequeños dispositivos. Con este fin Oracle ha definido los fundamentos de la tecnología Java ME para adaptarse a entornos limitados y hacer posible la creación de aplicaciones Java que se ejecuten en pequeños dispositivos con memoria, visualización y potencia limitadas. Java DB Java DB es una distribución soportada por Oracle de la Base de Datos de código abierto Apache Derby. Soporta el estándar ANSI/ISO SQL a través de JDBC y las API’s de Java EE. Java DB está incluida en el JDK. Características  Funcionalidad completa y fácil de usar  Transacciones protegidas y recuperables a fallos  Insertable en aplicaciones  Java puro y portable a través de CDC FP 1.1, Java 5, Java 6, Java 7 (todos los dispositivos, desde tablets hasta mainframes)  Incluido en el JDK Pag. 3
  • 4. ITL Tópicos Avanzados de Programación Ene-Jun/2013  Compacto (2.6 MB) Java TV Java TV es un famework basado en Java orientado a su uso en decodificadores de TV, apoyándose en componentes llamados Xlets. Actualmente es usado solo en la Configuración del Dispositivo Conectado, específicamente para el desarrollo de aplicaciones para iTV (Televisiones Inteligentes. La API incluye las clases de Xlet en el paquete javax.tv.xlet. Otros paquetes que la API pública incluye son:  javax.tv.graphics: prove un lienzo simple de renderizado.  javax.tv.loactor: provee un localizador in la forma de una URL para servicios y multimedia.  javax.tv.service: define un mecanismo para servicios de información, bases de datos y API’s que representan los elementos del SI, como los canales de TV y la multimedia disponible para reproducir. JavaFX JavaFX es una familia de productos y tecnologías de Sun Microsystems, adquirida por Oracle Corporation, para la creación de Rich Internet Applications (RIAs), esto es, aplicaciones web que tienen las características y capacidades de aplicaciones de escritorio, incluyendo aplicaciones multimedia interactivas. Las tecnologías incluidas bajo la denominación JavaFX son JavaFX Script y JavaFX Mobile, aunque hay más productos JavaFX planeados. Las aplicaciones JavaFX pueden ser ejecutadas en una amplia variedad de dispositivos. En su versión (JavaFX 1.3, abril 2010) permite crear aplicaciones de escritorio, para celulares, la Web, TV, consolas de videojuegos, reproductores Blu-ray, entre otras plataformas planeadas. En octubre de 2011 fue lanzada la versión 2.0. Para el desarrollo de aplicaciones JavaFX un lenguaje declarativo, tipado llamado JavaFX Script, además puede integrarse código Java en programas JavaFX. JavaFX es compilado a código Java, por lo que las aplicaciones JavaFX pueden ser ejecutadas en computadores con la máquina virtual de Java instalada (JRE), o celulares corriendo Java ME. Java Card Dentro de la categoría de SmartCards con microprocesador se encuentran las llamadas JavaCards o Java SmartCards. Una JavaCard es una SmartCard capaz de ejecutar programas desarrollados en Java. Originalmente, las aplicaciones para SmartCards eran escritas en lenguajes específicos de los proveedores de SmartCards (normalmente el ensamblador del microprocesador utilizado, o eventualmente C). El lema "escribe una vez, corre en cualquier lado" hizo que Java fuese una solución a este problema. La primera JavaCard en salir al mercado fue producida por Schlumberger, aún antes de que Sun fijara el standard. En pocas palabras, una JavaCard es una tarjeta con microprocesador que puede ejecutar programas (llamados applets) escritos en un subset del lenguaje Java. Los componentes principales dentro de una JavaCard son el microprocesador y las memorias. La arquitectura básica de una JavaCard consiste de Applets, JavaCard API, JavaCard Virtual Machine (JCVM) [SUN2] / JavaCard Runtime Environment (JCRE) [SUN1], y el sistema operativo nativo de la tarjeta. La máquina virtual corre sobre el sistema operativo de la tarjeta, y se puede ver como una abstracción del mismo. Sobre la máquina virtual se encuentra el JavaCard Framework, que es un conjunto de clases necesarias para el funcionamiento del JCRE y JavaCard API, así como clases utilitarias comerciales o extensiones propietarias del fabricante de la tarjeta. Finalmente, haciendo uso de este ambiente se encuentran los applets. Java Embedded Java para dispositivos embebidos (Java Embedded) es integrado generalmente por los fabricantes de dispositivos. No está disponible para descarga o instalación por clientes, Debe verificar con el fabricante de su dispositivo sobre la disponibilidad de esta tecnología en su dispositivo. Dispositivos embebidos, o sistemas embebidos, son sistemas computacionales especializados que constituyen componentes de enormes sistemas electromecánicos con los que interactúan. Pueden variar desde los chips en su tarjeta de identificación de la oficina o tarjeta de crédito, hasta componentes de sistemas de servidor de enormes dimensiones. Muchos de los dispositivos conectados y sofisticados que facilitan Pag. 4
  • 5. ITL Tópicos Avanzados de Programación Ene-Jun/2013 nuestras actividades diarias son “embebidos”. Algunos ejemplos comunes incluyen tarjetas SIM, teléfonos VOIP, reproductores de Blu-Ray, televisiones, etc. Java Embedded de Oracle provee la plafarma de desarrollo y tiempo de ejecución para billones de estos dispositivos. Conclusiones La plataforma Java permite desarrollar cualquier tipo de aplicación para prácticamente cualquier tipo de dispositivo. No es ni un lenguaje ni plataforma amarrado a un sistema operativo, es además de código abierto y dispone de una gran comunidad de desarrolladores. Conocer esta plataforma brindará un enorme campo laboral, y una gran ventaja en el mundo del desarrollo de software. Referencias “Java SE”, Wikipedia.org, Página Web http://es.wikipedia.org/wiki/Java_SE Fecha Consulta: 02 de Febrero de 2013 “Versiones y distribuciones de Java: J2SE, J2EE, J2ME. ¿Java 6, Java 7, cuál es mejor usar? (CU00606B)”, AprendeAProgramar.com, Página Web Fecha Consulta: 02 de Febrero de 2013 “Java Enterprise Edition”, Jatun S.R.L. Innovación & Desarrollo, Página Web http://www.jatun.com/web/company/training/javaee5 Fecha Consulta: 02 de Febrero de 2013 “Java Micro Edition”, Wikipedia.org, Página Web http://es.wikipedia.org/wiki/Java_Micro_Edition Fecha Consulta: 02 de Febrero de 2013 “¿Qué es J2ME o Java ME?”, Oracle Inc., Página Web http://www.java.com/es/download/faq/whatis_j2me.xml Fecha Consulta: 02 de Febrero de 2013 “Java DB”, Oracle, Inc., Página Web http://www.oracle.com/technetwork/java/javadb/overview/index.html Fecha Consulta: 02 de Febrero de 2013 “Java TV”, Wikipedia.org, Página Web http://en.wikipedia.org/wiki/Java_TV Fecha Consulta: 02 de Febrero de 2013 “JavaFX”, Wikipedia.org, Página Web http://es.wikipedia.org/wiki/JavaFX Fecha Consulta: 02 de Febrero de 2013 “Descarga e Instalación de JavaFX”, Oracle Inc., Página Web http://java.com/es/javafx/javafx_install.jsp Fecha Consulta: 02 de Febrero de 2013 “Programación de Java Cards”,Daniel Perovich, Leonardo Rodríguez, Martín Varela, Documento PDF en Web http://www.fing.edu.uy/inco/grupos/mf/Proyectos/Grado/JavaCard/progjavacard.pdf Fecha Consulta: 02 de Febrero de 2013 “How do I get Java for Embedded Devices?“, Oracle Inc., Página Web http://java.com/en/download/faq/java_embedded.xml Fecha Consulta: 02 de Febrero de 2013 Pag. 5