martes, 8 de junio de 2010

Aprenda Web Services en 20 minutos

Aprenda WS (Web Services) en 20 minutos ;-) La primera unidad didáctica no la facturo.

Para desarrollar un WS sólo es necesario un servidor web y una tecnología para desarrollarlo. En teoría se podría desarrollar con C (como un CGI) o con PHP, pero es complicado hacerlo.

Digamos que lo más natural/lógico es desarrollarlo en JAVA y publicarlo en un servidor J2EE: un Tomcat, un JBoss, un SJSAS, un WebLogic, etc.

Antes de desarrollarlo habría que seleccionar también una implementación (podría ser Apache AXIS1, Apache AXIS2, Apache CXF, SUN Metro, etc.)

También si se va a utilizar (esto es muy común y todos las implementaciones anteriores lo permiten) el API estándar JAX-WS.

Luego, crear un WS es tan "sencillo" (evito la lógica de negocio) como crear un interface JAVA:
package com.organizacion.webservice.personasactual;

@WebService(name="PersonasActualService")
public interface PersonasActualService {

@WebMethod(action = "validarContrasenaAdministrativa")
@WebResult(name = "contrasenaAdministrativaValidada")
public int validarContrasenaAdministrativa(@WebParam(name="nipPersona") int nipPersona, @WebParam(name="contrasena") String contrasena);

}
y la clase JAVA que lo implementa:
package com.organizacion.webservice.personasactual;

@WebService(endpointInterface="com.organizacion.webservice.personasactual.PersonasActualService")
public class PersonasActualServiceImpl implements PersonasActualService {

public int validarContrasenaAdministrativa(int nipPersona, String contrasena) {
int contrasenaAdministrativaValidada = -1;
//TODO: lógica de negocio
return contrasenaAdministrativaValidada;
}

}
Empaquetamos en un WAR y lo desplegamos en el servidor de aplicaciones.

Esto que parece muy sencillo... realmente lo es, lo que no quiere decir que no requiera esfuerzo/tiempo hacer toda la lógica de negocio y montar lo necesario (la estructura) para crear el primer WS.

No hay comentarios: