viernes, 25 de febrero de 2011

Introducción al J2ME

Este artículo presenta una introducción a la plataforma Java 2 Micro Edition (J2ME).



La plataforma J2ME es una familia de especificaciones que definen varias versiones minimizadas de la plataforma Java 2; estas versiones minimizadas pueden ser usadas para programar en dispositivos electrónicos; desde teléfonos celulares, en PDAs, hasta en tarjetas inteligentes, etc. Estos dispositivos presentan en común que no disponen de abundante memoria ni mucha potencia en el procesamiento, ni tampoco necesitan de todo el soporte que brinda el J2SE, (la plataforma estándar de Java usada en sistemas de escritorio y servidor).

¿Qué es la plataforma J2ME?


Al principio de los 90, Sun Microsystems creó un nuevo lenguaje de programación llamado Oak como parte de un proyecto de investigación para construir productos electrónicos que dependan principalmente del software. El primer prototipo para Oak fue un controlador portable llamado Star7, un pequeño dispositivo handheld con una pantalla touchscreen LCD que tenía incorporado soporte a redes inalámbricas y comunicaciones infrarojas. Este dispositivo podría ser usado como control remoto para televisores o VCR y como guía de programas electrónicos, e incluso tenía algunas funciones que ahora son asociadas a los PDAs, como agenda de citas. El software para este tipo de dispositivos necesitaba ser extremadamente confiable y no debía hacer excesivo uso de memoria ni requerir demasiada potencia en el procesador. Oak fue desarrollado como resultado de la experiencia del equipo de desarrollo con el lenguaje C++, el cual, a pesar de tener muchas grandes características, demostró que era un lenguaje complejo y ocasionaba que los programadores comentan fácilmente errores y eso afectaba la confiabilidad del software.

Oak fue diseñado para quitar o reducir la posibilidad de que los programadores comentan errores, ¿cómo? detectando la mayoría de errores en tiempo de compilación y quitando algunas de las características del lenguaje C++ (como punteros y la administración de memoria controlada por el programador) que eran los problemas más comunes.

Desafortunadamente, el mercado para el tipo de dispositivos que el nuevo lenguaje fue creado no se desarrolló tanto como Sun Microsystems esperaba, y al final ningún dispositivo basado en Oak fue vendido a los clientes. Sin embargo, al mismo tiempo, el inicio del conocimiento público de Internet produjo un mercado para el software de navegación para Internet (los navegadores Web). En respuesta a esto, Sun Microsystems renombró el lenguaje de programación Oak a Java y lo usó para desarrollar un navegador multiplataforma llamado HotJava. También le dio la licencia de Java a Netscape, quienes lo incorporaron en su navegador que por ese entonces era el más popular en el mercado, luego fueron incorporados los Java applets.

En un par de años, las capacidades multiplataforma del lenguaje de programación Java y su potencia como plataforma de desarrollo para aplicaciones que podían ser escritas una vez y ejecutadas en diversos sistemas Windows y Unix, había despertado el interés de usuarios finales, porque vieron en ella una manera de reducir los costos del desarrollo de software.

Con el objetivo de conocer las necesidades de los experimentados desarrolladores en Windows y Motif/X-Windows para crear aplicaciones para usuarios finales sofisticados acostumbrados a usar interfaces ricas, Sun Microsystems rápidamente expandió el alcance y tamaño de la plataforma Java. Esta plataforma extendida incluyó un conjunto más complejo de librerías de interfaces de usuario que aquellos que usaran para construir applets, además con un conjunto de características de computación distribuida y seguridad mejorada.

Con el tiempo Sun Microsystems liberó la primera versión de la plataforma Java 2, había sido necesario dividirla en varias piezas. La funcionalidad principal, estimado como el mínimo soporte requerido para cualquier ambiente Java, estaba empaquetada en el Java 2 Standard Edtion (J2SE).

