Manual de creación y uso de un Web Service REST hecho en JSP (Java + GlasFish + Apache Derby)
-
Upload
hector-garduno-real -
Category
Technology
-
view
3.647 -
download
0
Transcript of Manual de creación y uso de un Web Service REST hecho en JSP (Java + GlasFish + Apache Derby)
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 1 de 9
Manual de creación y uso de un Web Service REST
REQUERIMIENTOS PREVIOS
Se requiere instalar el IDE NetBeans 8.0.2, para lo cual se debe ir
al sitio web https://netbeans.org/ y descargar el paquete “Java EE”
o el paquete “All”, ya que son los que incluyen el servidor web de
aplicaciones GlassFish, JEE (para usar jsp), y HTML, todos ellos
necesarios el uso de webservices.
De no contar con JDK (Java Development Kit), debe ser instalado
previo a la instalación de NetBeans, ya que es el que provee las he-
rramientas de desarrollo para éste IDE. JDK se puede descargar
desde www.oracle.com donde también hay disponible una versión de NetBeans que incluye JDK.
1. CREACIÓN DE UN SERVICIO WEB
1.1. Creación del nuevo proyecto
Una vez abierto NetBeans se
debe crear un nuevo proyecto el
cual contendrá el sitio web de la
aplicación y el servicio web.
Para ello se debe dirigir al menú
superior y dar clic en “File”,
posteriormente dar clic en “New
Project…” lo cual abrirá un cua-
dro de diálogo.
Ya que lo que se pretende es
realizar un servicio web, al crear
el proyecto, en el primer paso
(Elección del proyecto) se debe
elegir la categoría “Java Web” y del lado derecho, en
tipos de proyectos seleccionar “Web Application”. Una
vez hecho esto es necesario dar clic en el botón [Next]
para continuar con el proceso.
Este manual será guiado usando como ejemplo un muy
pequeño sistema que manipule datos de alumnos titula-
dos. Así pues, para el segundo paso de la creación del
proyecto, se deben escribir el nombre que se le desig-
nará al proyecto, en este caso será “TitulacionAlum-
nos”. Opcionalmente se puede definir otra ubicación
Pantalla 2. Creación de un nuevo proyecto
Pantalla 3. Elección de tipo de proyecto a crear
Pantalla 1. Inicialización de NetBeans
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 2 de 9
para guardar el proyecto usando el botón [Browse…], te-
niendo en cuenta el cambio de ruta no afectará al proyecto.
Así mismo, al crear el servicio web se producirán depen-
dencias de librerías, y en caso de que se desee ubicarlas en
una carpeta en específico habrá que activar e indicar la ubi-
cación para almacenarlas. Una vez definidos los parámetros
deberá darse clic en el botón [Next >].
El tercer paso se debe definir el servidor sobre el
que se ejecutará el servicio web así como la versión de Java
EE que se desee usar para el desarrollo. Si se emplea la úl-
tima versión de NetBeans se pueden emplear los valores
por defecto, es decir, servidor web “GlasFish Server 4.1”
y la plataforma “Java EE 7 Web” y dar clic en el botón
[Next >].
En el cuarto y último paso se debe indicar si se
desea emplear un framework para el desarrollo del pro-
yecto, pero ya que este manual aborda un ejemplo básico,
no es necesario hacer la selección de ninguno de ellos, con
lo cual se puede dar clic en el botón [Finish] para que co-
mience la generación del proyecto, es decir, la estructura
de carpetas y archivos esenciales necesarios del proyecto.
Una vez finalizada la creación del proyecto, deberá apare-
cer el proyecto recién creado en el panel izquierdo dentro
de la pestaña “Projects”.
1.2. Preparar el entorno previo para usar REST
El proyecto recién creado hará uso de REST, por lo que previamente
habrá que simular un entorno similar a como lo ofrecería un servidor que
provea el servicio web. Para ello será necesario inicializar los servidores
de aplicaciones y de bases de datos, así como contar con una base de
datos que contenga información que pueda ser manipulable. El primer
paso será ir al panel “Services”, desplegar el elemento “Servers” y dar
clic derecho sobre GlassFish para iniciarlo.
Pantalla 4. Nombrar y establecer ubicación
del proyecto
Pantalla 5. Configuraciones y servidor
Pantalla 7. Elección de frameworks
Pantalla 6. Proyecto correctamente creado
Pantalla 8. Iniciar GlassFish
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 3 de 9
Si todo salió bien, en el panel Output de-
berá aparecer la palabra “started” al final de los
pasos.
Posteriormente se procederá a hacer un
paso similar pero ahora dando clic derecho sobre
“Java DB” y luego en “Start Server”, el cual es el
servidor de bases de datos incluido en NetBeans.
Aunque es posible crear una completa base de datos propia, este ma-
nual muestra la creación de una tabla en la base de datos de muestra de
Apache Derby. Para ello es necesario dirigirse al panel “Services” y seguir
la ruta Databases > jdbc.derby > APP para posteriormente dar clic de-
recho sobre “Tables” y seleccionar la opción “Create Table…”.
El cuadro de diálogo recién abierto solicitará un nombre de tabla, así
como agregar los campos que se deseen. Para este ejemplo se han usado
los el nombre de tabla “titulación” y los campos id, cuenta, nombre,
temaTesis y fechaTesis, tal como se mues-
tra en la imagen. Si todo salió bien, en el
panel de “Services” deberá aparecer la
nueva tabla que fue nombrada como “TI-
TULACIÓN”.
A continuación se introducirán manualmente datos a la tabla re-
cién creada con el fin de testearla más adelante. Para ello es necesario dar
clic derecho sobre la tabla “TITULACIÓN” y desde el menú contextual
que emerge elegir la opción “View data…”, lo cual desplegará en el área
de trabajo la librería jdbc.derby para que puedan manipularse los datos
tanto con instrucciones de comando como con un asistente.
Pantalla 9. Correcta inicialización de GlassFish
Pantalla 10. Iniciar Ser-
vidor de BD
Pantalla 11. Correcta inicialización del servidor Apache Derby
Pantalla 12. Creación de una
tabla en la BD
Pantalla 14. Creación de la tabla de la BD
Pantalla 13. Creación co-
rrecta de la tabla
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 4 de 9
Para hacerlo más simple se insertarán nuevos registros desde el
asistente, así que será dar clic sobre el botón “Insert Record(s)” que se
encuentra justo debajo de la pestaña “select * from….”
Desde el cuadro de diálogo podrán ingresarse
tantos registros como se desee simplemente dando clic
sobre el botón sobre el botón [Add Row…] cada que
quiera agregarse uno.
Si la inserción de los datos fue correcta deberían
mostrarse éstos dentro del panel de resultados de las
consultas.
Pantalla 18. Visualización de datos recién agregados a la tabla de la BD
1.3. Configurar el proyecto para usar REST
Ya que el proyecto debe conectarse a una base de datos, requerirá de libre-
rías para su correcto funcionamiento con Apache Derby. Así pues el si-
guiente paso es modificar el proyecto para agregar las librerías correspon-
dientes, para ello hay que dar cli derecho sobre el proyecto y seleccionar la
última de las opciones
llamada “Properties”, lo
cual abrirá una ventana
en donde se ha de ubicar
en el apartado “Libra-
ries”, después dar clic
sobre el botón [Add
JAR/Folder].
Pantalla 15. Abrir panel de
visualización de datos
Pantalla 16. Botón para insertar nuevos registros
Pantalla 17. Agregar registros a la tabla
Pantalla 19. Editar propie-
dades del proyecto
Pantalla 20. Propiedades del proyecto
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 5 de 9
Es necesario agregar las librerías “derby.jar” y “derbyclient.jar”, ambas ubicadas en la ruta
de instalación de GlassFish y que comúnmente es C:\Program Files\GlassFish-4.1\jabadb\lib. Con-
firmar que se hayan agregado dichas librerías en la ventana de propiedades del proyecto, si es así,
entonces se pueden guardar los cambios
Una vez hecho esto se procederá a realizar una
clase Java que permita manipular la base de datos de
forma autónoma. Este paso lo que hará es que dentro
de la clase pondrá tantos atributos como campos tenga
la tabla que se creó anteriormente. Para ello hará falta
dar clic derecho sobre el proyecto, situarse sobre
“New” y dar clic en “Entity Classes from Dara-
base…” Se abrirá una ventana donde deberá elegirse
la base de datos, y posteriormente seleccionar la tabla,
usando el botón [Add >], para que pase a la columna
de tablas seleccionadas.
En el siguiente paso de esta ventana solo hará
falta indicar el nombre del paquete donde se almacena-
rán todas las dependencias. Para este ejemplo se usó el
nombre “datos”.
Pantalla 21. Agregar librerías de Bases de Datos al proyecto
Pantalla 22. Crear una clase Java a partir de la BD
Pantalla 23. Seleccionar tablas de la BD
Pantalla 24. Configurar las clases y paquetes
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 6 de 9
El siguiente paso de esta ventana no se realizan mo-
dificaciones en las opciones de mapeo a la base de datos. Una
vez que finalice el proceso, se podrá observar en el panel del
proyecto, dentro de “Source Package” tanto el paquete “da-
tos” que fue recién creado y contiene la clase generada para
manipular la base de datos, así como el paquete “service” que
también fue recién creado y contiene las diferentes vistas
para que se comunique el servicio web .
Pantalla 26. Archivos recién creados incluida la clase Java para manipular la BD
1.4. Crear el servicio web RESTFul
Llegando a este punto, la creación del nuevo servicio
web usando REST es muy fácil. El primer paso dar
clic derecho sobre el proyecto para agregar un
“RESTful Web Services from Entity Classes…”, es
decir una manera de crear el servicio web basándose
en los parámetros que aparecen en la clase Java que
se creó con anterioridad. Solo hará falta indicar la
clase que será usada y el nombre del paquete de las
librerías.
Pantalla 25. Concluir creación de clase de
BD.
Pantalla 27. Crear un servicio web REST
Pantalla 28. Seleccionar clase Java de la BD Pantalla 29. Indicar el nombre del paquete
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 7 de 9
Si todo salió bien, debería generarse el
nuevo servicio web REST como se mues-
tra en la imagen.
Para probar el servicio web REST
habrá que dar clic derecho sobre el pro-
yecto y elegir la opción “Test RESTful
Web Services”, que previo a abrir el nave-
gador preguntará en dónde se generará el
Cliente para hacer el Test. Si se conserva
la segunda opción por default, se genera-
rán más archivos en el proyecto que servi-
rán para realizar las pruebas.
1.5. Pruebas de servicio web REST
Pantalla 33. Apertura de la página para hacer pruebas
Pantalla 34. Manipulación de datos por medio de la llave primaria de la tabla
Pantalla 31. Servicio web
REST recién creado Pantalla 30. Probar el servicio
web REST
Pantalla 32. Elección de la ubicación para hacer las pruebas, y compilación exitosa
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 8 de 9
Pantalla 35. Obtener información formateado con JSON
Pantalla 36. Agregar un nuevo registro a la base de datos en formato XML
Pantalla 37. Consulta de datos después de haber hecho un PUT para agregar un nuevo registro
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST
01 de febrero de 2015 Página 9 de 9
Pantalla 38. Consulta de registros usando la URL para pasar parametros (http://localhost:8080/TitulacionAlum-
nos/websources/datos.titulacion/1)