Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUIA DE LABORATORIO N° 6 A
(Netbeans-java,Glassfish)
Objetivo:
Crear servicios web utilizando la arquitectura SOA y REST, para obtener información desde un
servidor web glassfish.
Requerimientos previos:
• JDK (Java Development Kit) versión 7 update 79(descargar de ftp material publico o en
sitio de Oracle sun).
• IDE NetBeans 8.1 con módulos para desarrollo en JavaEE y ambiente de desarrollo
utilizando GlassFish 4.1.1(descargar de ftp material publico o en sitio de Netbeans)
1. Crear el Proyecto
Como primer paso ejecutamos NetBeans IDE y dentro del menú “Archivo” seleccionamos
“Proyecto Nuevo”
Con esto se abrirá una ventana donde establecemos el tipo de proyecto, seleccionamos “Java Web”,
“Web Application” y presionamos el botón “siguiente”:
1
A Continuación establecemos el servidor de aplicaciones GlassFish 3.1.2, luego presionamos el
botón “Next”(siguiente)
2
Por último podemos seleccionar un Framework, para nuestro caso dentro del desarrollo de esta guía
no aplica, por lo tanto presionamos el botón “Finish”(Terminar)
Podemos ver que por default ya aparece un servicio web creado que contiene un hola mundo
3
2. Levantar el Servidor Web Glassfish
Iremos a la pestaña de Services, y buscamos Glassfish presionamos clic derecho y luego iniciar,
Si tenemos seguridad (firewall u otros programas) en nuestra pc, debemos de permitir que el glassfish
tenga acceso a los recursos.
4
5
3. Servicio Web Soap
Podemos ver que aparece en Servicios la carpeta de servicios web, esperando que hagamos nuestro
primer servicio.
Servicio Web(Suma)
Entramos a la pestaña “Projects” y buscamos “Source Packages”, luego presionamos clic derecho, New,
Web Service..
6
Se le definen las siguientes características:
7
Si no aparece. Se podría presionar clic derecho en el nombre de la clase CarnetSuma, clic en editors y
luego clic en Design.
Presionamos clic en add operation, Escribimos como nombre “sumadosnumeros”, Presionamos Add para
incorporar parámetros(sumando1(int),) sumando2(int) y total (String).
8
Modifique el código en la ventana source y luego guarde:
9
4. Despliegue(Deploy) el Proyecto
En la etiqueta de Projects ,presione clic derecho deploy
10
Verificamos en la ventana del proyecto, un nuevo apartado de Web Services aparecerá, en el cual se
encontrara el nuevo servicio web creado.
Presionamos clic derecho sobre el servicio web, clic en Test con esto se cargara el browser con la url de
prueba
http://localhost:8080/CarnetWebApplication/CarnetSuma?Tester
11
Escribimos los primeros dos parámetros y presionamos el botón “sumadosnumeros”
El Request
12
Y el response
Puedes probar el servicio web de tu compañero desde el browser, poniendo la ip en lugar de localhost:
http://localhost:8080/CarnetWebApplication/CarnetSuma?Tester
Esto funcionara siempre y cuando exista conectividad entre las dos pc`s.
Además pruébelo con la herramienta SoapUI, esto debido a que muchos servicios web SOAP, tienen
particularidades por las que no podrían ser probados directamente en el browser.
13
Servicio Web Restful
1. Creación
En el proyecto anterior , dentro del paquete sv.edu.ues.fia.carnetfunciones, presione clic derecho, nuevo,
restful web service.
14
Seleccionamos Simple root Resource
Presionamos Siguiente
15
Definimos un nombre para el servicio:NumeroEnLetrasResource
Y presionamos terminar.
import java.io.StringWriter;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.PathParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.xml.bind.JAXB;
/**
* REST Web Service
*
* @author win7
*/
@Path("generic")
public class NumeroEnLetrasResource {
@Context
16
private UriInfo context;
public NumeroEnLetrasResource() {
}
@GET
@Path("{numero}")
@Produces("application/xml")
La anotación @Path sirve para indicar la URI del servicio web, esta URI es concatenada a la URL
del proyecto web.
Para el ejemplo es @Path{“generic”}, que significa entonces que podremos acceder al servicio web
con la siguiente direccion:
localhost:8080/<NombreProyecto>/webresources/<Pathdefinido>
para el ejemplo
localhost:8080/CarnetWebApplication/webresources/generic
@Path junto @PathParam sirven para indicar que vamos a pasar parámetros dentro de la URL,para
este servicio web por ejemplo si deseamos saber cuál es el equivalente de 6 en letras, deberemos de
indicar la siguiente dirección:
http://localhost:8080/CarnetWebApplication/webresources/generic/6
La anotación @GET nos dice que el método será acccesado mediante el método GET del protocolo
HTTP.
18
3. Ejecución y prueba el servicio.
19
Subir por separado el archivo war(sin compresión) en el segundo link
Busque el archivo
Súbalo
20