La Virgen

La Virgen
Primavera en la Virgen

sábado, 5 de marzo de 2011

Web Services en Java

Bueno chavalines, vamos a explicar cómo montar un servicio web con Java desde ’0′. Esto implica la creación del servicio web y su publicación.
Creación del servicio web
Para la creación del servicio web vamos a utilizar la página web de netbeans (www.netbeans.org). En dicho enlace nos exlican paso a paso cómo crear el servicio web. Deberemos seguir estos pasos hasta completar un servicio web funcional. Como ejemplo nos vale el que nos muestra el tutorial.
Para ello debemos de entrar en el siguiente enlace: http://www.netbeans.org/kb/60/websvc/jax-ws.html
Deberemos de prestar especial atención al lugar donde creamos el proyecto. Una vez terminado éste, deberemos de crear la distribución de la aplicación. Esta distribución seremos la que publicaremos para poder consumir el servicio web. Para crear esta distribución haremos click derecho en la ventana de proyectos encima del correspondiente al servicio web creado. Haremos click en la opción clean and build. Automáticamente tendremos la distribución creada. Podemos ver que realmente se ha creado si accedemos a la carpeta del proyecto y dentro de ella entrar en la carpeta dist. Veremos que nos ha generado un fichero acabado en WAR, esto es, nos habrá generado un fichero del modo: <nombre_del_proyecto>.war.
Publicación del servicio web
Bueno, hemos llegado a la parte de la que menos información se encuentra en internet: la publicación del servicio web. Para ello necesitamos localizar el .war generado por el IDE de netbeans. Una vez lo tenemos localizado pasaremos a instalar el servidor de aplicaciones. Vamos a utilizar GlassFish. Para ello necesitamos entrar en la página web www.java.sun.com y descargarlo. La aplicación en si se llama: java sun application server.
Una vez la tenemos instalada y corriendo en el sistema, hemos de entrar al administrador web del programa. Para ello accedemos a la página web: http://localhost:4848. Durante la instalación nos pregunta que puerto queremos utilizar. Recomiendo no cambiar el puerto y utilizar el que el programa nos da por defecto: 4848. Si no conseguimos abrir la página el servidor de aplicaciones no se ha lanzado correctamente. Podemos buscar en el menú de inicio las herramientas para arrancarlo.
login
Una vez hemos accedido al administrador web del servidor de aplicaciones (SJAS) haremos click en la opción Aplicaciones -> Aplicaciones Web. En un principio no nos aparecerá ningún servicio web implementado. Para introducir el nuestro haremos click en el botón Implementar…
implementacion
Como consecuencia accederemos a la página de crear una nueva implementación del servicio web. Nos aparece un desplegable para elegir el tipo de archivo a importar para la implementación. Nosotros como ya hemos comentado algunas líneas más arriba tenemos generado un archivo .war. Por lo tanto el la opción tipo seleccionaremos Aplicación web (.war). En cuanto a la ubicación el sistema nos da por defecto la opción El archivo empaquetado se cargará en el servidor. Acto seguido deberemos de presionar el botón Examinar… Esto nos permitirá buscar y seleccionar el fichero .war generado por netbeans. Cuando lo tengamos le pondremos un nombre a la aplicación. Las demás opciones las dejaremos tal cual.
war
Hecho esto ya tenemos el servicio web operativo y funcionando. Para comprobar su correcto funcionamiento volvemos a fijar uestra atención en el menú de la izquierda. En éste seleccionamos la opción Servicios web. Veremos como el nuevo servicio web recién implementado nos aparece aquí. También podemos ver que nos aparece una tabla con el servicio web creado. Aquí nos aparecerán todos los servicios web implementados. Podemos seleccionar la opción ver WSDL para comprobar los servicios ofrecidos por éste.
wsdl
También podemos seleccionar el servicio web directamente del menú, esto nos abrirá la información de éste. Aquí podremos hacer click en el botón Probar. Este botón nos va a llevar a la página web que nos permite probar el servicio web.
probar
En una misma máquina todas las direcciones son del estilo: http://localhost… En el caso de montar el ‘chiringuito’ en otro ordenador de la red, todas las instrucciones dadas son válidas. Aunque para los accesos utlilzaremos las direcciones de eta manera: http://<ip_servidor>…
¿Podemos acceder a un WS desde fuera de la red local?
Esta cuestión queda fuera del objetivo de este post. No obstante voy a dar un pequeña pista. Para acceder a un WS montado en un equipo A con una ip B, tendremos que crear en el router una entrada en la tabla de reglas NAT de éste del tipo: desde ip 0.0.0.0 puerto 4848 ip B. Lo que es lo mismo: redireccionar cualquier tráfico de información a través del puerto 4848  la ip B.
Espero haber solucionado algunas dudas con respecto a este tema de los servicios web. Un saludo y suerte! :D

No hay comentarios:

Publicar un comentario