Manual Rest Webservice

Embed Size (px)

Citation preview

  • 7/26/2019 Manual Rest Webservice

    1/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 1de 9

    Manual de creacin y uso de un Web Service REST

    REQUERIMIENTOS PREVIOS

    Se requiere instalar el IDE NetBeans 8.0.2, para lo cual se debe iral sitio webhttps://netbeans.org/ y descargar el paquete Java EEo el paquete All, ya que son los que incluyen el servidor web deaplicaciones GlassFish, JEE(para usar jsp), y HTML, todos ellosnecesarios el uso de webservices.

    De no contar con JDK(Java Development Kit), debe ser instaladoprevio a la instalacin 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 tambin hay disponible una versin de NetBeans que incluye JDK.

    1.

    CREACIN DE UN SERVICIO WEB

    1.1. Creacin del nuevo proyecto

    Una vez abierto NetBeans se

    debe crear un nuevo proyecto el

    cual contendr el sitio web de la

    aplicacin y el servicio web.

    Para ello se debe dirigir al men

    superior y dar clic en Fi le,

    posteriormente dar clic en New

    Projectlo cual abrir un cua-

    dro de dilogo.

    Ya que lo que se pretende es

    realizar un servicio web, al crear

    el proyecto, en el primer paso

    (Eleccin del proyecto) se debe

    elegir la categora Java Web y del lado derecho, entipos deproyectos seleccionar Web Appli cation. Una

    vez hecho esto es necesario dar clic en el botn [Next]

    para continuar con el proceso.

    Este manual ser guiado usando como ejemplo un muy

    pequeo sistema que manipule datos de alumnos titula-

    dos. As pues, para el segundo paso de la creacin 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 ubicacin

    Pantalla 2. Creacin de un nuevo proyecto

    Pantalla 3. Eleccin de tipo de proyecto a crear

    Pantalla 1. Inicializacin de NetBeans

    https://netbeans.org/https://netbeans.org/https://netbeans.org/https://netbeans.org/
  • 7/26/2019 Manual Rest Webservice

    2/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 2de 9

    para guardar el proyecto usando el botn [Browse], te-

    niendo en cuenta el cambio de ruta no afectar al proyecto.

    As mismo, al crear el servicio web se producirn depen-

    dencias de libreras, y en caso de que se desee ubicarlas en

    una carpeta en especfico habr que activar e indicar la ubi-cacin para almacenarlas. Una vez definidos los parmetros

    deber darse clic en el botn [Next >].

    El tercer paso se debe definir el servidor sobre el

    que se ejecutar el servicio web as como la versin de Java

    EE que se desee usar para el desarrollo. Si se emplea la l-

    tima versin de NetBeans se pueden emplear los valores

    por defecto, es decir, servidor web GlasFish Server 4.1y la plataforma Java EE 7 Web y dar clic en el botn[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 bsico,

    no es necesario hacer la seleccin de ninguno de ellos, con

    lo cual se puede dar clic en el botn [Finish]para que co-mience la generacin del proyecto, es decir, la estructura

    de carpetas y archivos esenciales necesarios del proyecto.

    Una vez finalizada la creacin del proyecto, deber apare-

    cer el proyecto recin creado en el panel izquierdo dentro

    de la pestaa Projects.

    1.2. Preparar el entorno previo para usar REST

    El proyecto recin creado har uso de REST, por lo que previamentehabr que simular un entorno similar a como lo ofrecera 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 informacin que pueda ser manipulable. El primer

    paso ser ir al panel Services, desplegar el elemento Servers y dar

    clic derecho sobre GlassFishpara iniciarlo.

    Pantalla 4. Nombrar y establecer ubicacindel proyecto

    Pantalla 5. Configuraciones y servidor

    Pantalla 7. Eleccin de frameworks

    Pantalla 6. Proyecto correctamente creado

    Pantalla 8. Iniciar GlassFish

  • 7/26/2019 Manual Rest Webservice

    3/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 3de 9

    Si todo sali bien, en el panel Outputde-

    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 elservidor de bases de datos incluido en NetBeans.

    Aunque es posible crear una completa base de datos propia, este ma-

    nual muestra la creacin 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 > APPpara posteriormente dar clic de-recho sobre Tables y seleccionar la opcin Create Table.

    El cuadro de dilogo recin 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 titulacin 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-TULACIN.

    A continuacin se introducirn manualmente datos a la tabla re-

    cin creada con el fin de testearla ms adelante. Para ello es necesario dar

    clic derecho sobre la tabla TITULACIN y desde el men contextualque emerge elegir la opcin View data, lo cual desplegar en el rea

    de trabajo la librera jdbc.derbypara que puedan manipularse los datostanto con instrucciones de comando como con un asistente.

    Pantalla 9. Correcta inicializacin de GlassFish

    Pantalla 10. Iniciar Ser-idor de BD

    Pantalla 11. Correcta inicializacin del servidor Apache Derby

    Pantalla 12. Creacin de unatabla en la BD

    Pantalla 14. Creacin de la tabla de la BD

    Pantalla 13. Creacin co-rrecta de la tabla

  • 7/26/2019 Manual Rest Webservice

    4/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 4de 9

    Para hacerlo ms simple se insertarn nuevos registros desde el

    asistente, as que ser dar clic sobre el botn I nsert Record(s) que se

    encuentra justo debajo de la pestaa select * from.

    Desde el cuadro de dilogo podrn ingresarse

    tantos registros como se desee simplemente dando clic

    sobre el botn sobre el botn [Add Row]cada que

    quiera agregarse uno.

    Si la insercin de los datos fue correcta deberan

    mostrarse stos dentro del panel de resultados de las

    consultas.

    Pantalla 18. Visualizacin de datos recin 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-

    ras para su correcto funcionamiento con Apache Derby. As pues el si-

    guiente paso es modificar el proyecto para agregar las libreras correspon-

    dientes, para ello hay que dar cli derecho sobre el proyecto y seleccionar la

    ltima de las opciones

    llamada Properties, locual abrir una ventana

    en donde se ha de ubicar

    en el apartado Libra-

    ries, despus dar clic

    sobre el botn [AddJAR/Folder].

    Pantalla 15. Abrir panel deisualizacin de datos

    Pantalla 16. Botn para insertar nuevos registros

    Pantalla 17. Agregar registros a la tabla

    Pantalla 19. Editar propie-dades del proyecto

    Pantalla 20. Propiedades del proyecto

  • 7/26/2019 Manual Rest Webservice

    5/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 5de 9

    Es necesario agregar las libreras derby.jar y derbyclient.jar, ambas ubicadas en la rutade instalacin de GlassFish y que comnmente es C:\Program Files\GlassFish-4.1\jabadb\lib. Con-

    firmar que se hayan agregado dichas libreras 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 autnoma. 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 botn [Add >], para que pase a la columnade tablas seleccionadas.

    En el siguiente paso de esta ventana solo har

    falta indicar el nombre del paquete donde se almacena-

    rn todas las dependencias. Para este ejemplo se us el

    nombre datos.

    Pantalla 21. Agregar libreras 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

  • 7/26/2019 Manual Rest Webservice

    6/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 6de 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 recin creado y contiene la clase generada paramanipular la base de datos, as como el paquete service quetambin fue recin creado y contiene las diferentes vistas

    para que se comunique el servicio web .

    Pantalla 26. Archivos recin creados incluida la clase Java para manipular la BD

    1.4. Crear el servicio web RESTFul

    Llegando a este punto, la creacin del nuevo servicioweb usando REST es muy fcil. 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 basndose

    en los parmetros 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

    libreras.

    Pantalla 25. Concluir creacin de clase deBD.

    Pantalla 27. Crear un servicio web REST

    Pantalla 28. Seleccionar clase Java de la BD Pantalla 29. Indicar el nombre del paquete

  • 7/26/2019 Manual Rest Webservice

    7/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 7de 9

    Si todo sali bien, debera 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 opcin Test RESTful

    Web Services, que previo a abrir el nave-

    gador preguntar en dnde se generar el

    Cliente para hacer el Test. Si se conserva

    la segunda opcin por default, se genera-

    rn ms archivos en el proyecto que servi-

    rn para realizar las pruebas.

    1.5. Pruebas de servicio web REST

    Pantalla 33. Apertura de la pgina para hacer pruebas

    Pantalla 34. Manipulacin de datos por medio de la llave primaria de la tabla

    Pantalla 31. Servicio webREST recin creado Pantalla 30. Probar el servicio

    eb REST

    Pantalla 32. Eleccin de la ubicacin para hacer las pruebas, y compilacin exitosa

  • 7/26/2019 Manual Rest Webservice

    8/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 8de 9

    Pantalla 35. Obtener informacin formateado con JSON

    Pantalla 36. Agregar un nuevo registro a la base de datos en formato XML

    Pantalla 37. Consulta de datos despus de haber hecho un PUT para agregar un nuevo registro

  • 7/26/2019 Manual Rest Webservice

    9/9

    Por: Hctor Garduo RealMster en Direccin e Ingeniera de Sitios Web

    Servicios Web y Arquitecturas REST

    01 de febrero de 2015 Pgina 9de 9

    Pantalla 38. Consulta de registros usando la URL para pasar parametros (http://localhost:8080/TitulacionAlum-nos/websources/datos.titulacion/1)

    http://localhost:8080/TitulacionAlumnos/websources/datos.titulacion/1http://localhost:8080/TitulacionAlumnos/websources/datos.titulacion/1http://localhost:8080/TitulacionAlumnos/websources/datos.titulacion/1http://localhost:8080/TitulacionAlumnos/websources/datos.titulacion/1http://localhost:8080/TitulacionAlumnos/websources/datos.titulacion/1http://localhost:8080/TitulacionAlumnos/websources/datos.titulacion/1