viernes, 14 de octubre de 2011

Consumir un servicio web desde un cliente creado con AXIS2

 

Con anterioridad publique como Generar un WSDL desde un archivo.javaInstalar y configurar Apache Tomcat & Axis 1.x; Pero debemos obtener beneficios de un servicio web para esto necesitamos crear un cliente para consumir un WS publico.

Requisitos para crear el cliente

1) Tener un servicio web disponible el cual se va a consumir. Descarga el archivo.wsdl del servicio web a nuestra computadora.En este repositorio hay algunos http://www.service-repository.com/ y nos da la disponibilidad de dichos servicios.

2) Distribución binaria de Axis2. Descarga desde la pagina oficial.

3) IDE Eclipse.

Crear la variable de entorno AXIS2_HOME

La distribución binaria axis2 descargada previamente se descomprime y colocarla en el directorio raíz, renombrarla como AXIS2_HOME.

image

Lo siguiente es crear la nueva variable en el sistema, para ello Ir a Propiedades del sistema > Variables de entorno y crear una nueva variable del sistema con el siguiente nombre:

Nombre de la variable: AXIS2_HOME

Valor de la variable: C:\AXIS2_HOME

image

Modificar la variable del sistema Path agregando la ruta: C:\AXIS2_HOME\bin

image

Como saber si se creo correctamente la variable de entorno AXIS2_HOME ?

antes de seguir vamos a asegurarnos de que se han realizado correctamente los pasos anteriores.

Abrir un Símbolo del sistema en Windows y teclear la siguiente linea:

wsdl2java y se debe desplegar información sobre la instrucción anterior.image

¿ Es correcta la configuración ? sino revise los pasos anteriores.

Crear cliente por medio del IDE Eclipse

Omitiré muchas explicaciones sobre Eclipse, espero no tengan problemas. Este paso es uno de los mas laboriosos y enredados.

Abrir Eclipse Ir a la pestaña File > New > Java Project le damos un nombre al proyecto y clic en el botón FInish.

Dentro de ese proyecto colocaremos el archivo.wsdl del servicio que deseamos consumir.

Como se hace?

  • Solo deben copiar el archivo.wsdl ,
  • Ir a Eclipse, Seleccionar el Java project que acaban de crear
  • Dar clic derecho y elegir la opción  pegar.

Debe quedar algo similar:

image

Dejamos de momento Eclipse y abrimos nuevamente un símbolo del sistema para realizamos lo siguiente:

  1. Ir al directorio del workspace y buscar el proyecto que creamos en eclipse, en mi caso es: C:\Users\Alberto\workspace\consumir_WS> justo ahí se puede ver la estructura del proyecto java y el wsdl. image
  2. Generaremos el Stub para el cliente, estas son dos clases.java que se obtiene con la siguiente instrucción:

 wsdl2java –uri TopMovies.wsdl image

Por ultimo regresamos a Eclipse seleccionamos el proyecto y damos refresh mediante la tecla F5, debe aparecer un nuevo paquete que contiene las clases creadas en el paso 2.image

Sorpresa!!! están las clases pero marca un error, es porque se requiere agregar los archivos.jar. Para agregarlos:

  • Dar clic derecho en el proyecto
  • Ir a la opción Build Path > Add External Archives… 
  • En la ventana siguiente ir a la ruta C:\AXIS2_HOME\lib
  • Seleccionar todos los archivos.jar para agregarlos al proyecto.

image

 

Como se puede ver se agregaron los archivos de la librería de axis2. Y los errores, han desaparecido!!!

 

 

 

 

 

 

 

 

 

Clase Test.java

Por ultimo se debe crear una clase Test.java dentro del proyecto para probar que se puede consumir el servicio web. Aquí les dejo el código de la clase Test.java.

image

Es fácil de analizar la clase Test, se crea un objeto TopMoviesStub y se utiliza los métodos GetTop10 y GetTop10Response del WS. Para comprender que parámetros recibe y que devuelve cada uno de los métodos es recomendable analizar el wsdl del servicio web. El que estoy consumiendo para este ejemplo esta en: http://www.service-repository.com/service/overview/-1851638808

Ejecutar Test.java y se muestra el resultado de consumir el servicio web

image

¿ Alguna duda ? …

viernes, 7 de octubre de 2011

Generar un WSDL desde un archivo.java

 

Para realizar esta pequeña practica se requiere tener instalado y funcionando:

  • Apache Tomcat
  • Axis 1.x.x
  • Maquina virtual de JAVA

 

Para crear el WSDL lo haremos a través de un archivo.class este ultimo archivo se obtiene después de compilar el archivo.java, así que primero  el archivo.java del cual partir.

