Manual de Programación
de Web Services
PROYECTO
Junta de Comunidades de Castilla – La Mancha
INDICE
1.
Introducción
1
1.1. Objetivo 1
1.2. Alcance 1
1.3. Destinatarios 1
2.
Plataforma de Notificaciones Telemáticas
2
2.1. Descripción General 2
2.2. Componentes del Sistema 3
3.
Invocación a los Web Services de la Plataforma de
Notificación
4
3.1. Generación de un stub 4
3.2. Autenticación 4
4.
Descripción de Servicios
5
4.1. Servicio de consulta de DNI 5
4.2. Servicio de consulta de estados de notificaciones 5
4.3. Servicio de recuperación de acuses de recibo firmados 5
Plataforma de Notificación Telemática a ciudadanos 1
1.
Introducción
1.1.
Objetivo
El propósito de este documento es describir los interfaces de los servicios web de la Plataforma de Notificaciones para que los desarrolladores de aplicaciones puedan integrar y utilizar los servicios ofrecidos por la misma.
1.2.
Alcance
El ámbito de aplicación de este documento es el proyecto de Plataforma de Notificaciones Telemáticas de la Junta de Castilla La Mancha.
Plataforma de Notificación Telemática a ciudadanos 2
2.
Plataforma de Notificaciones Telemáticas
2.1.
Descripción General
La Junta de Comunidades de Castilla – La Mancha desea desarrollar una plataforma de notificaciones telemáticas sencilla y segura que permita a los ciudadanos la recepción de notificaciones y comunicaciones, emitidas desde los distintos departamentos orgánicos de la comunidad autónoma, a través de la sede electrónica de la JCCM.
La plataforma de notificación servirá de enlace entre las aplicaciones informáticas de gestión interna, generadoras de las comunicaciones y notificaciones, y de los ciudadanos, que identificados con certificados digitales válidos, podrán descargarlas.
En la siguiente figura se muestra el proceso general de notificación a los ciudadanos/as
Plataforma de notificación electrónica CIUDADANO/A Intranet @FIRMA
Aplicaciones informáticas de gestión interna Internet
@
@
@
@
Aviso de notificación Notificación telemática Acuse de recibo Descarga de notificación Identificación ante la plataforma y firma delacuse de recibo WS_Comprobación de alta de aplicación y alta de ciudadano/a WS_Validación de certificado digital, firma electrónica y sellado de tiempo WS_Recogida de notificación y entrega de acuse de recibo
Plataforma de Notificación Telemática a ciudadanos 3
2.2.
Componentes del Sistema
El sistema se divide en los siguientes componentes:
• Plataforma de Notificación Electrónica. Aplicación WEB disponible a través de Internet que permite a los ciudadanos que hayan realizado solicitudes ante los órganos de la JCCM consultar las notificaciones que les hayan notificado telemáticamente.
• Aplicación Informática de Gestión Interna. Aplicación WEB diseñada para trabajar en el entorno de la intranet de la JCCM que permite a los administradores del sistema gestionar los aspectos fundamentales del sistema además de visualizar los correspondientes informes de gestión del sistema.
• Servicios WEB que permiten al conjunto de aplicaciones de la JCCM interoperar con la Plataforma de Notificaciones Telemáticas para la solicitud de notificaciones y consulta de sus notificaciones.
Plataforma de Notificación Telemática a ciudadanos 4
3.
Invocación
a
los
Web
Services
de
la
Plataforma de Notificación
Tal y como describe el archivo WSDL publicado por el Web Service de la Plataforma de Notificación Telemática (disponible en el entorno de desarrollo en la URL http://notificades.jccm.es/axis2/services/AplicacionesService?wsdl), existen cuatro operaciones expuestas por dicho Web Service. A continuación se detallan algunas cuestiones generales sobre el uso del Web Service, así como los parámetros que se utilizan en las invocaciones.
Tanto para las explicaciones como para los ejemplos, se usará la nomenclatura y componentes de Axis2-Java. Axis2 (http://ws.apache.org/axis2/) es el motor de WS de Apache y uno de los más utilizados en el entorno Java
3.1.
Generación de un stub
El método más sencillo para realizar la invocación es generar un stub que encapsule el tratamiento de bajo nivel. Esta tarea se puede realizar utilizando cualquiera de las herramientas de que dispone Axis2 (http://ws.apache.org/axis2/tools/index.html).
Una vez generado el stub, sólo necesitamos una distribución de Axis2 para poder generar el contexto y la URL del Servicio Web.
El código resultante sería:
3.2.
Autenticación
El Web Service espera una autenticación (de acuerdo a la especificación WS-security) al ser invocado. Para facilitarnos esta tarea, usaremos el módulo Rampart (http://ws.apache.org/rampart/) de Axis2.
El código resultante sería:
//Indicamos que vamos a usar Rampart ServiceClient sc = stub._getServiceClient(); sc.engageModule("rampart");
//Establecemos usuario y contraseña Options options = sc.getOptions(); options.setUserName(USUARIO); options.setPassword(PASSWORD);
ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("path\repositorio", null);
Plataforma de Notificación Telemática a ciudadanos 5
4.
Descripción de Servicios
4.1.
Servicio de consulta de DNI
El servicio de consulta de DNI nos permite saber, a través de su DNI, si un tercero está dado de alta en la plataforma.
Los parámetros que recibe el servicio son
Parámetro Tipo Descripción
Dni String DNI del tercero del que queremos saber si pertenece a la plataforma
4.2.
Servicio de consulta de estados de notificaciones
El servicio de consulta de estados nos permite recuperar el estado de una notificación a partir de su identificador.Los parámetros que recibe el servicio son
Parámetro Tipo Descripción
idNotificacion int Identificador de la notificación. Se obtiene del servicio de envío de
notificación
La respuesta del servicio es una colección de objetos de tipo Notificacion con los siguientes atributos
Atributo Tipo Descripción
Expediente String Expediente asociado a la notificación
Procedimiento String Procedimiento que genera la notificación
Descripcion String Descripción de la notificación
FecAlta Date Fecha de alta de la notificación en el sistema
FecLectura Date Fecha de lectura de la notificación por parte del tercero
FecCaducidad Date Fecha de caducidad de la notificación
IdNotificacion Int Identificador interno de la notificación
Estado Int 0 = Caducada; 1 = Pendiente; 2 = Notificada;
Dni String Dni del tercero al que se dirigió la notificación
4.3.
Servicio de recuperación de acuses de recibo
firmados
El servicio de recuperación de acuses permite obtener el fichero físico del acuse de recibo firmado para un notificación dada
Plataforma de Notificación Telemática a ciudadanos 6 Los parámetros que recibe el servicio son
Parámetro Tipo Descripción
IdNotificacion int Identificador de la notificación de la que queremos recuperar el recibo.
El identificador se obtiene del servicio de envío de notificación.
La respuesta del servicio es una colección de objetos de tipo Envio con los siguientes atributos
Atributo Tipo Descripción
Acuse DataHandler
4.4.
Servicio de envío de notificación
Este servicio permite enviar una notificación a uno o varios terceros Los parámetros que recibe el servicio son
Parámetro Tipo Descripción
Dnis String[] Array con los dnis de los terceros a los que se quiere notificar
Procedimiento String Procedimiento que genera la notificación
Expediente String Expediente asociado a la notificación
Descripción String Descripción de la notificación
diaCaducidad int Día de la fecha de caducidad de la notificación
mesCaducidad int Mes de la fecha de caducidad de la notificación
anyoCaducidad int Año de la fecha de caducidad de la notificación
Notificación DataHandler Fichero con la notificación a enviar
Nombre String Nombre del fichero asociado a la notificación
Extension String Extension del fichero asociado a la notificación
La respuesta del servicio es una colección de objetos de tipo Envio con los siguientes atributos
Atributo Tipo Descripción
Dni String Dni del tercero al que se intentó notificar
Notificación Boolean Indica si se consiguió notificar
Email Boolean Indica si se consiguió avisar por email
Sms Boolean Indica si se consiguió avisar por SMS