Objetivo El objetivo de este tutorial es realizar una implementación

Anuncio
Objetivo
El objetivo de este tutorial es realizar una implementación de un cliente para un Web Service
mediante las herramientas y facilidades que proporciona NetBeans IDE.
Software necesario
Para seguir este tutorial es necesario:




NetBeans IDE 6.x o superior con soporte completo para Java EE
Java Development Kit versión 6 o superior
Glassfish Web Server Open Source Edition 3.x
MySQL Server 5.x o superior.
Introduccion
Como se ha visto anteriormente un Web Service es un objeto que tiene todas o parte de sus
funciones accesibles mediante protocolos de red.
Web Service podría ser, sin embargo, solo una forma sofisticada de llamar a algo que siempre
ha existido, la posibilidad de solicitar un recurso a una entidad en la red. Antiguamente ese
tipo de procedimientos eran llevados a cabo utilizando tecnologías como CORBA y COM + sin
embargo debido a la incompatibilidad entre las diversas tecnologías, el uso de estos recursos
era algo limitado. Con la llegada de herramientas como el estándar XML y el protocolo SOAP el
uso de estos recursos regresa a escena con los Web Services que no son otra cosa que objetos
que ofrecen sus recursos a quienes los solicitan mediante las llamadas adecuadas y lo cual ya
se trató cuando se habló de WSDL y UDDI.
Actualmente existe otra tecnología llamada REST que es igualmente empleada para la creación
de Web Services y es un competidor importante para las antes mencionadas. NetBeans IDE
integra soporte para esta tecnología e incluye dentro de los recursos herramientas para hacer
uso de algunos Web Services como son los proporcionados por Google, Amazon, Twitter entre
otros de una forma sencilla. Es esta la forma en que crearemos a continuación un cliente para
el Web Service de Google Maps en una aplicación web básica usando JSP y las herramientas
proporcionadas por el IDE.
Creando la interfaz web
Comenzaremos por crear un nuevo proyecto Web Java de la forma ya conocida
Haciendo click en Next obtendremos el siguiente dialogo donde indicaremos el nombre del
proyecto y aceptaremos los valores restantes asignados por defecto.
Al hacer click nuevamente en siguiente observaremos lo siguiente:
De no ser esos los parámetros por defecto asignar los que no correspondan y dar clik en Finish
Al terminar el Asistente tendremos en la ventana principal el archivo index.jsp que será
nuestra pagina de inicio y en la cual crearemos un formulario HTML con dos campos de texto
y agregaremos un <iframe> que contendrá el mapa cuando realicemos adecuadamente el
llamado. Usaremos el asistente para formlarios que encontramos en la paleta de NetBeans
(Crtl+Shif+8).
Indicaremos responseJSP como la acción a realizar y GET como el método que se usara en el
llamado.
Y obtendremos lo siguiente en la ventana principal
Ahora agregaremos los dos campos de texto y un botón de submit al formulario, a los campos
los etiquetaremos como Direccion: y Zoom: y daremos ese nombre a los campos así mismo
agregaremos al iframe que contendrá el resultado y agregaremos a la etiqueta del formulario
el parámetro correspondiente para indicar que la respuesta a la solicitud se mostrara en el
iframe.
Como se vio anteriormente esto se puede realizar mediante los asistentes de NetBeans o
mediante la Paleta, el resultado final debería ser el siguiente:
A continuación crearemos el archivo responseJSP.jsp que se encargara de la comunicación
entre el servicio de GoogleMaps y nuestro desarrollo.
Usando el asistente de NetBeans para nuevo archivo sobre nuestro proyecto crearemos
responseJSP.jsp
AL hacer click en Finish observaremos el fichero en la ventana principal:
Aquí es donde realizaremos la comunicación con el Web Service por lo cual ahora necesitamos
ubicarnos en la ventana Services del IDE donde encontraremos lo siguiente al desplegar el
nodo Web Services y los sub nodos correspondientes a Google Maps
Arrastraremos y soltaremos el nodo indicado en la imagen a archivo responseJSP.jsp que
tenemos abierto en la ventana principal debajo de la etiqueta de encabezado y el IDE nos
solicitara algunos datos para personalizar la solicitud del servicio, dejaremos los que fueron
asignados por defecto y daremos click en ok.
Observaremos ahora que el código de responseJSP quedo de la siguiente forma:
Se realizaron algunas modificaciones sobre el proyecto de las cuales se hablara
posteriormente. El fichero responseJSP es ya un cliente del Web Service y para comprobarlo
solo requerimos retirar el comentario en la línea 27 “out.print(“The….”)” y ejecutar el fichero.
Hagamoslo.
Sin embargo al ejecutarlo obtenemos lo siguiente en el navegador
Asi es, ¿Dónde está el mapa?
Bien, volvamos al IDE
La API Key que muy amablemente nos solicita el mensaje de error es requerida por el Web
Service para poder conocer el origen de las peticiones y controlar quien accede a sus recursos
y puede ser obtenida de forma sencilla y gratuita como la mayoría de servicios de Google. Para
fines de este tutorial usaremos una API Key obtenida previamente y la colocaremos en el
archivo en que nos es solicitado
API Key= ABQIAAAAP19Y9tv1qpkeMVsy_hNohT2yXp_ZAY8_ufC3CFXhHIE1NvwkxR6rrtDniBedBGRsPfWjxM-NfFiRg
EL archivo al que nos referimos se encuentra en:
Y al abrirlo y agregar la API Key obtendremos lo siguiente:
Ejecutemos nuevamente la aplicación
Ya tenemos Mapa!!
Es importante para este punto remarcar que el funcionamiento de este servicio requiere una
conexión a internet debido a que el recurso que estamos utilizando es proporcionado por
Google dentro de internet.
Ahora haremos uso de los conocimientos obtenidos en las practicas anteriores y
convertiremos a response JSP en un fichero que recibe los parámetros de index.jsp y los
emplea para personalizar la consulta del mapa.
La solución propuesta queda de la siguiente forma:
Y al ejecutar la aplicación completa y realizar una consulta nos proporcionara lo siguiente
como salida en el navegador.
Con lo cual podríamos considerar concluido el tutorial sin embargo quedan al aire diversas
cuestiones como lo son los archivos generados por el IDE que encontramos cuando
modificamos el archivo de propiedades e incluso ese archivo.
Brevemente diremos que esos archivos son los encargados de la comunicación entre el Web
Service y nuestra aplicación asi como de que la salida de nuestra aplicación se muestre en esa
forma y para entenderlo mejor se recomienda revisar el código fuente de la pagina de salida y
buscar lo que se encuentra ahí en los archivos agregados al proyecto.
La API de Google Maps esta disponible en l siguiente dirección:
http://code.google.com/intl/es-ES/apis/maps/
Y en definitiva no se limita a lo que se trato en este tutorial, en ese mismo sitio se nos
proporcionara la posibilidad de obtener nuestra propia API Key para diversos Web Services
que brinda Google tanto de forma gratuita como para uso comercial.
En este tutorial se hace uso de la API de Java para RESTful WebServices que pueden encontrar
en :
http://jcp.org/en/jsr/detail?id=311
http://www.oracle.com/technetwork/articles/javase/index-137171.html
Descargar