lunes, 22 de diciembre de 2008

-Tutorial GWT- Parte1. Desarrollo de una aplicación Web usando GWT.


Este tutorial sera dividido en tres partes, ya que se cubriran los diferentes aspectos a tener en cuenta al momento de desarrollar una aplicación Web usando el Google Web Toolkit (GWT) bajo el sistema operativo Linux (Ubuntu) y usando el IDE Eclipse. Antes de comenzar, se debe tener instalado Eclipse (ver el tutorial Como instalar Eclipse en Ubuntu). El primer paso a seguir es descargar el GWT de la pagina oficial del proyecto http://code.google.com/webtoolkit/ en un directorio cualquiera, preferiblemente que se encuentre en nuestro home. El archivo descargado tiene la extensión .tar.bz2, para descomprimirlo usamos la siguiente instrucción por consola: tar xvjf gwt-linux-1.5.3.tar.bz2 Aunque se pueden crear proyectos para Eclipse usando algunas herramientas del GWT, en nuestro caso vamos a usar el plugin para Eclipse desarrollado por Cypal, llamado Cypal Studio for GWT, este lo podemos descargar del sitio oficial: http://www.cypal.in/ Una vez descargado y descomprimido, copiamos los archivos *.jar en la carpeta plugins del Eclipse (En caso de tener instalado el Eclipse en el directorio opt debemos tener permisos de root). Una vez realizados estos pasos, procedemos a abrir el Eclipse. Entramos por WindowPreferences damos click a la opción Cypal Studio, allí especificamos la ruta donde se encuentra el GWT, tal como se ve en la siguiente figura:


Damos click en Apply y luego en OK.

Para verificar que todo esté bien, vamos a realizar una aplicación de prueba. Para esto creamos un proyecto tipo Dynamic Web Project y configuramos el proyecto de la siguiente forma:



Damos click en Finish (Es posible que Eclipse te sugiera otra perspectiva, sin embargo, es preferible conservar la perspectiva Java).


Una vez creado el proyecto, nos ubicamos en la raíz y con click derecho seleccionamos NewOther... Nos ubicamos en la opción Cypal Studio y creamos un nuevo modulo, tal como se muestra en la siguiente figura:



Damos click en Next y configuramos el modulo de la siguiente forma:




Click en Finish para terminar.


Con esto se ha creado la jerarquía y archivos suficientes para hacer nuestro primer ejemplo. En el archivo HolaMundo.java ingresamos el siguiente código:

com.camigira.ejemplo.client;

import com.google.gwt.core.client.EntryPoint;
import
com.google.gwt.user.client.Window;
import
com.google.gwt.user.client.ui.Button;
import
com.google.gwt.user.client.ui.ClickListener;
import
com.google.gwt.user.client.ui.RootPanel;
import
com.google.gwt.user.client.ui.Widget;

public class HolaMundo implements EntryPoint {

public void onModuleLoad() {
Button
button = new Button("Prueba");
button.addClickListener(
new ClickListener() {
public void onClick(Widget sender) {
Window.alert(
"Hola Mundo");
}
});
RootPanel.get().add(button);
}

}


Para probar si funciona, nos ubicamos en el archivo HolaMundo.gwt.xml damos click derecho Run AsGWT Hosted Mode Application. Con esto nos debería aparecer tanto el GWT Development Shell como el navegador de prueba con un botón, el cual al darle click hace aparecer una ventana de alerta con la frase Hola Mundo.

Por: Camilo Giraldo J

-Info Android- Que es el Android Market?


Cuando se realiza el esfuerzo de aprender algún tema relacionado con el desarrollo de software, más allá de la satisfacción que puede representar saber “algo nuevo” en definitiva estamos buscando que ese esfuerzo se vea recompensado económicamente, ya sea mediante un mejor salario en una organización o mejores ingresos trabajando de manera independiente para otros. Sin embargo, que pasa con nuestras ideas y proyectos de desarrollo, como realizarlas y lograr que nos representen ingresos?
Una respuesta obvia pude ser “Pues la hago y luego la vendo!”… si lo pensamos bien, el proceso de desarrollo depende únicamente de nosotros y los impedimentos finalmente son oportunidades de aprendizaje, por lo que esa parte de la respuesta está bien, pero “y luego la vendo!” puede ser complejo pues encontrar varios clientes y llegar a todos ellos no es tan simple pues definitivamente que la venta se realice no depende completamente de nosotros, incluso si contamos con buenas aptitudes de vendedor.
Una posible solución a los problemas mencionados es Android Market, gracias a la cual se podría afirmar que la respuesta “Pues la hago y luego la vendo!” puede ser absolutamente cierta. Android Market es un sistema de distribución de contenido que ayuda a los usuarios finales buscar, comprar, descargar e instalar diversos tipos de contenido en sus dispositivos móviles. Esto es, un sistema organizado por Google con características como calificación y retroalimentación por parte de compradores, además, de herramientas que ayuden a los desarrolladores a hacer seguimiento a sus negocios y mejorar sus ofertas y aplicaciones. Este sistema esta soportado por la experiencia e infraestructura que tiene Google propiciando la venta y compra de diversos tipos de aplicaciones de una forma ágil y relativamente simple tanto para desarrolladores como usuarios.
Para la publicación de las aplicaciones en el Android market, se deben tener en cuenta los siguientes aspectos:

Manejo de versiones

Los usuarios necesitan disponer de información específica sobre la versión de la aplicaciónestá instalada en sus dispositivos moviles, para asi conocer saber cuando existen actualizaciones disponibles. En ocasiones el manejo de versiones, permite determinar la compatibilidad de de ciertas aplicaciones o modulos ya que pudiera existir dependencias segun la versión.
Para definir la información de versión en una aplicación Android, se cuenta con dos atributos, los cuales deben ser anexados al archivo manifiesto (manifest).

- android:versionCode Es un valor entero que representa la versión del codigo de la aplicación relativo a otras versiones.
Este valor entero puede ser verificado mediante logica de programacion, para asi evaluar si existen nuevas versiones o alguna relacion de dependencia interna. Este valor es arbitrario, por lo que es el programador quien lo define, sin embargo debe asegurarse de que simepre que exista una nueva versión, este valor sea mayor al anterior.

- android:versionName Es una cadena de texto (String) que representa la versión de la aplicación, esta sera mostrada al usuario.
Este valor no es usado internamente para algun proposito de programacion, simplemente se muestra al usuario, por lo que es importante tener algun estándar o formato.

En caso de que la aplicación requiera una versión minima de la plataforma Android, esta se puede especificar en el archivo manifiesto con el siguiente atributo:

- android:minSdkVersion Valor entero que corresponde a la versión de codigo de la plataforma Android.

Resulta muy util al momento de instalar una aplicación, ya que el sistema valida este atributo comparandolo con la versión del sistema Android, en caso de que no sea compatible el sistema aborta la instalación de la aplicación.

Firmar las aplicaciones

El sistema Android requiere que todas las aplicaciones estén firmadas digitalmente cuya clave privada está en manos del desarrollador. Este certificado es usado como una forma para identificar a los autores y establecer relaciones de confianza entre las aplicaciones. El certificado no necesariamente debe estar firmado por una autoridad de certificación, es normal y común recurrir al auto firmado de certificados para aplicaciones Android.

Los principales puntos a tener en cuenta son:

- Todas las aplicaciones deben ser firmadas digitalmente, el sistema no se instalará una aplicación que no está firmada.
- Es posible usar una firma propia, no es necesario un certificado de autoridad.
- Al momento de publicar una aplicación, se debe firmar la aplicación Android con una clave privada adecuada. No se permite la publicación de aplicaciones que usan la clave por defecto que provee el SDK.
- El sistema verifica la fecha de expiración de la firma solo al momento de realizar la instalación. En caso de que esta fecha expire luego de haber sido instalada, la aplicación continúa funcionando normalmente.
- Es posible usar las herramientas estándar — Keytool and Jarsigner — para generar las claves y firmar la aplicación.

Antes de publicar una aplicación, es recomendable tener en cuenta los siguientes puntos:

- Probar ampliamente su aplicación en un dispositivo real
- Considerar la posibilidad de añadir una licencia de usuario final en su aplicación
- Especificar un icono y etiqueta para su aplicación.
- Especificar la versión de su aplicación
- Obtener un adecuado clave criptográfica
- Registrarse para obtener una clave del Maps API, si su aplicación está utilizando elementos MapView
- Firmar su aplicación
- Pruebe ampliamente la aplicación compilada.

Para mayor información, puede visitar la página oficial del proyecto http://code.google.com/android

Bibliografía
Por: Camilo Giraldo J

martes, 25 de noviembre de 2008

-Tutorial Android- Configuración de ambiente de desarrollo Android en Ubuntu

Lo primero que debemos hacer es descargar e instalar el IDE Eclipse (ver tutorial Como instalar Eclipse en Ubuntu ), algo importante a tener en cuenta es que en este tutorial vamos a usar la versión 3.4.1 Ganymede de Eclipse. Una vez instalado, debemos descargar el SDK de Android, el cual se pude descargar desde la pagina oficial de Android: http://code.google.com/android/
Para descargarlo, entramos al link “Download the SDK”, aceptamos los terminos de uso y seleccionamos la ultima versión disponible bajo la plataforma Linux (i386).

Una vez hallamos descargado el SDK procedemos a ubicarnos en el directorio donde lo descargamos y ejecutamos las siguientes instrucciones por consola:

unzip android-sdk-linux_x86-1.0_r1.zip

sudo mv android-sdk-linux_x86-1.0_r1 /opt/eclipse

sudo chmod -R +r /opt/eclipse/android-sdk-linux_x86-1.0_r1/

Una vez realizado esto, iniciamos Eclipse y entramos por: Help-> SoftwareUpdates damos click en la pestaña Available Software y luego click en el boton Add site... Se abre una ventana donde ingresamos la siguiente url: https://dl-ssl.google.com/android/eclipse/ Con esto hemos adicionado una nueva fuente para complementos de Eclipse, la seleccionamos (con esto se seleccionan todas las opciones de Developer Tools) y damos click en Install. Luego saldrán las ventanas de instalación, donde muestran los terminos de uso, para completar la instalación, debemos marcar la opción donde se aceptan los términos. Una vez finalizada la Instalación del plugin debemos reiniciar Eclipse.

Ya reiniciado Eclipse, entramos por Window-> Preferences, seleccionamos la opcion Android y especificamos la ruta donde se encuentra el SDK, en nuestro caso /opt/eclipse/android-sdk-linux_x86-1.0_r1/ click en el boton Apply y luego en OK.

Con esto hemos terminado la configuración del ambiente de desarrollo Android en Ubuntu usando Eclipse. Para verificar que todo se encuentra correctamente, creamos un nuevo proyecto tipo Android, con los siguientes parámetros:

Damos click en Finish. Y ejecutamos el proyecto.

Por: Camilo Giraldo J.

martes, 18 de noviembre de 2008

-Tutorial linux- Como instalar Eclipse en Ubuntu


Luego de haber instalado java (ver tutorial) se deben seguir los siguientes pasos para instalar eclipse:

- Descargar eclipse desde la pagina de descargas http://www.eclipse.org/downloads/

- Una vez descargado eclipse, debemos descomprimirlo. Para esto, primero nos ubicamos en el directorio donde se encuentra el archivo eclipse.tar.gz y escribimos lo siguiente en la consola:

tar xzf eclipse.tar.gz

luego, movemos la carpeta eclipse al directorio opt:

sudo mv eclipse /opt/

Cambiamos los permisos:

sudo chmod -R +r /opt/eclipse
sudo chmod +x /opt/eclipse/eclipse

Creamos un ejecutable en nuestra ruta:

sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
sudo gedit /usr/bin/eclipse

Escribimos lo siguiente en este archivo y guardamos los cambios:
#!/bin/sh
#export MOZILLA_FIVE_HOME="/usr/lib/mozilla/"
export ECLIPSE_HOME="/opt/eclipse"
$ECLIPSE_HOME/eclipse $*

Ahora hacemos que eclipse pueda ser ejecutado desde cualquier sitio creando un symlink:

sudo ln -s /usr/bin/eclipse /bin/eclipse

Para crear el icono en el menu:

sudo gedit /usr/share/applications/eclipse.desktop

Escribimos las siguientes lineas y guardamos los cambios:

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true

Hemos terminado, ahora podemos ejecutar eclipse por primera vez desde consola escribiendo:

eclipse -clean

O también por Applications->Programming->Eclipse


Por: Camilo Giraldo J

domingo, 16 de noviembre de 2008

-Tutorial linux- Instalar motor de base de datos MySQL en Ubuntu

Para instalar el motor de base de datos MySQL en Ubuntu, se deben seguir los siguientes pasos por consola:

sudo apt-get install mysql-server-5.0 mysql-client-5.0 mysql-admin mysql-doc-5.0

En esta instalación se ingresa la contraseña del root o administrador de la base de datos, por lo que es muy importante recordarla. Usualmente para desarrollo y pruebas es común usar adminadmin como contraseña.

El administrador Grafico se puede instalar por Applications>Add/Remove y buscamos MySQL Administrator. Tambien es recomendable instalarel MySQL Query Browser, el cual permite realizar consultas o ejecutar sentencias sql a las bases de datos.

Por: Camilo Giraldo J.

-Tutorial java- Instalación de Java en Ubuntu

Para instalar Java 6 en Ubuntu LTS, se debe hacer lo siguiente:

Lo primero que se debe hacer, es instalar el paquete primordial de Java, el JRE (Java Runtime Enviroment). Por consola escribimos lo siguiente:

sudo apt-get install sun-java6-jre

Para instalar el JDK (Java Development Kit), escribimos por consola:

sudo apt-get install sun-java6-jdk

Para instalar el plugin necesario para desplegar contenido Java en el navegador escribimos por consola:

$ sudo apt-get install sun-java6-plugin

y para instalar las fuentes:

sudo apt-get install sun-java6-source


Por: Camilo Giraldo J

-Tutorial linux- Instalar Apache Tomcat en Ubuntu

Luego de tener instalado Java (ver tutorial para la instalación Java). Descargamos la version de Apache Tomcat que se desee y la ponemos en el directorio /usr/local/ Para esto es necesario tener permisos de root, por lo que usamos el comando sudo su para moverlo por consola, o sudo nautilus para realizar el movimiento usando el navegador.

Para descomprimir y mover usar las siguientes lineas:

tar xvzf apache-tomcat-6.0.14.tar.gz

sudo mv apache-tomcat-6.0.14 /usr/local/tomcat

Como el Tomcat requiere tener configurado la variable JAVA_HOME, debemos escribir lo siguiente para editar el archivo bashrc:

gedit ~/.bashrc

Y agregamos la siguiente linea:

export JAVA_HOME=/usr/lib/jvm/java-6-sun

Una vez realizado esto se puede iniciar el Tomcat usando el script de inicio ubicado el la carpeta bin.

Para verificar que todo esta bien escribimos en el navegador:

http://127.0.0.1:8080/

Para agregar usuario administrador del tomcat, procedemos de la siguiente manera:

sudo gedit /usr/local/tomcat/conf/tomcat-users.xml

Y antes del tag </tomcat-users> escribimos la siguiente linea:

<user username="your username" password="your password" roles="admin,manager"/>

Por: Camilo Giraldo J

sábado, 15 de noviembre de 2008

-Tip java- Ejecutar JAR externo

Como ejecutar una clase Java por consola si se tiene un .Jar externo?

Para ejecutar una clase java que usa una librería externa como por ejemplo JDOM (para manipulacion de archivos xml), se debe seguir la siguiente sintaxis:

java -classpath $CLASSPATH:/ruta/archivo.jar claseJava

Por: Camilo Giraldo J

-Tutorial linux-Como realizar una conexión SSH con UBUNTU


Para realizar una conexión SSH usando Ubuntu, vamos a usar gFTP, para instalarlo, se deben seguir los siguientes pasos:

Applications>Add/Remove. Y buscamos gFTP para instalarlo.

Al abrir gFTP se llenan los siguientes campos asi:
Host: nombreHost
Port: 22
User: nombreUsuario
Pass: Contraseña
Y seleccionamos la opción SSH2 click en el icono:




Por: Camilo Giraldo J