Archivos por la Categoría ‘Java’

Oracle revela planes para NetBeans, Glassfish y VirtualBox

Miércoles, Octubre 28th, 2009

Recientemente Oracle decidió por fin revelar sus planes futuros para las populares herramientas de Java (NetBeans y Glassfish) y la herramienta de virtualización (VirtualBox) que obtendría con la adquisición de Sun. Los planes son los siguientes (información original en inglés en este archivo pdf):

NetBeans
Oracle intenta proporcionar NetBeans como una opción adicional de código abierto para complementar a JDeveloper y el paquete empresarial de Oracle para Eclipse. Sin embargo, Oracle deja en claro que JDeveloper seguirá siendo su herramienta estratégica para Oracle Fusion y futuras aplicaciones empresariales.

Glassfish
Oracle dice que “invertirá lo necesario para alinear una infraestructura común de componentes e innovaciones” entre Oracle WebLogic y Glassfish. Planean continuar el desarrollo de Glassfish como la implementación de referencia de las especificaciones Java EE (Edición empresarial). También comentó que continuará dando soporte activamente a la comunidad Glassfish.

VirtualBox
Comentaron que “esperan” continuar dando soporte a las diversos herramientas de virtualización que actualmente tiene Sun. Incluyen VDI, Secure Global Desktop, Sun Ray y VirtualBox.

OpenOffice
Oracle seguirá desarrollando y dando soporte a OpenOffice como open source. Pero también incluirá una licencia comercial para aquellos clientes que requieran soporte y herramientas de nivel empresarial.

Respecto a sus planes de SPARC, Solaris y MySQL no hay novedades. También hay que aclarar que Oracle puso una nota en su FAQ donde comentan que estos comentarios están sujetos a cambios. Aun así, es bueno tener noticias para estar preparados con respecto al futuro de todos estos componentes tan utilizados en el mundo de Java y fuera de él.

Primeros pasos con Grails

Sábado, Octubre 24th, 2009

Introducción

Últimamente han estado muy de moda los lenguajes dinámicos e interpretados, ya que se combinan muy bien con  la programación ágil que tan necesaria es en estos días. En esta ocasión, nos centraremos en conocer el lenguaje Groovy y más concretamente, el framework Grails.

Groovy es un lenguaje de programación orientado a objetos que está implementado sobre la plataforma de Java, y por lo tanto para su ejecución necesita de una máquina virtual de Java (JVM). Tiene características muy parecidas a Perl, Ruby y Python, aunque su sintaxis es muy similar a la de Java, y una de las principales ventajas es que puede tener acceso a todas las librerías existentes de Java (que son muchísimas). La versión estable más reciente al momento de escribir este artículo es la 1.6.

Grails por su parte, es un framework para aplicaciones web desarrollado sobre Groovy orientado al patrón de diseño MVC (Modelo-Vista-Controlador). Es un marco de trabajo muy productivo y se basa en paradigmas como la convención sobre configuración y no te repitas (DRY por sus siglas en inglés), y proporciona un entorno de desarrollo estandarizado y oculta gran parte de los detalles de configuración al programador. Es un marco de trabajo muy estable ya que se está construido a partir de librerías ampliamente utilizadas en el mundo de Java, como son Hibernate y Spring.

En el siguiente tutorial crearemos un proyecto muy sencillo con Grails para mostrar la funcionalidad básica.

Instalando Groovy y Grails

Para instalar Groovy es necesario realizar los siguientes pasos:

  1. Primero, es necesario descargar una distribución binaria y luego descomprimirla en alguna carpeta.
  2. Establecer la variable de ambiente GROOVY_HOME hacia la carpeta donde lo descomprimimos.
  3. Agregar GROOVY_HOME/bin a la variable de ambiente PATH del sistema operativo.
  4. Establecer la variable JAVA_HOME al directorio de instalación del JDK. En Windows esto es normalmente en c:\Archivos de Programa\Java\jdk[versión instalada], en el OS X se instala normalmente en /Library/Java/Home y en Linux en /usr/java.

Posteriormente, necesitaremos instalar Grails siguiendo estas instrucciones:

  • Descarga la versión más reciente de Grails.
  • Extrae los archivos en alguna carpeta del sistema.
  • Crea la variable de ambiente GRAILS_HOME que apunte a la carpeta donde se descomprimieron los archivos.
  • Anexa GRAILS_HOME\bin al PATH del sistema.
  • Teclea “grails” en la línea de comandos y si sale un mensaje de ayuda, ya todo estará instalado correctamente.

Es importante notar que como se mencionó anteriormente, Groovy se ejecuta sobre la plataforma de Java, por lo tanto es necesario tener instalado el JDK que puede ser descargado desde la página de Sun.

Creando el proyecto

Una vez que ya está instalado todo, podemos empezar a programar con Grails. Para crear un proyecto, primero nos situamos en la carpeta donde queremos crearlo mediante la línea de comandos y luego tecleamos lo siguiente:

grails create-app

Se te preguntará por el nombre del proyecto y se generará un proyecto con la siguiente estructura:

%CARPETA_PROYECTO%
    + grails-app
       + conf                 --- Archivos de configuración
           + hibernate              --- Configuración opcional de Hibernate
           + spring                 --- Configuración opcional de Spring
       + controllers          --- Directorio para los controladores
       + domain               --- Directorio para los objetos de dominio (modelo)
       + i18n                 --- Directorio para los mensajes para localizar la aplicación
       + services             --- Directorio para los servicios
       + taglib               --- Directorio para las librerías de etiquetas
       + util                 --- Directorio para utilerías diversas
       + views                --- Directorio para las vistas
           + layouts              --- Directorio para las vistas maestras
   + lib
   + scripts                  --- Directorio para scripts
   + src
       + groovy               --- Opcional: archivos de Groovy adicionales.
       + java                 --- Opcional: archivos Java
   + test                     --- Clases generadas para realizar pruebas
   + web-app
       + WEB-INF

Configurando un Origen de Datos (opcional)

El script “create-app” creó un archivo de configuración del origen de datos en el directorio “/grails-app/conf” con el nombre de DataSource.groovy con closures (link para más información en inglés) para cada uno de los ambientes estándar: Desarrollo (Development), Pruebas (TestData) y Producción (Production). Todos los ejemplos de este artículo utilizan el ambiente de Desarrollo.

Por defecto, todos los orígenes de datos están configurados para utilizar la base de datos HSQLDB (excelente para realizar pruebas, pero talvez no tan útil para producción).

dataSource {
  pooled = false
  driverClassName = "org.hsqldb.jdbcDriver"
  username = "sa"
  password = ""
}
// environment specific settings
environments {
  development {
    dataSource {
      dbCreate = "create-drop" // one of 'create', 'create-drop','update'
      url = "jdbc:hsqldb:mem:devDB"
    }
  }
  test {
    dataSource {
      dbCreate = "update"
      url = "jdbc:hsqldb:mem:testDb"
    }
  }
  production {
    dataSource {
      dbCreate = "update"
      url = "jdbc:hsqldb:file:prodDb;shutdown=true"
    }
  }
}

Para configurar otro origen de datos sólo se necesita cambiar los valores de “url” para seleccionar la base de datos deseada y poner el archivo jar del driver en la carpeta “lib”.

Creando una clase de Dominio

Asegúrate de estar en el directorio raíz del proyecto y teclea lo siguiente:

cd tutorial1
grails create-domain-class

El comando nos preguntará el nombre de la clase que será creada. Respondamos al comando con “libro”, lo que nos generará el archivo Libro.groovy en el directorio “Domain” del proyecto. Es un archivo de texto plano, por lo que puede ser editado con cualquier editor de texto.

Nota: Para nombrar tus clases de dominio, no se deben utilizar nombres de palabras clave de la base de datos. Tampoco se deben utilizar nombres como por ejemplo MILibro (que tengan dos o más letras mayúsculas al inicio), pero MiLibro es completamente permitido. Aparentemente Grails tiene problemas con ese tipo de nombres, ya que a veces se generan errores 404 (página no encontrada).

Una clase de dominio es un elemento persistente y todas sus propiedades son guardadas automáticamente a la base de datos.
Pongamos lo siguiente en el archivo Libro.groovy:

class Libro {
  String titulo
  String autor
}

En este punto, probablemente sea buena idea tener datos para poder realizar pruebas. Una forma fácil de hacerlo es utilizando el método “init” del archivo “conf/BootStrap.groovy” como se muestra a continuación:

class BootStrap {
  def init = { servletContext ->
    new Libro(titulo:'100 años de soledad', autor:'Gabriel García Márquez').save()
    new Libro(titulo:'La casa de los espíritus', autor:'Isabel Allende').save()
  }
  def destroy = { }
}

Creando un Controlador

Los controladores son la parte central de las aplicaciones de Grails, ya que ellos controlan las peticiones que reciben de parte de los navegadores y los mapean a las clases y métodos correspondientes.

En este paso es necesario que ejecutes el comando “grails create-controller” y de nuevo se te pedirá un nombre para el controlador a crear. En nuestro caso tecleamos “Libro” lo que nos generará el archivo “grails-app/controllers/LibroController.groovy”.

Como siguiente paso, abrimos el archivo recién generado y utilizaremos una característica de Grails llamada Scaffolding para generar parte de la aplicación dinámicamente en tiempo de ejecución.

class LibroController {
  def scaffold = Libro
}

Nota:Es necesario quitar o comentar el código “def index = {}” que existe en el archivo para que funcione correctamente el Scaffolding.

También podriamos haber hecho uso del comando “grails generate-all” (recuerda que siempre se deben ejecutar en el directorio raíz del proyecto), el cual crearía todos los archivos necesarios por ti (controlador, vistas).

Resultado final

Por último, sólo nos resta ejecutar el servidor integrado de rails para ver el resultado final de nuestra aplicación web:

grails run-app

Esto iniciará una instancia del servidor web integrado y que escuchará las peticiones en el puerto 8080. Si deseas que escuche en otro puerto, necesitas indicarle la configuración al momento de ejecutarlo:

grails -Dserver.port=8090 run-app

Para visualizar la lista de libros escribe en tu navegador la siguiente dirección:

http://localhost:8080/tutorial1/libro/list

O como el método “list” es el que se llama por defecto, también lo podemos omitir:

http://localhost:8080/tutorial1/libro

lista_libros

Hasta aquí con este tutorial sencillo de Grails, más adelante analizaremos más a fondo otros aspectos que lo hacen un gran entorno de desarrollo.

NetBeans 6.8 Beta disponible para descargar

Viernes, Octubre 23rd, 2009

Por fin ya se encuentra disponible la primera beta de la versión 6.8 de este excelente IDE.
Entre las mejoras disponibles se encuentran el poder utilizar la edición empresarial de Java 6 (JEE6), también ofrece un soporte completo a PHP 5.3 y el framework Symfony, soporte a Ruby 1.9, JRuby 1.3.1, JavaFX 1.2.1, Maven y también soporte para Kenai.com (que parece ser un tema muy interesante para los desarrolladores de proyectos open source).

Descargar la beta de NetBeans 6.8
Leer más información (en inglés)

La versión final está planeada para el mes de Diciembre del presente año. Descarga la beta ahora y ayuda al equipo de desarrollo a mejorar la versión final.