1) Crear el archivo.java

En un editor de texto capturamos las siguientes líneas y Guardar como saludo.java

//Jose Alberto Yañez Castillo

public class saludo {

    //método que recibe un String y devuelve un String concatenado con Hola

    public String hola(String msg){
        return "Hola" + msg;
    }

}

El servicio solo tendrá un método que al ser invocado devuelve algo parecido al famoso “Hola Mundo”.

(Demasiado sencillo para estas alturas, pero fácil de comprender).

2) Crear el archivo.class

En un Símbolo del sistema nos posicionamos en la ruta donde este guardado el saludo.java

image

En mi caso esta en la ruta C:\Documents and Settings\Alberto\Mis documentos

Para compilar saludo.java lo hacemos con el siguiente comando:

javac saludo.java

Sino se muestra nada en la ventana después de teclear el comando javac es que se realizo correctamente y revisamos que se creo el saludo.class

image

Hasta aquí todo sencillo…

3) Crear el saludo.jws

Realizamos una copia del archivo saludo.class pero le cambiamos la extensión .class  a  .jws. Este archivo saludo.jws lo colocamos en la ruta C:\apache_tomcat\webapps\axis

image

Ahora se necesita otra copia de saludo.class pero que debe ser colocada en C:\apache_tomcat\webapps\axis\WEB-INF\jwsClasses a este no se le cambia la extensión.

image

4) Iniciar Apache Tomcat

Debemos iniciar el servidor Tomcat y abrir el navegador para poder ver el wsdl de saludo.jws que acabamos de crear.

Recuerden que es:

http://localhost:8080/axis/saludo.jws

Listo… tenemos el WSDL del servicio saludo.

image

Supongamos que este  fuese un WS externo (que esta publicado en internet) y se quisiera descargar el WSDL a nuestra computadora, entonces vamos a la pestaña Archivo > Guardar como… del navegador que utilizamos y en la ventana siguiente colocamos

Nombre: saludo.wsdl

Tipo: Todos los archivos

image

Y Guardar, tenemos el WSDL del servicio saludo para trabajarlo en nuestro servidor local.

El siguiente paso será consumir el servicio a través de un cliente.

lunes, 3 de octubre de 2011

Instalación y configuración de Apache Tomcat 7.0 & Axis 1.x


Apache Tomcat es un contenedor de servlets que funciona en cualquier sistema operativo pues esta escrito en Java. Para poder instalar Tomcat primero debemos asegurarnos de tener instalada la maquina virtual de Java.
Nota: En la entrada Configurar variables de entorno para Java JDK en Windows 7 se mostro como configurar las variables de entorno para Java.

1) Descargar los archivos necesarios

Necesitamos descargar el archivo comprimido de Apache Tomcat 7.0 y el de Axis 1.x.
Los archivos que he utilizado los pueden obtener en la siguiente dirección skyDrive Alberto



2) Descomprimir Apache Tomcat

Lo recomendable es descomprimir el archivo apache-tomcat-7.0.14-windows-x86.zip en el directorio raíz del disco duro. Una imagen para ejemplificar:imageLa carpeta descomprimida se renombro y esta en la ruta C:\apache_tomcat



3) Descomprimir Axis

En la ruta C:\apache_tomcat\webapps descomprimir el archivo axis.zip  image



4) Configurar variables de entorno

Se deben crear dos nuevas variables de entorno: JAVA_HOME  y CATALINA_HOME.
4.1 Crear la variable de entorno JAVA_HOME
  1. Ir a Propiedades del sistema > Opciones avanzadas y seleccionar Variables de entorno.
  2. En el recuadro de Variables del sistema agregamos Nueva variable…
  3. Nombre de la variable : JAVA_HOME                          Valor de la variable: C:\Archivos de programa\Java\jdk1.7.0
Nota: La ruta del directorio Java es la que esta por default cuando se instala, si la han cambiado deben colocar la que ustedes cambiaron.
image
 
4.2 Crear la variable de entorno CATALINA_HOME
Se debe seguir  el mismo procedimiento al crear la  variable JAVA_HOME, pero cambiando los siguientes valores:
Nombre de la variable : CATALINA_HOME
Valor de la variable: C:\apache_tomcatimage

Para la variable CATALINA_HOME debemos modificar la variable del sistema  Path agregando ;C:\apache_tomcat\binimage



5) Iniciando Tomcat

