Agustín Ventura

Ingeniería de Software

Cambiar orientación del emulador de Android

Para cambiar la orientación del emulador de android de horizontal a vertical y viceversa, basta con pulsar ctrl+F11.

Amazon Elastic Beanstalk

Visto que con Heroku se me esta atragantando el tema del despliegue de JSF 2, me he decidido a seguir los cantos de sirena y probar Amazon Elastic Beanstalk. La publicidad dice que Amazon me dá gratuitamente un Tomcat 6 o Tomcat 7 en la nube, así que merecía darle una ojeada. Lo primero de lo que me doy cuenta es que Amazon Elastic Beanstalk en realidad no es solo un Tomcat, sino que mas bien podríamos definirlo como un agrupamiento de tecnologías que Amazon ya tenía que se ofrecen simplificadamente y bajo un mismo paragüas, como EC2, S3, EBS, CloudWatch, etc… La página de Beanstalk promete que se despliegan WARs normales y corrientes y que se puede usar cualquier librería Java con normalidad, a esto le sumamos Amazon SimpleDB como base de datos relacional y Amazon DynamoDB como NoSQL y tenemos un stack potentísimo a nuestra disposición. Esta la parte buena, ahora la mala.

Sun Java y OpenJDK en Linux

Para trabajar con Heroku, recomiendan usar OpenJDK, sin embargo, hasta el momento vengo usando el Sun JDK, así que voy a instalar el OpenJDK: $ sudo apt-get install openjdk-6-jdk Con esto se instala el OpenJDK 6, pero con un desafortunado efecto secundario: $ java -version java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.2) (6b22-1.10.2-0ubuntu1~11.04.1) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) Efectivamente, se ha establecido el OpenJDK como máquina virtual de Java por defecto, pero esto no es lo que quiero (al menos, yo no), me gustaría seguir usando el Sun JDK. Afortunadamente, qué JDK usar esta regido por el Linux Alternatives System, que básicamente es un sistema para poder cambiar entre varias implementaciones de un mismo programa, y Ubuntu trae un programa que se llama update-java-alternatives que te sirve para cambiar, en mi caso ha sido:

Despliegue de Spring Roo en Heroku

Hasta ahora, las aplicaciones que he desplegado eran muy básicas, hechas con jsp y acceso a base de datos a base de jdbc plano. Estas tecnologías no estan mal (y de hecho son la base de todo lo posterior), pero lo más normal es utilizar frameworks para el desarrollo de aplicaciones Java. La quinta práctica del libro de Java para Heroku es un despliegue de aplicaciones hechas con Spring Roo en Heroku. Spring Roo es un framework que viene a ser como Rails para Ruby. Simplifica el desarrollo con funciones tan básicas como crear el toString o el equals automáticamente o tan avanzadas como generar el CRUD de una base de datos directamente.

Add-ons para Heroku

La arquitectura de Heroku es modular, es decir, se pueden añadir funcionalidades al Stack mediante piezas de software llamadas add-ons. Un ejemplo de eso lo vi aquí cuando añadí el soporte para gestión de releases a través de un add-on. Hay bastantes más add-ons disponibles en la página, para enviar sms, para conectar como amazon rds, etc… Los hay gratuitos, de pago, en beta… en fín, de todo tipo.