Muchos paquetes opcionales pueden ser agregados al J2SE para satisfacer requerimientos específicos para aplicaciones particulares, como extensiones seguras de sockets que permitan el comercio electrónico. Sun Microsystems también respondió al incremento del interés de usar Java para el desarrollo a un nivel empresarial, y ambientes de servidores de aplicaciones con la plataforma Java 2 Enterprise Edition (J2EE), el cual incorpora nuevas tecnologías como servlets, Enterprise JavaBeans, JavaServer pages, etc.

Como la mayoría de software, los requerimientos de recursos de Java tienen un incremento con cada nueva versión que aparece. A pesar que Java tiene sus raíces en el software para productos electrónicos pequeños, J2SE requiere mucha más memoria y potencia en el procesador para que sea una solución viable en el mercado.

Irónicamente, mientras Sun Microsystems estaba desarrollando Java para Internet y para la programación comercial, la demanda empezó a crecer en los dispositivos pequeños e incluso en tarjetas inteligentes, retornando Java a sus raíces.

Sun Microsystems respondió a esta demanda creando varias plataformas Java con funcionalidades reducidas, cada una hecha a la medida de un segmento vertical y específico del mercado.

Estas plataformas reducidas están todas basadas en el JDK 1.1, el predecesor de la plataforma Java 2, y cada una tiene una estrategia diferente al problema de reducir la plataforma para acomodarla a los recursos disponibles. Por lo tanto, cada una de estas plataformas de funcionalidad reducida representan una solución ad hoc al problema. Por ello es que aparece la plataforma J2ME, para reemplazar todas esas plataformas reducidas basadas en el JDK 1.1 y crear una sola solución basada en Java 2.

Resumen
En conclusión, J2ME es la versión de Java orientada a los dispositivos móviles. Debido a que los dispositivos móviles tienen una potencia de cálculo baja e interfaces de usuario pobres, es necesaria una versión específica de Java destinada a estos dispositivos, ya que el resto de versiones de Java, J2SE o J2EE, no encajan dentro de este esquema. J2ME es por tanto, una versión “reducida” de J2SE.

Hasta aquí llega el artículo. Con esta breve introducción habremos entendido mejor de que trata el J2ME y estaremos listos para empezar a ver los detalles técnicos de esta tecnología.

miércoles, 23 de febrero de 2011

"Versión definitiva del SDK de Android 3.0 (Honeycomb) disponible para su descarga"

Google ha lanzado la versión definitiva del SDK de Android 3.0 Honeycomb, que está disponible para su descarga en el sitio Web oficial. Las API son finales y ahora los desarrollos de aplicaciones de esta nueva plataforma pueden ser publicados en Android Market. El nuevo nivel del API es 11.


Junto con la nueva plataforma, se han lanzado actualizaciones del SDK (r10) y plugin ADT (Android Development Tools) para Eclipse (10.0.0). Las nuevas características puedes encontrarlas en el extenso artículo de Xataka Andrid : Novedades para desarrolladores en Android 3.0.

Con carácter general, las mejoras que incorpora Android 3.0 están enfocadas a aprovechar de forma óptima las pantallas más grandes de las tablets que, con las nuevas barras de “sistema” y “acciones”, permiten que tanto aplicaciones como el propio sistema sean más intuitivos. Cabe esperar que la futura versión “Ice Cream” unifique Android Gingerbread y Android Honeycomb, cuestión que seguro agradecen programadores y usuarios.

Hablemos de Sun Solaris en CJAVA

En 1982, cuatro hombres visionarios fundaron SUN™ Microsystems. En esos tiempos, multitud de empresas (Xerox, Apollo, Computervision) producían estaciones de trabajo a medida. El gran acierto de la nueva empresa fue adaptar componentes de Hardware y Software estándar para crear una estación barata y compatible basada en UNIX.