Ahora solo resta iniciar Tomcat, pero antes de iniciar chequemos la lista de los pasos de instalación y configuración:
  1. Descomprimir los paquetes de Tomcat y Axis en sus respectivas rutas.
  2. Crear la variable JAVA_HOME.
    • No se configuro la variable JRE_HOME pues el paquete instalado es JAVA JDK, si se hubiera tenido instalada la versión JAVA JRE si se configura la variable JRE_HOME en lugar de JAVA_HOME.
  3. Crear la variable CATALINA_HOME y modificar la variable del sistema Path agregando la ruta correspondiente a la carpeta \bin de Tomcat.
Todo se realizo correctamente…

Abrimos un Símbolo del sistema e ingresamos el siguiente comando        %CATALINA_HOME%\bin\startup.bat image

Inmediatamente se ejecutara Tomcatimage

En la barra de dirección del navegador ingresamos la dirección http://localhost:8080/ y Tomcat esta funcionando.image



 

6) Y Axis?

Axis también esta listo, ingresamos a la dirección http://localhost:8080/axis/  image
Ahora ya tenemos instalado Tomcat y Axis 1.x. También un entorno listo para poder comenzar a trabajar con WS.
Estos pasos se probaron en Windows XP y Windows 7, es la misma serie de pasos a seguir.

sábado, 1 de octubre de 2011

Configurar variables de entorno para Java JDK en Windows 7.

 

Java Development Kit o JDK, permite crear, compilar y ejecutar aplicaciones Java.

JRE, Java Runtime Environment es solo un entorno de ejecución para programas hechos en java.

Si aún no se tiene JDK, se descarga en la siguiente dirección:

http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

La versión Windows x86 para arquitecturas de 32-bits y Windows x64 para las de 64-bits.

Antes de comenzar a configurar las variables de entorno debemos localizar la ruta donde se tiene instalado Java, por default es:

C:\Archivos de programa\Java  o  C:\Program Files\Java

Variables de entorno

A través de la ventana Ejecutar de Windows abrimos las Propiedades del sistema, utilizando el siguiente comando: sysdm.cpl.

image

Al dar Aceptar se abre la ventana de Propiedades del Sistema, buscamos la pestaña Opciones avanzadas y clic en el botón de Variables de entorno.

image

Configurar Variable del sistema Path

En la ventana variables de entorno observamos dos recuadros el de Variables de usuario… y el de Variables del sistema, es sobre este ultimo que vamos a buscar la de nombre Path  damos clic en el botón editar.

image

Si observamos la variable Path en el campo Valor de la variable, tiene  distintas rutas separadas por ‘;' (punto y coma) después de la ultima ruta agregamos la ubicación de la carpeta bin que  se encuentra dentro de Java\jdk1.x.x\bin

Un ejemplo estaría mejor, suponiendo que Java esta instalado en C:\Program Files\Java\jdk1.6.0_17\bin esta ruta es la que agregamos en el campo Valor de la variable, importante separar con un ‘;

image

en mi caso la ruta cambio de C:\Program Files\Java\jdk1.6.0_17\bin  a C:\Program Files (x86)\Java\jdk1.6.0_17\bin por que mi mi arquitectura es de 64-bits y se instalo la  versión 1.7.0, el punto es que la variable apunta a la ubicación del directorio \bin.

Nota: En mi caso hay más valores de variable después de la de java y por eso existe otro separador de variables ';’  Pero Si para ustedes este es su ultimo valor de la variable no agregar ‘;’  (punto y coma).

Configurar Variable del sistema CLASSPATH

De forma similar que se configura Path se hace con Classpath, pero esta vez son dos rutas las que se agregan:

C:\Program Files\Java\jdk1.6.0_17\src.zip

C:\Program Files\Java\jdk1.6.0_17\lib\tools.jar

Amabas separadas por ‘;’ y al final de ellas colocaremos un ‘;.’ (punto y coma más punto). La variable Classpath quedaría así:

image

Nota: Al final debe agregar ‘;.

¿Se configuro correctamente?

Abrir el símbolo del sistema y simplemente teclear java – version

image

Espero les haya servido y pronto poder colocar como se configuran las variables para el Tomcat y el Axis. Esto es lo que utilizamos en la clase de Interoperabilidad y me sirve de repaso.

domingo, 25 de septiembre de 2011

Processing, Un lenguaje de programación y entorno de desarrollo.

Diseñado por Ben Fry y Casey Reas en el 2001, ambos estudiantes del MIT Media Lab.

Processing

Processing fue inicialmente creado para servir como “sketckbook” (cuaderno de dibujo) en proyectos multimedia e interactivos así mismo para facilitar el aprendizaje de programación en un contexto visual.

Para quienes programan en lenguaje de programación Java es fácil adentrarse ya que esta basado en este. Processing puede ejecutarse desde plataformas como Mac, Linux y Windows. Se distribuye bajo licencia GNU GPL.

