lunes, 21 de mayo de 2012

Generar un cliente webservice con eclipse (Axis client)


Como se comentó en la entrada pasada, ahora toca hacer el cliente del web service.

Para generar el cliente, primero debemos generar un nuevo proyecto web dinámico, desde donde crearemos el cliente que consuma el web Service. Para esto damos a New/Other Web Services/ Web Service Client.




En la siguiente pantalla debemos elegir el webservice que generamos en la entrada pasada:


 Para seleccionar el wsdl, previamente damos a browse, y buscamos el web service:



Indicamos que queremos probar el cliente, con los mismos servidores y runtime que hemos elegido anteriormente para la ejecución en local (en la ejecución real no serán los mismos, puesto que se ejecutarán en equipos distintos).


Generamos el Proxy en la ubicación de los sources


Para probar el Web Service, seleccionamos los métodos que queremos que se publiquen, en este caso “testHolaMundo”


Y con esto nos generará el cliente con todo lo necesario para hacer las pruebas, como las clases que importan el Web Service:



Las jsp’s para introducir los parámetros:



Y las librerías necesarias:


El cliente generado será asi:













lunes, 23 de abril de 2012

Crear un Web Service con eclipse.



Para generar un Web Service, se puede hacer de dos maneras, Bottom up y up to bottom. 
La manera mas "académica" de generarlo es haciendo un wsdl primero (up to buttom) debido a que se genera la interfaz del web service primero y los cambios que puedan darse no afectarían a ésta interfaz.

La manera Bottom up es primero crear una clase con los métodos que se generarán como web service y a partir de ahi generar el wsdl. 

Para esta segunda opción (que es la que se explicará a continuación) lo más recomendable es crear una clase con los métodos a los que llamará el Web Service y que ésta se encargue de llamar a los métodos de negocio. También, en caso de ser necesaria una lógica de “traducción” o de validación de los parámetros enviados desde el Web Service a los de la lógica de negocio, en esta clase podría aplicarse dicha lógica. 


Como ejemplo, tomaremos la siguiente clase:
package test;

public class HolaMundo
{

public String testHolaMundo(String parametro)
{    
     
                  /*La lógica de validación y/o traducción de parametros a
       * los métodos de negocio se pone aqui.
       * */
           
return "Hola mundo web service. Has enviado: " + parametro;
            }

}


Una vez teniendo esta clase, el webService se puede generar mediante los asistentes de Eclipse, como se indicará a continuación:

Seleccionamos la clase sobre la cual queremos que se genere el webService y damos click derecho, New/Other Web Services/Web Service.


Una vez seleccionado esto, nos aparecerá un asistente en el cual indicaremos lo que queremos generar del web Service. En este caso lo haremos hasta la ejecución del web Service.

En “Configuration” elegimos el servidor (en este caso Tomcat) y el runtime de los Web Services (Apache Axis), así como el proyecto sobre el cual lo generaremos (donde está ubicada la clase que exportaremos a web Service). De momento no generaremos el cliente.



Asignamos el nombre que queremos darle a nuestro wsdl (el alias del webService, el nombre de la clase con el que lo invovcaremos.) y seleccionamos los métodos que queremos que se publiquen en el webService.






Una vez hecho esto, debemos arrancar el servidor que indicamos al inicio del asistente:



Y podemos finalizar el asistente, con lo que nos creará todo lo necesario para que se publique el web service y el wdsl.


En la siguiente entrada se explicará como generar un cliente para este web service.










domingo, 15 de abril de 2012

Hola mundo con Tomcat y JSP

Una vez que ya tenemos instalado Eclipse, nos toca ahora hacer los proyectos web. Para esto debemos descargar un servidor de aplicaciones. Existen muchos servidores para escoger, como JBoss, Tomcat, Glassfish, etc. Uno de los más sencillos de utilizar es Tomcat, así que este es el que utilizaremos.

Se puede descargar la versión 7 de aqui:
http://tomcat.apache.org/download-70.cgi

 Solo es necesario descomprimirlo para que funcione.

Una vez hecho esto, hay que añadirlo como servidor en el entorno de eclipse. Para esto, hay que decirle que tenemos un nuevo servidor. Dando a window, preferences, server, runtime environments:


