Plataformas J2SE, J2EE, J2ME

Anuncio
UNIVERSIDAD TÉCNOLOGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
Licenciatura en Ingeniería de Sistemas y Computación
Desarrollo de Software II
“Plataformas J2SE, J2EE, J2ME”
Investigación #1
INTEGRANTES
Forsythe, Luzmila
8-851-959
Herrera, Alexis
8-844-2167
Muñoz, Alba
8-865-518
Samaniego, Manuel
8-850-487
Villarreal, Alexander
8-843-1762
Grupo: 1IL-112
Prof. Felicita de Krol
Fecha de Entrega:
9 de agosto de 2010
ÍNDICE
Páginas
- Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
- Contenido “Plataformas J2SE, J2EE, J2ME” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. Plataforma J2SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Paquetes de Propósito General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Utilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Plataformas J2EE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.1. Definición. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.2. Especificaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3. Ventajas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Plataformas J2ME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1. Definición. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3.2. Propósito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3.3. Componentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.4. Aplicaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
- Cuadro Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
- Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
INTRODUCCIÓN
Java, representa en la programación orientada a objetos uno de los lenguajes que explica
mejor este concepto. Su sintáxis, a pesar de que esta basada de lenguajes como C y C++, no
conlleva su implementación en una forma tan compleja, pues elimina herramientas de bajo
nivel, facilitando así el manejo del lenguaje, permitiendo ejeccutar códigos en sistemas remotos
de forma segura y de igual forma ejecutar programas en múltiples sistemas operativos.
Dentro del mismo lenguaje, se manejan plataformas que han sido creadas para realizar
aplicaciones específicas, y estas aplicaciones estan compiladas en un “bytecode” (código
intermedio más abstracto que el código máquina). Y son estas plataformas, en las que debemos
pensar en un principio a la hora de crear una aplicación, dependiendo de las necesidades del
usuario, así mismo será la plataforma a utilizar.
Las plataformas de las cuales hablaremos en el siguiente trabajo investigativo, abarcan la
demanda de aplicaciones que se utilizan a nivel mundial, estas son: J2SE, J2EE, J2ME. La
plataforma J2SE, es la versión de la plataforma JAVA, en forma estándar y permite crear
aplicaciones de tareas comunes y generales. La plataforma J2EE, es la versión “Enterprise”,
desarrollada para aplicaciones empresariales, capaz de crear objetos distribuidos EJB's.
Finalmente la plataforma J2ME, es orientada a crear aplicaciones para los teléfonos moviles.
CONTENIDO
“Plataformas J2SE, J2EE, J2ME”
1. PLATAFORMA J2SE
1.1. Definición
Java Platform, Standard Edition o Java SE, es una colección de APIs del lenguaje de
programación Java útiles para muchos programas de la Plataforma Java. La Plataforma Java 2,
Enterprise Edition incluye todas las clases en el Java SE, además de algunas de las cuales son
útiles para programas que se ejecutan en servidores sobre workstations.
1.2. Ventajas
El utilizar la plataforma J2SE, nos brinda algunas ventajas, entre estas estan:
- J2SE es rápido, su tiempo de carga normal se reduce y su rendimiento esta mejorado para 64 bits.
- Tiene un funcionamiento más ergonómico.
- Reduce el tiempo en el desarrollo, en la codificación y un ahorro en el chequeo de errores.
- Las aplicaciones realizadas con J2SE también funciona con 5.0.
- Mejora su funcionamiento y tiene mejor monitorización.
1.3. Paquetes de Propósito General
• java.lang: El paquete Java java.lang contiene clases fundamentales e interfaces fuertemente
relacionadas con el lenguaje y el sistema runtime. Esto incluye las clases raíz que forman la
jerarquía de clases, tipos relacionados con la definición del lenguaje, excepciones básicas,
funciones matemáticas, Hilos, funciones de seguridad, así como también alguna información
sobre el sistema nativo subyacente.
• java.io: El paquete java.io contiene clases que soportan entrada/salida. Las clases del
paquete son principalmente streams; sin embargo, se incluye una clase para ficheros de acceso
aleatorio. Las clases centrales del paquete son InputStream y OutputStream las cuales son
clases abstractas base para leer de y escribir a streams de bytes, respectivamente.
• java.nio: En J2SE 1.4, el paquete java.nio (NIO o Nueva I/O) fue añadido para soportar I/O
mapeada en memoria, facilitando las operaciones I/O cercanas al hardware subyacente con
mejor rendimiento. El paquete java.nio suministra soporte para varios tipos de buffer.
• java.net: suministra rutinas especiales IO para redes, permitiendo las peticiones HTTP, así
como también otras transacciones comunes.
• java.text: implementa rutinas de parseo para strings y soporta varios lenguajes legibles por el
hombre y parseado específico de la localización.
• java.util: Las estructuras de datos que agregan objetos son el foco del paquete java.util. En el
paquete está incluida la API Collections, una jerarquía organizada de estructura de datos
influenciada fuertemente por considereaciones de patrones de diseño.
• java.math: El paquete java.math soporta aritmética multiprecisión (incluyendo operaciones
aritméticas modulares) y suministra generadores de números primos multiprecisión usados para
la generación de claves criptográficas. Las clases principales de este paquete son:
- BigDecimal: suministra números decimales con signo de precisión arbitraria.
BigDecimal da al usuario el control sobre el comportamiento de redondeo a través de
RoundingMode.
- BigInteger: suministra enteros de precisión arbitraria. Las Operaciones con BigInteger
no producen overflow o perdida de precisión. Además de las operaciones aritméticas
estándar, suministra aritmética modular, y otras operaciones misceláneas.
- MathContext: encapsula las configuraciones de contexto las cuales describen ciertas
reglas para operadores numéricos.
- RoundingMode: una enumeración que suministra ocho comportamientos de redondeo.
• Descubrimiento: normalmente empieza con un objeto y llamando al método Object.getClass()
para obtener la clase del objeto. El objeto Class tiene varios métodos para descubrir los
contenidos de la clase, por ejemplo:
- getMethods(): devuelve un array de objetos Method que representan los métodos
publicos de la clase o interface.
- getConstructors(): devuelve un array de objetos Constructor que representan todos los
constructores públicos de la clase.
- getFields(): devuelve un array de objetos java/lang/reflect|Field que representan todos
los campos públicos de la clase o interface.
- getClasses(): devuelve un array de objetos Class representando todas las clases e
interfaces públicas que son miembros de la clase o interface.
- getSuperclass(): devuelve el objeto Class que representa la superclase de la clase o
interface.
- getInterfaces():devuelve un array de objetos Class que representan todas las
interfaces que se implementan por la clase o la interface.
• Streams: Las clases stream siguen el patrón decorator extendiendo la subclase base para
añadir características a las clases stream. Las Subclases de las clases base stream son
nombradas típicamente por uno de los siguientes atributos:
- la fuente/destino de los datos del stream
- el tipo de los datos escritos a/leidos del stream
- procesamiento adicional o filtrado realizado en los datos del stream
Las subclases stream son nombradas usando el patrón naming XxxStreamType donde Xxx es el
nombre que describe la característica y StreamType es uno de InputStream, OutputStream,
Reader, o Writer.
• Sistema de Ficheros: La clase java/io|File representa un path de fichero o directorio en un
Sistema de ficheros. Los objetos File soportan la creación, borrado y renombrado de ficheros y
directorios y la manipulación de atributos de ficheros tales como solo lectura y tiempo de
última vez modificado. Los objetos File que representan directorios pueden usarse para obtener
una lista de todos los ficheros y directorios contenidos. La clase java/io|FileDescriptor}} es un
descriptor de ficheros que representan una fuente o sumidero (destino) de bytes. Normalmente
esto es un fichero, pero puede también ser una consola o un socket de red. Los objetos
FileDescriptor se usan para crear streams de File. Se obtienen desde streams File y sockets
java.net y sockets de datagrama.
• Acceso Aleatorio: La clase RandomAccessFile soporta lectura y escritura de acceso aleatorio
de ficheros. La clase usa un puntero a fichero que representa un byte-offset dentro del fichero
para la siguiente operación de lectura o escritura. El puntero a fichero se mueve implícitamente
leyendo
o
escribiendo
y
explícitamente
llamando
a
los
métodos
java/io|RandomAccessFile|seek(long) o java/io|RandomAccessFile|skipBytes(int). La posición
actual
del
puntero
de
fichero
se
devuelve
por
el
método
java/io|RandomAccessFile|getFilePointer().
1.4. Aplicaciones
• JAVA: Inicia una Maquina Virtual de Java. La MVJ es un computador abstracto que ejecuta
carga y ejecuta programas Java compilados. La MVJ es virtual ya que está implementada en
software por encima de una plataforma hardware real y un sistema operativo. Por tanto, la MVJ
debe estar implementada en una plataforma particular antes de que los programas se puedan
ejecutar sobre esa plataforma. La MVJ proporciona una capa de abstracción entre los
programas Java compilados (el bytecode) y la plataforma sobre la que se ejecuta. Esto es
importante para asegurar la portabilidad ya que los programas se ejecutan sobre la MVJ,
independientemente del hardware sobre el que se está instalada la MVJ.
• JAVAC: Programa que transforma el código fuente en bytecode. El bytecode es el lenguaje
que ejecuta la Máquina Virtual de Java (MVJ). El compilador de java lee un fichero fuente Java
(fichero .java) y traduce el este código a bytecode escribiéndolo en un fichero (o ficheros)
.class. Se generan tantos ficheros .class como clases hay en el fichero. Una secuencia de
bytecodes representa una serie de instrucciones para la MVJ.
• Javadoc: Programa que sirve para generar documentación en formato HTML a partir del
fichero con el código fuente o a partir de un paquete. El texto necesario para generar esa
documentación se extrae de unos comentarios especiales insertados en el código fuente y que
documenta las clases, los métodos, etc.
1.5. Utilidades
• Appletviewer: para visualizar applets.
• Rmiregistry: para crear un registro de objetos remotos.
• Rmic: para generar stubs y skeletons.
• Jar: para comprimir o descomprimir ficheros.
• Keytool: para gestionar claves y certificados.
• Jarsigner: para firmar ficheros jar.
2. PLATAFORMA J2EE
2.1. Definición:
Es una plataforma de programación—parte de laPlataforma Java—para desarrollar y ejecutar
software de aplicaciones en Lenguaje de programación Java con arquitectura de N niveles
distribuida, basándose ampliamente en componentes de software modulares ejecutándose sobre
unservidor de aplicaciones. La plataforma Java EE está definida por una especificación. Similar
a otras especificaciones del Java Community Process, Java EE es también considerada
informalmente como un estándar debido a que los suministradores deben cumplir ciertos
requisitos de conformidad para declarar que sus productos son conformes a Java EE;
estandarizado por The Java Community Process / JCP.
2.2. Especificaciones
Java EE incluye varias especificaciones de API, tales como JDBC, RMI, e-mail, JMS,
Servicios Web, XML, etc y define cómo coordinarlos. Java EE también configura algunas
especificaciones únicas para Java EE para componentes. Estas incluyen Enterprise
JavaBeans,servlets, portlets (siguiendo la especificación de Portlets Java), JavaServer Pages y
varias tecnologías de servicios web.
2.3.Ventajas
Esta plataforma permite al desarrollador crear una 'aplicación de empresa' portable entre
plataformas y escalable, a la vez que integrable con tecnologías anteriores. De igual forma, el
servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia
y gestión de los componentes desplegados, y esto es un avance significativo, puesto que los
desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar
de en tareas de mantenimiento de bajo nivel.
3. PLATAFORMA J2ME
3.1. Definición
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.
3.2. Próposito
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.
3.3. Componentes
La edición micro de Java se compone, además del lenguaje, de una máquina virtual,
configuraciones, perfiles y paquetes adicionales:
• Máquina Virtual: es la base de la plataforma, es el interprete del lenguaje y sobre la cual se
han de ejecutar las aplicaciones, también sobre esta máquina virtual corren las configuraciones
(CDC y CLDC), las cuales incorporan apis básicas para la creación de aplicaciones y sirven de
soporte a los perfiles.
Los perfiles incluyen la mayor parte de las clases y apis que se van a utilizar en la
programación, como pueden ser instrucciones de entrada y salida o de inicio y terminación de
la aplicación.
• Paquetes Adicionales: son aquellos que la especificación de la tecnología inalámbrica Java
(JSR185) no establece como obligatorios para incorporar en los dispositivos.
Ejemplos de
esto pueden ser las apis de mensajes inalámbricos (WMAPI) y de multimedia (WMAPI).
3.4. Aplicaciones
Entre las principales aplicaciones que se pueden realizar con J2ME, podemos mencionar:
• Opera Mini: Opera Mini es el navegador revolucionario para casi cualquier teléfono móvil,
comprime y es capaz de accesar a los sitios web, diez veces más rápido.
• Mig33: Aplicación de chat para télefonos móviles, con posibilidad de chatear con usuarios de
Yahoo y MSN a través de mig, incluyendo otos usuarios de las salas de chat de mig33.
• MXit: Es el cliente de Jabber para teléfonos móviles. Capaz de conectar a las aplicaciones de
mensajería instantánea preferido, como MSN y ICQ.
• Wayfiner: sistema de navegación para tu teléfono móvil desarrollado especialmente para
clientes con discapacidad visual. Junto con software de síntesis de voz, como Talks de Nuance
Communications o Mobile Speak de Code Factory, Wayfinder Access se convierte en un
potente programa audible de navegación a pie.
• Litefeeds: es un servicio que nos ofrece de RSS que, además, integra muchas otras funciones
que podremos realizar con el contenido que recibimos. Desde la página del programa podemos
indicarle cuales serán las fuentes del contenido que queremos recibir, las cuales serán recogidas
y comprimidas para ser enviadas al móvil.
CUADRO RESUMEN
PLATAFORMAS EN JAVA
J2SE
SIGLAS
Java Platform, Standard
Edition.
J2EE
Java Platform, Enterprise Java Platform Micro
Edition.
Edition.
• Javac: Programa que transforma • Aplicaciones Web Java
el código fuente en bytecode.
• Objetos distribuidos EJBs
• Java: Inicia una Máquina
Virtual de Java.
• Aplicaciones Empresariales
APLICACIONES
• Javadoc: Programa que sirve
para generar documentación en
formato HTML.
• Opera Mini: navegador
web para móviles.
• MXit: cliente de Jabber
para teléfonos móviles.
• Wayfiner: sistema de
navegación para clientes con
discapacidad visual.
• Rmiregistry: Para crear un
registro de objetos remotos.
• Mobispine: agrupa y
agrega feeds RRS al móvil.
• Rmic: generar stubs y skeletons.
PAQUETES
Y
CLASES
• Mig33: aplicación de chat.
• Litefeeds: servicio RSS.
• Appletviewer: visualiza applets.
• Descubrimiento
• Usar por nombre
• Arrays y proxies
• java.lang
• java.lang.ref
• java.lang.reflect
• java.io
- Streams
- Acceso aleatorio
- Sistema de Ficheros
• java.nio
• java.math
• java.net
• java.text
• java.util
• java.applet
• java.beans
• java.awt
• java.rmi
• java.security
• java.sql
• org.omg.CORBA
• javax.swing
• javax.swing.text.html.parser
J2ME
• javax.ejb.*
• javax.naming
• java.sql
• java.transaction.*
• javax.xml.*
• javax.jms.*
• javax.persistence
• Information Module
Profile (IMP).
• Wireless Messaging API
(WMA); JSR 120, JSR 205
• Mobile Media API
(MMAPI); JSR 135.
• Location API for J2ME
(JSR-179).
• SIP API for J2ME (JSR180).
• Security and Trust Services
API for J2ME (JSR-177).
• Mobile 3D Graphics
(JSR184).
• J2ME Web Services APIs
(WSA), JSR 172.
• Bluetooth API (JSR-82,
Motorola, Java Partner Site)
• J2ME RMI Optional.
Package, (RMI OP); JSR 66.
• JDBC Optional Package
for CDC/Foundation Profile
API (JSR-169).
CONCLUSIONES
Al finalizar, el siguiente trabajo de investigación, hemos podido concluir los siguientes puntos:
• J2SE, es la versión estándar de la plataforma JAVA y entre sus ventajas podemos mencionar
su rapidez de carga con rendimiento mejorado para 64 bits, y este reduce el tiempo en el
desarrollo, en la codificación y un ahorro en el chequeo de errores.
• La versión estándar posee funcionamiento más ergonómico y aas aplicaciones realizadas con
J2SE también funciona con 5.0. Tiene mejor monitorización.
• Entre las aplicaciones más útiles desarrolladas en J2SE estan: Javac, Javadoc, Appletviewer,
Rmiregistry y Rmic.
• La plataforma J2EE, es aquella versión creada para aplicaciones que necesitan más potencia
en su desarrollo, esta incluye todas las clases del Java SE, y además, tiene algunas que son
útiles para programas que se ejecutan en servidores de computadores “workstations”.
• J2EE, permite al desarrollador crear una 'aplicación de empresa' portable entre plataformas y
escalable, a la vez que integrable con tecnologías anteriores.
• J2ME es la versión de la plataforma JAVA orientada a los dispositivos móviles.
• Debido a la potencia de cálculo baja e interfaces de usuario pobres, se hace necesaria una
versión en específico, por lo que J2ME es una versión “reducida” de J2SE.
• Se ha hecho muy popular, la creación de juegos con Java ME, pues se puede emular en una
PC durante la fase de desarrollo y luego subirlos fácilmente al teléfono.
• Algunas aplicaciones populares de JME son: Mig33, Opera Mini, MXit y Litefeeds.
BIBLIOGRAFÍA
1. WIKIPEDIA – La Enciclopedia Libre
http://es.wikipedia.org/wiki/Java_SE
Fecha de Visita: sabado, 7 de agosto
2. MONOGRAFIAS.com - “Apuntes de Java”
http://www.monografias.com/trabajos16/java/java.shtml
Fecha de Visita: viernes, 6 de agosto
3. JAVA.es – Página Oficial de JAVA Sun Micosystem
http://www.java.com/es/download/faq/whatis_j2me.xml
Fecha de Visita: sabado, 7 de agosto
4. SLIDESHARE.net – Presentación: “Introducción a la Plataforma JME”
http://www.slideshare.net/jimezam/introduccin-a-la-plataforma-j2me
Fecha de Visita: sabado, 7 de agosto
5. CIBERAULA Java – “Introducción al J2ME”
http://java.ciberaula.com/articulo/introduccion_j2me/
Fecha de Visita: sabado, 7 de agosto
6. DCC.uchile.cl – “Investigación de la Plataforma J2EE y su Aplicación Práctica”
http://www.dcc.uchile.cl/~jbarrios/J2EE/
Fecha de Visita: domingo, 8 de agosto
Descargar