SUN creó su propio sistema operativo, SunOS, en 1982. Estaba basado en BSD, la versión libre de UNIX mantenida por la universidad de Berkeley. Pero el futuro de BSD Unix no estaba nada claro: AT&T demandó a la universidad por el uso indebido de su código. Aunque finalmente Berkeley conseguiría el reconocimiento de sus derechos, lo que daría origen a FreeBSD, OpenBSD y NetBSD, en ese momento el futuro de UNIX no estaba claro. En 1991 (el mismo año en que un estudiante finlandés conseguía la especificación POSIX y empezaba a trabajar en un kernel para GNU) SUN se pasó a una nueva versión basada en System V, Solaris®.

Solaris® suele verse como el UNIX comercial más avanzado, y es respetado por ingenieros y aficionados. Se pueden resaltar sus avances en hotplug o “enchufe en caliente”; las últimas versiones permiten hacer transplantes de cerebro en caliente, es decir cambiar procesadores defectuosos sin parar la máquina.

Desde sus primeros momentos Solaris proporcionó un excelente soporte para aplicaciones de red en protocolos IP, y fue el primer entorno donde se desarrolló el sistema JAVA® y prácticamente todas las funcionalidades típicas de los sistemas UNIX en entorno servidor,como Sockets , Multitarea, Threads, entorno de ventanas basado en X-Window en el que se pueden usar diferentes escritorios como Open Look o GNOME.

En los últimos tiempos la compañía ha puesto en marcha una clara estrategia de acercamiento entre Solaris y Linux, esto se ve plasmado en su proyecto JANUS que permite la ejecución de aplicaciones nativas de Linux en Solaris a una velocidad muy próxima a la que se obtendría si fuesen ejecutadas directamente sobre Linux.

El llamado proyecto JANUS permitirá a los administradores del sistema operativo Solaris la creación de un entorno de ejecución de aplicaciones Linux compatible con LSB (Linux Standard Base).

Ventajas del sistema operativo Solaris

1. La principal es que es libre (totalmente discutible, pero así lo consideran sus creadores).

2. Se puede descargar gratuitamente de la página Web de SUN. http://www.sun.com/software/solaris/

3. Mismo sistema operativo disponible para distintas tecnologías de procesadores (AMD64, SPARC, x86).

4. El núcleo del sistema está programado para hacer funcionar programas en código Linux Estándar (no emula programas Linux, sino que los ejecuta, cualquier programa que funcione en Linux y esté en código fuente como *.rpm).

5. Permite software propietario en su distribución.

6. Sirve tanto para una computadora personal como para una computadora de empresa. (En este último caso es posible que ésta quiera contratar servicios de mantenimiento y especialización de software de SUN Microsystem)

7. Tiene potentísimas herramientas de pre-detección de errores y análisis de hardware del computador y recuperación de datos. (bloqueo de partes de memoria, para evitar usarlas y no perder ningún dato).

Desventajas del sistema operativo Solaris

1. Algunas características importantes no estarán disponibles en la versión Free, todos los Upgrades y fixes del sistema operativo solo podrán ser obtenidos por suscripciones adicionales.

2. Mucha configuración manual para coexistir en el mismo dispositivo físico con otro sistema operativo.

Sobre sistema operativo Solaris y otros del mercado
CJAVA PERU

La pregunta de la semana: ¿Crees que las redes sociales representan una amenaza para Internet?

El boom de las redes sociales en Internet ha dejado perplejos a propios y extraños. Las hay de todo tipo, aparecen nuevas de forma continua y el número de usuarios crece sin parar. Se han instalado en nuestra cultura hasta el punto de que nombres como Facebook, Twitter o Myspace, por citar las más populares, son familiares a personas ajenas al mundo de la Red.


El fenómeno ha desatado un gran interés en investigadores del comportamiento, analistas, empresarios y usuarios. Voces tan autorizadas como la de Tim Berners-Lee, considerado el padre de la Red y actual presidente del W3C (World Wide Web Consortium), advierten del peligro que representan las redes sociales para Internet al dividirla en islas fragmentadas.

En el lado opuesto, el mundo empresarial ha visto nuevas oportunidades de negocio y los usuarios otra forma de comunicación que trasciende el ámbito de la esfera personal y geográfica.