Le damos a Add, y nos sale la siguiente ventana:


 En esta ventana indicamos que queremos añadir el servidor apache tomcat 7 (el que hemos descargado) y a continuación, damos next para indicarle la ruta donde se ubica el servidor.


Damos a Finish y ya tenemos configurado el tomcat 7 para poderlo añadir como servidor.

Ahora, para añadirlo a servidor, vamos a la vista Servers. Si no aparece, podemos dar a window, show view, others y nos aparece la ventana


y elegimos servers.

Ahora, nos aparecerá la ventana de servidores con un wizard para añadir el servidor:



Damos click al new server wizard y elegimos el servidor tomcat 7:



Damos a Finish, y ya tenemos el servidor listo para utilizar.

Ahora probaremos generando un proyecto web.

Generamos un nuevo proyecto web dinámico:



Una vez generado, nos sale la ventana para generar el proyecto. Ahi indicamos el nombre de HolaMundoJSP:


Una vez generado, tendremos la carpeta WebContent. Ahi generaremos la JSP:


Nos generará una página JSP nueva, a la que añadiremos unas cuantas líneas para probar:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
Insert title here
<%String prueba="Resultado JSP"; %>
Hola mundo

<%=prueba %>


Lo subrayado es lo que añadimos. Con esto será suficiente para probar nuestra JSP.

Una vez esto hecho, se debe añadir el proyecto al servidor. Para esto, damos click derecho a nuestro servidor y seleccionamos add and remove:



Una vez añadido, damos a start en el servidor para arrancarlo.

podemos probar nuestro resultado:



lunes, 9 de abril de 2012

Instalacion de Eclipse y Java. Hola mundo con Java y Eclipse

Primero que nada, debemos recordar Java. Para esto, nos bajamos la última versión del siguiente enlace:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Una vez instalado, debemos bajar un IDE. Uno de los mas utilizados es eclipse. Se descarga del siguiente enlace:
http://www.eclipse.org/downloads/

Una vez que lo hemos bajado, simplemente hay que descomprimirlo. Dado que es portable, no hay necesidad de dejarlo en ninguna carpeta especial.

Iniciamos eclipse, elegimos un workspace donde tendremos que trabajar.

Una vez iniciado, crearemos un programa HolaMundo. Para eso, elegimos crear un proyecto Java.


Esto nos abrirá la siguiente ventana, donde pondremos el nombre de nuestro proyecto:


Al terminar esto, nos genera un proyecto y una carpeta src, donde generaremos un nuevo paquete, dando al menu File, new, package:


Nombraremos al paquete test. Una vez creado el paquete, generaremos una clase nueva:


Para probar nuestra clase, le añadiremos el método main. El código de la clase será como sigue:

/**
 *
 */
package test;

public class HolaMundo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hola Mundo");
}
}

Para probar, damos click derecho a la clase, seleccionamos Run as, Java Aplication, y en la consola se podrá observar el resultado.

domingo, 8 de abril de 2012

Introducción

Como profesionales de la tecnología, tenemos que enfrentarnos a los diversos cambios que ésta conlleva constantemente. Con la gran oferta tecnológica que hay, prácticamente en cada sitio en el que trabajamos tenemos que adaptarnos a una tecnología distinta.

En ocasiones nos toca trabajar en sitios con una tecnología propietaria, que, aunque se basa en tecnologías estándar de mercado (J2EE, por ejemplo),  la metodología utilizada y la manera de desarrollar software poco tiene que ver con las tecnologías estándar.

En nuestro ámbito profesional, creo que es mejor estar con tecnologías estándar del mercado que con tecnologías propietarias, puesto que las primeras tienen mayores perspectivas de salida laboral que las segundas.

El motivo de este blog es documentar como actualizarse en J2EE para todos aquellos que trabajan en tecnologías propietarias o para aquellos que se van iniciando, partiendo desde cero (dando un repaso a ciertas funcionalidades que tal vez hayamos olvidado, o que no tenemos frescas en el momento) hasta la integración y utilización de los diversos frameworks del mercado, recordando las mejores prácticas de diseño y desarrollo de software.