manual de creación y uso de un web service rest hecho en jsp (java + glasfish + apache derby)

9
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 EEo 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

Upload: hector-garduno-real

Post on 13-Apr-2017

3.647 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 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

Page 2: 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 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

Page 3: 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 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

Page 4: 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 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

Page 5: 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 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

Page 6: 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 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

Page 7: 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 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

Page 8: 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 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

Page 9: 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 9 de 9

Pantalla 38. Consulta de registros usando la URL para pasar parametros (http://localhost:8080/TitulacionAlum-

nos/websources/datos.titulacion/1)