Learning Java Enterprise Edition

¿Te gustaría capacitarte para la Certificación Programador Java EE 7 1Z0-900? ¡Haz clic aquí!

Los Web Services cada vez son más indispensable a la hora de construir aplicaciones, debido a que ya casi cualquier aplicación empresarial, requiere integrarse o comunicarse con otra. Por este motivo Java ofrece la librería JAX-WS la cual es definida por la especificación JSR 224. La especificación remplace a la JAX-RCP, la cual era únicamente para llamadas a procedimientos remotos, lo cual es diferente a los Web Services.

Crear Web Services con Java es mucho más fácil de lo que pudiéramos creer, pues ya que tan solo es necesario anotar una clase, para que esta sea expuesta automáticamente como tal por medio del servidor de aplicaciones. Para demostrar esto, desarrollaremos un Servicio para consultar y crear Empleados.

Lo primero que tenemos que hacer, es crear una clase que queremos exponer como WebService, luego la tenemos que anotar con @WebService :

@WebService(serviceName = "EmployeeService", targetNamespace = "http://xmlns.oscarblancarte.com/services/v1/EmployeeService")
public class EmployeeServiceImpl

Las propiedades utilizadas son las siguientes:

  • serviceName: Nombre del servicio, que será utilizado para crear la URL del endpoint.
  • targetNamespace: Define el Namespace del servicio.

Basta decir que las propiedades serviceName  y targetNamespace  son opcionales, ya que, de no colocarlas, serán asignadas de forma automática, tomando el nombre de la clase y el paquete en que se encuentra respectivamente.

En segundo lugar, es necesario crear los métodos que serán expuestos como las operaciones del WebService, estos métodos, deben de ser anotados con @WebMethod , veamos cómo quedaría una clase WebService terminada:

package com.osb.jax.ws.services.interfaces;

import com.osb.jax.ws.services.types.Employee;
import java.util.*;
import javax.jws.*;

/**
 * @author TecGurus
 */
@WebService(serviceName = "EmployeeService", targetNamespace = "http://xmlns.oscarblancarte.com/services/v1/EmployeeService")
public class EmployeeServiceImpl {
    
    private static final List<Employee> EMPLOYEES = new ArrayList<>();
    
    @WebMethod
    @WebResult(name = "employee")
    public List<Employee> getEmployeeList(){
        return EMPLOYEES;
    }
    
    @WebMethod
    public boolean createEmployee(@WebParam(name = "employee") Employee employee){
        EMPLOYEES.add(employee);
        return true;
    }
}

La anotación @WebParam  es utilizado para personalizar el nombre del parámetro en el WSDL.

Java EE 7: Web Services

La definición de la clase Employee es la siguiente:

package com.osb.jax.ws.services.types;


/**
 * @author TecGurus
 */
public class Employee {
    
    private Long id;
    private String name;

    public Employee() {
    }
    
    public Employee(Long id, String name) {
        this.id = id;
        this.name = name;
    }
    
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    
}

Finalmente, solo serán necesario deployar en el servidor de aplicaciones nuestro proyecto, en este caso, estamos utilizando Wildfly 9, pero podrías utilizar cualquier servidor que sea de tu preferencia. Una vez deployado, podrás ver el servicio en la URL: http://localhost:8080/JAX-WS-1.0-SNAPSHOT/EmployeeService?wsdl.

Podemos probar el servicio con SOAP-UI para ver el servicio y las dos operaciones:

Web Services con Java

Observemos que tenemos dos operaciones:

  • createEmployee: nos permite crear un nuevo Empleado
  • getEmployeeList: obtener un listado de todos los Empleados registrados.

Primeo ejecutaremos el método createEmployee:

Web Services con Java

Con este paso, ya habremos creado un nuevo Empleado llamado Oscar Blancarte.

El segundo paso, será consultar los empleados con el método getEmployeeList:

Web Services con Java

Como vemos, crear Servicios Web es tan simple como anotar una simple clase y desplegarla en nuestro servidor de aplicaciones.

Te esperamos en los siguientes artículos en donde hablaremos más acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.

¿Te gustaría capacitarte para la Certificación Programador Java EE 7 1Z0-900? ¡Haz clic aquí!

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax