+ All Categories
Home > Documents > As - Laboratorio 2

As - Laboratorio 2

Date post: 06-Jul-2018
Category:
Upload: terrysantiago
View: 214 times
Download: 0 times
Share this document with a friend

of 14

Transcript
  • 8/17/2019 As - Laboratorio 2

    1/14

     

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    Laboratorio 2

    Implementación Web Services

    CREACIÓN DE UN WEB SERVICE (BOTTOM UP)

    1.- En esta primera etapa veremos la creación de un web service aplicando la técnica del bottom up.

    Para ello utilizaremos los plugins de eclipse para poder generar el web service.

    2.- Creamos un nuevo proyecto en Eclipse de tipo Dynamic Web Project . Colocamos como nombre

    WebServiceBotUp y seleccionamos como servidor a la instalación de TOMCAT local que tenemos en

    la máquina virtual.

    1

    2

    Si no existe el RunTime procedemos

    a crearlo con la opción New... 

    3

  • 8/17/2019 As - Laboratorio 2

    2/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    3.- Observamos que se ha creado un nuevo proyecto, y sobre el directorio src , creamos un nuevo

    paquete con el nombre: pe.edu.ulima.ias.template.

    4

    5

    Aceptamos todos los valores

    sugeridos por el wizard.

    Aquí creamos el paquete indicado,

    así como luego creamos la clase.

  • 8/17/2019 As - Laboratorio 2

    3/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    4.- Sobre el paquete recién creado procedemos a crear un clase con el nombre TemplateWS  y

    generamos el siguiente código.

    package pe.edu.ulima.ias.template;

    import java.util.*;

    public class TemplateWS {

    private boolean existe;

    private Hashtable datos;

    public TemplateWS() {

    datos = new Hashtable();

    datos.put("12345", new Integer(1000));

    datos.put("54321", new Integer(500));

    datos.put("24680", new Integer(500));

    existe=false;}

    public boolean existeInventario(ProductoBean pb)

    {

    String codigo = pb.getCodigo();

    if (datos.containsKey(codigo))

    {

    int cantReq = pb.getCantidad();

    int cantBd= ((Integer)datos.get(codigo)).intValue();

    if (cantBd>= cantReq){

    System.out.println("Existe inventario!");

    existe=true;}

    } else {

    System.out.println("El codigo no existe!!");

    }

    return existe;

    }

    public void actualizaInventario(ProductoBean pb)

    {

    String codigo = pb.getCodigo();

    if (datos.containsKey(codigo)){

    int cantBd= ((Integer)datos.get(codigo)).intValue();

    cantBd = cantBd - pb.getCantidad();

    datos.put(codigo, cantBd);

    System.out.println("Actualizamos producto "+ codigo + "con cantidad " + cantBd);

    } else {

    System.out.println("El codigo no existe!!");

    }

    }

    }

    }

  • 8/17/2019 As - Laboratorio 2

    4/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    5.- Creamos también la clase ProductoBean tal como vemos aquí.

    package pe.edu.ulima.ias.template;

    public class ProductoBean {

    private String codigo;private String descripcion;

    private double precio;

    private int cantidad;

    private String usuario;

    public String getCodigo() {

    return codigo;

    }

    public void setCodigo(String codigo) {

    this.codigo = codigo;

    }

    public String getDescripcion() {return descripcion;

    }

    public void setDescripcion(String descripcion) {

    this.descripcion = descripcion;

    }

    public double getPrecio() {

    return precio;

    }

    public void setPrecio(double precio) {

    this.precio = precio;

    }public int getCantidad() {

    return cantidad;

    }

    public void setCantidad(int cantidad) {

    this.cantidad = cantidad;

    }

    public String getUsuario() {

    return usuario;

    }

    public void setUsuario(String usuario) {

    this.usuario = usuario;}

    }

  • 8/17/2019 As - Laboratorio 2

    5/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    6.- Ahora procederemos a crear el Web Service utilzando las herramientas del IDE. Para ello nos

    posicionamos en sobre el proyecto y con clic derecho seleccionamos la opción New -> Web Services

    -> Web Service. Luego seguimos la secuencia que vemos a continuación.

    Seleccionamos esta opción para

    crear un Web Service.

    Seleccionamos la clase que creamos

    en el punto 4.

    Seleccionamos esta opción para poder

    publicar automáticamente el Web Service

  • 8/17/2019 As - Laboratorio 2

    6/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    Nos aseguramos que estén

    marcados los dos métodos de la

    clase.

    Pasaremos los argumentos como

    tipos de datos nativos

    Vamos a iniciar el servidor para

    proceder al despliegue y

    ublicación del Web Service

  • 8/17/2019 As - Laboratorio 2

    7/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    7.- Una vez seguidos estos pasos veremos que sea han generado una serie de clases y elementos enel proyecto y que se publica el proyecto en el servidor TOMCAT, lanzando automáticamente la

    página de bienvenida del mismo. Para verificar la publicación del Web Service, ingresamos a la

    dirección http://localhost:8080/WebServiceBotUp/services  y podemos observar que aparece el

    servicio TemplateWS. Si hacemos clic sobre el enlace podremos ver el documento WSDL que

    representa el contrato del servicio.

    También se puede acceder al mismo documento con esta dirección

    http://localhost:8080/WebServiceBotUp/services/TemplateWS?wsdl

    Esta dirección es importante, pues nos servirá para poder generar nuestro cliente.

    Verificamos que no estén

    marcadas las opciones.

  • 8/17/2019 As - Laboratorio 2

    8/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    CREACIÓN DE UN CLIENTE WEB PARA WEB SERVICES

    1.- Para poder crear un cliente que utilice el Web Service descrito anteriormente, vamos a crear un

    nuevo proyecto Web denominado ClienteWS, y creamos dos páginas JSP con los nombres

    Request.jsp y Response.jsp respectivamente.

    2.- El código de las páginas JSP es como se ve a continuación

    Request.jsp

    Verificamos que el servidor

    seleccionado sea el TOMCAT.

    Insert title here

    Requerimiento de Almacen


    Codigo:

    Cantidad:

  • 8/17/2019 As - Laboratorio 2

    9/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    Response.jsp

    Insert title here

    Requerimiento Aceptado

    Requerimiento Rechazado

    Operacion No Permitida

  • 8/17/2019 As - Laboratorio 2

    10/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    3.- Creamos ahora el paquete denominado:  pe.edu.ulima.ias.servlet   y en él creamos el servlet

    ClienteWSServlet  con el siguiente código:

    package pe.edu.ulima.ias.servlet;

    import java.io.IOException;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    /**

    * Servlet implementation class ClienteWSServlet

    */

    public class ClienteWSServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    /**

    * @see HttpServlet#HttpServlet()

    */

    public ClienteWSServlet() {

    super();

    // TODO Auto-generated constructor stub

    }

    /**

    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

    */

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws

    ServletException, IOException {

    // TODO Auto-generated method stub

    }

    /**

    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

    */

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws

    ServletException, IOException {

    // TODO Auto-generated method stub

    String codigo = request.getParameter("txtCodigo");

    String cantidad = request.getParameter("txtCantidad");

    request.setAttribute("existe", new Boolean(false));

    request.getRequestDispatcher("/Response.jsp").forward(request, response);

    }

    }

  • 8/17/2019 As - Laboratorio 2

    11/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    4.- Ahora procederemos a utilizar el wizard para poder crear el cliente de Web Service a partir del

    contrato WSDL que se encuentra en la siguiente URL

    (http://localhost:8080/WebServiceBotUp/services/TemplateWS?wsdl). Para ello procedemos con

    clic derecho sobre el proyecto y seleccionamos la opción New-> Web Services-> Web Service Client .

    Pegamos la dirección URL del

    WSDL generado en la etapaanterior

    Seleccionamos este wizard

    para generar el cliente.

    Esperamos un momento para

    que encuentre el URL y lo

    valide.

  • 8/17/2019 As - Laboratorio 2

    12/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    Verificamos estos

    valores por defecto

    Visualizamos dónde se

    formaran las clases

    adicionales

  • 8/17/2019 As - Laboratorio 2

    13/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    5.- Con el cliente generado, modificado el servlet ClienteWSServlet para incluir el código que permita

    realizar la comunicación con el Web Service y ejecutar las llamadas a las operaciones.

    import pe.edu.ulima.ias.template.ProductoBean;

    ..................................

    .................................

    .................................

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws

    ServletException, IOException {

    // TODO Auto-generated method stub

    String codigo = request.getParameter("txtCodigo");String cantidad = request.getParameter("txtCantidad");

    TemplateWSProxy proxy = new TemplateWSProxy();

    ProductoBean pb = new ProductoBean();

    pb.setCodigo(codigo);

    pb.setCantidad(Integer.parseInt(cantidad));

    boolean existe = proxy.existeInventario(pb);

    if (existe)

    proxy.actualizaInventario(pb);

    request.setAttribute("existe", new Boolean(existe));

    request.getRequestDispatcher("/Response.jsp").forward(request, response);}

  • 8/17/2019 As - Laboratorio 2

    14/14

    Laboratorio 2 - Implementación de WebServices

    versión 1.0

    6.- Ahora nos aseguramos de grabar todos los fuentes y ejecutamos la aplicacion ClienteWS sobre el

    servidor TOMCAT.


Recommended