Inicialmente las primeras versiones del IDE de Processing solo tenían el modo de uso Standard, a partir de la versión 1.5.1 se agrega el modo Android este permite crear aplicaciones para dispositivos que cuentan con este sistema operativo, ahí no terminan las sorpresas, recientemente se libero la versión 2.0alpha1 de Processing a la cual se le agrega el modo JavaScript, esto brinda la oportunidad de que la aplicación funcione en navegadores web.

Libros, Manuales y Tutoriales para Processing

Inicialmente la pagina de Processing cuenta con una buena cantidad de tutoriales en la siguiente dirección : http://processing.org/learning/

Si lo que buscan es un libro o un manual pueden ver los que están disponibles acá: http://processing.org/learning/books/

Para principiantes recomiendo el libro Learning Processing, esta bien estructurado además contiene ejemplos y ejercicios. En su pagina pueden descargar gratuitamente el primer capitulo, ver los ejemplos y ejercicios que contiene el libro. http://www.learningprocessing.com/

Programación orientada a objetos en Processing

Un ejemplo rápido tomado de la pagina de Processing Café

En la siguiente imagen se define un clase llamada Pelota con su correspondiente constructor y un método llamado paint el cual se encarga de dibujar una circunferencia a partir de los parámetros dados en el constructor.

El código comentado facilita su comprensión, además es muy sencillo el ejemplo.

2

Al dar clic en el botón Run se ejecuta el programa y obviamente lo que se dibuja es una circunferencia.

3

Ejemplo sencillo para comenzar a practicar con Processing, no?
Esta entrada solo fue para dar a conocer un poco de Processing, si les sirve ahí esta.

sábado, 17 de septiembre de 2011

SUSE Studio. Crea tu distribución basada en SUSE Linux

Existen varias formas de poder crear una distribución Linux pero la que me parece mas sencilla y agradable es utilizando SUSE Studio. Además soy partidario de SUSE.

Visite http://susestudio.com/

SUSE StudioVista inicial de la pagina SUSE Studio.

Ingresando a SUSE Studio

Es muy sencillo y rápido ingresar si contamos con una cuenta de: Twitter, Facebook, Yahoo, Google, etc.

Ingresar a SUSE Studio

Primeros pasos…

Una vez que entramos podemos navegar entre las opciones que nos muestra la pagina para familiarizarnos.

La opción para comenzar a crear nuestra distribución es: Create new appliance

Vamos a la pestaña Studio > Create new appliance.

Se muestra la siguiente ventana, donde podemos elegir entre varias plantillas y así mismo la arquitectura de 32-bits o 64-bits para comenzar a crear la distribución, en la parte inferior esta el campo donde colocar el nombre a la distribución este puede cambiarse después.

Elegir plantilla

Una vez que elegimos la plantilla, arquitectura y un nombre. SUSE Studio facilita la tarea agrupando las herramientas en tan solo seis pestañas:

  • Start
  • Software
  • Configuration
  • Files
  • Build
  • Share

Me parece que es intuitivo saber para que es cada una.

De momento la mas importantes es Software donde podemos elegir todo lo que deseamos contenga nuestra distribución.

Agregar software

El orden ante todo. El software esta agrupado de tal manera que es sencillo saber donde debemos ir para agregar el software a nuestra distribución.

Nota: Se debe tener cierta idea sobre el software que se desea agregara a la distribución.

SUSE Studio de verdad facilita la tarea; después de agregar el software, archivos y configurar nuestra distribución. Podemos elegir entre varios formatos en la opción Build.

Formato distribución

Si elegimos cualquiera de los formatos tendremos que descargarlo y realizar las pruebas correspondientes dependiendo del formato seleccionado, pero realizar la descarga llevara tiempo.

SUSE Studio proporciona una herramienta interesante el Testdrive consiste en ejecutar una maquina virtual en la ventana del navegador y comenzar a interactuar con nuestra distribución sin la necesidad de descargarla a nuestra computadora y si este plus no los convence de comenzar a experimentar con SUSE Studio. Les puedo decir que también podemos realizar un testdrive a otras distribuciones que han sido creadas por otros usuarios.

miniSUSE

Testdrive a miniSUSE creada por hgj. http://susegallery.com/a/jFksKq/minisuse

Si les interesa comenzar a experimentar, adelante. Lo recomendable es comenzar con la guía de inicio rápido de SUSE Studio.

sábado, 27 de agosto de 2011

El principio del círculo.

La idea de este blog es publicar sobre mis gustos como es la música, cine y tecnología. También intentaré crear y subir tutoriales de los temas que conozco en computación.
De igual forma no puede faltar la parte de locura y poeta que todos llevamos dentro.