pdfserver - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología...
TRANSCRIPT
PDFServer:Servidor de Formularios electrónicos
para arranque de procesos
Autor: Jesús Recio Calzada
PDFServer: Sistema de Formularios electrónicos
Índice
1. La función de los Formularios electrónicos2. PDFServer: Servidor de Formularios Electrónicos
1. Funcionalidad de alto nivel2. Servicios Técnicos PDF3. Arquitectura interna
3. Construcción de Formularios4. Conexión a Sistemas de Firma, Registro Telemático y
Pasarela de pago5. La conexión con los Procedimientos de la administración6. Uso del PDFServer en la Junta7. Imágenes de ejemplo8. Conclusiones9. Cuestiones
PDFServer: Sistema de Formularios electrónicos
1. La función de los Formularios Electrónicos
• El formulario electrónico es el medio utilizado para el inicio de procesos en la organización.
• Es la vía utilizada por el usuario para:– Completar la información necesaria– Enviarla a la organización con los
procesos de seguridad precisos– Solicitar el arranque de una de un
procedimiento en la administración.• PDFServer desarrollado por la
Consejería de Administración Autonómica de JCYL sobre J2EE y usando una librería de SW abierto para la operación con PDF’s: PDFBox
PDFServer: Sistema de Formularios electrónicos
1. La función de los Formularios Electrónicos
• Capacidad PDF– PDF además de formato documental es una tecnología de
desarrollo de formularios con capacidad de submit vía http a un servidor web
– Permite introducir comportamiento vía Adobe Scripting– Los archivos PDF pueden ser editados en servidor en lenguaje
Java utilizando librerías de software abierto – Formato XFDF: Separación y mezcla fácil de datos/apariencia en
los formularios utilizando APIS de SW abierto• Objetivo inicial
– Desarrollo de una plataforma sobre la que definir y automatizar en el mayor grado posible la construcción y puesta en producciónde formularios de captura de información sobre tecnología PDF.
– Evitar el uso de soluciones propietarias ADOBE con un alto costede licencias por formulario. (Adobe Extensions se licencia por formulario publicado)
PDFServer: Sistema de Formularios electrónicos
Servidor J2EE
2. PDFServer: Servidor de Formularios Electrónicos
Arquitectura del Sistema
DataSource1
DataSource1
Formularios•Plantillas•Querys•Correos•Servicios
ServicioServicio
Serviciohttp/web
jdbc
PDFServerUsuarios: Navegador + Adobe pluggin
Desarrollo: Adobe Professional
+ (Opc) Entorno Java
smtp
WebServicesWebServices Soap
PDFServer: Sistema de Formularios electrónicos
2. PDFServer: Servidor de Formularios Electrónicos
Arquitectura del Sistema (II)
• Un servicio es una unidad de lógica java que usa unos parámetros para realizar un proceso y devolver un resultado. El resultado puede ser:– Datos: Deben ser procesados por el cliente– Documentos: Deben ser visualizados por el cliente.
• El Cliente del servicio es un Documento PDF con lógica javascript.• El usuario interacciona con el documento (PDF), y provoca Eventos.
Estos eventos son procesados por lógica javascript invocando, cuando es necesario al servidor el cual puede:– Servicios base proporcionados.– Invocar a módulos de lógica Java desplegados en el servidor– Invocar a servicios externos utilizando tecnología Web Services.
Los PDF no forman parte de PDFServer, son los clientes.
PDFServer: Sistema de Formularios electrónicos
2. PDFServer: Servidor de Formularios electrónicos
PDFServerFormularios•Formularios y configuración de operaciones
Servicio
http/web
Usuarios: Navegador + Adobe pluggin
Servlet:Adaptador de
canal http
Recibe peticiones http y contesta
responses
Java:Adaptador de
Mensaje
Los mensajes son XFDF, FDF,
imágenes y PDF’s
Controlador de operaciones
Operaciones básicas Servicios de firma, registro y pago
Operaciones Sobre ficheros
Pasarela a Servicios Externos:
WebServices
Se trata de una arquitectura MVC:- Vista: PDF y HTML- Controlador Java- Modelo:
- Operaciones base- Servicios documentos (Firma,
registro, pago)- Web Services
PDFServer: Sistema de Formularios electrónicos
2. PDFServer: Servidor de Formularios Electrónicos
Servicios comunes
Invocables como comandos desde las páginas PDF al servidor1. Servicios predefinidos: Desarrollados ya para dar un soporte básico a los
formularios:• print: Generar nuevo documento PDF integrando datos, gráficos, códigos de
barras y puntos…• Mailxxx: Envío de correos electrónicos.• insertDB: Inserción de los datos en base de datos.• View: Descarga del documento generado en el servidor• Store/recover: Almacenamiento en sesión y recuperación de información de
distintos formularios para generación / mezcla de otros• Firma, registro, pago: Invocación a los servicios externos comunes
2. Servicios Desplegados: Siguen un determinado protocolo y son cargados en caliente por el servidor:• Se ajustan a una signatura y empiezan por es.jcyl.• es.jcyl.Query:execute: Ejecución de una consulta sobre la base de datos.
3. WebServices Externos• WebService: Extracción de la información, formación de la llamada SOAP al
WebService, recogida y transformación del SOAP de retorno y envío al PDF.4. Librerías Adobe Script para el desarrollo rápido
PDFServer: Sistema de Formularios electrónicos
3. Construcción de Formularios
PlantillasCorreos
PDFServer
http
1. Importar el diseño gráfico en Adobe Professional e incrustrar los campo de datos
2. (Opc) Crear en Base de datos las tablas que van a soportar los datos.
3. Incluir las invocaciones a servicios en el PDF: Javascript4. Programación javascript de las validaciones de datos
6. Subir el Formulario y los correos: FTP
7. Probar
5. (Opc) Diseñar los correos electrónicos que haya que enviar
7. Enlazar el formulario al portal web
PDFServer: Sistema de Formularios electrónicos
3. Construcción de Formularios Formularios Ajax avanzados
Ejemplo: Carga de una lista
Documento PDF en cliente
PDFServer
Carga Ajax de listas encadenadasDocumento PDF en cliente
PDFServer
Lista de autocompletado Ajax
El comportamiento Ajax es viable utilizando PDF’s sobre un servidor web, pero además se han desarrollado componentes para facilitar su inclusión en los casos de mayor uso:
Intercambio de mensajes con solo datos entre cliente y servidor web/pdf como respuesta a eventos de usuario y sin recarga de la pantalla del cliente
PDFServer: Sistema de Formularios electrónicos
3. Construcción de Formularios Servicios del servidor sobre los documento
PDFServer
Introducción de códigos de barras y puntos
PDFServer
Navegación entre páginas (PDF) con transferencia de información: Los formularios se pueden encadenar y dirigir
PDFServer: Sistema de Formularios electrónicos
3. Construcción de Formularios Comando Print: Generar PDF
• Los documentos que sirven como formulario de entrada, están optimizados con dicho fin, por lo cual no son imprimibles: – Ejemplo 1: Una tabla de datos que se introduce con más registros de
los visibles en una página.– Ejemplo 2: Un campo de texto de entrada en el que se introducen más
caracteres que el espacio reservado inicialmente.
• El comando PRINT se ocupa de generar la versión imprimible, firmable y registrable de estos documentos :
_multi_1_10_ext1_20_lista1
_multi_1_10_ext2_20_lista2
_multi_2_10_ext1_20_lista3
_multi_2_10_ext3_20_lista4
_iter1_lista1
_iter1_lista2
_iter1_lista3
_iter1_lista4_iter2_lista2
Sección 1 Sección ext2 Sección 2
_iter2_lista1
_iter2_lista3
Sección ext1
_iter2_lista4
Sección ext3
Formulario de entrada: 4 listas
PDFServer: Sistema de Formularios electrónicos
3. Construcción de Formularios Extensión del sistema PDFServer
Formato en el que se aumentan las funcionalidades del sistema: Funciones comunes nuevas para los formularios
• Formato en el que se aumentan las funcionalidades del sistema: Funciones comunes nuevas para los formularios– Operador dinámico es.jcyl*:metodo
• Ejemplo Ejecutor: Query de base de datos:package es.jcyl.db;public class Query {private static Class CATEGORIA_TRACEO = Query.class;
public static ArrayList execute(HashMap mapaDatos) throws Exception{
HashMap control = (HashMap)mapaDatos.get("control");….
}}
• Invocación desde el PDF en el clientePDFServer.execute("es.jcyl.db.Query:execute","PDFServer.loadComboPost");
PDFServer: Sistema de Formularios electrónicos
3. Construcción de Formularios Construcción de Formularios Avanzada
• Asociación de sentencias SQL ejecutables por el formulario a través del servidor.
• Invocaciones a servicios java desde el PDF y con retorno de resultados sin navegación: Funcionamiento AJAX-PDF– Precarga de valores en los PDF antes de editar– Verificación de datos sobre la base de datos.– Carga automática de datos en el formulario a partir de otros datos.
• Cambios en el formato de visualización Entrada/Salida.• Paginación para impresión de listas de valores extensas• Paginación para impresión de áreas de texto extensas• Mezcla y composición de documentos, migración de datos entre
documentos… • Attachment de documentos
PDFServer: Sistema de Formularios electrónicos
3. Construcción de Formularios Administración PDFServer
• Web de carga y modificación de formularios y toda su configuración “en caliente”.
• Proporciona las URL de los formularios para colgarlos de los portales.
PDFServer: Sistema de Formularios electrónicos
4. Sistemas de Firma, Registro Telemático y pasarela de pago
• PDFServer proporciona servicios adaptados a los formularios para el acceso de estos a los sistemas externos de :– Firma electrónica de la información.– Cobro electrónico de importes– Registro de la solicitud y acuse de recibo
PDFServer: Sistema de Formularios electrónicos
4. Sistemas de Firma, Registro Telemático y pasarela de pago
Arquitectura de Solución
PDFServer
Plataforma de Firma
Pasarela de Pago
Registro Telemático
Aplic de OposicionesBD
Servicio:Tramitar
Oposiciones
Servicio:Tramitar
OposicionesApp
App
PL/Sql
Entrada
Custodia
ApiRegistro
ApiFirma
ApiPago
Controlador
Servicio:Hash PagoServicio:
Hash Pago
sql
ejb
jdbc
SOAP
PDFServer: Sistema de Formularios electrónicos
Plataforma de Firma
Flujo del proceso de Solicitud/Firma/Pago/Registro
Pagar
Firmar y Pagar
hfa78sdfy0as78dfy9as8d7fhanosfhaosdfy7aosnd8fhasduiofhasn8odfay7sndfauhsdfasdf
Registro telemático:hfa78sdfy0as78dfy9as8d7fhanosfhaosdfy7aosnd8fhasduiofhasn8odfay7sndfauhsdfasdf
Firmar y Registrar
Pago telemático:
Formulario
FirmaHashDocumento
hfa78sdfy0as78dfy9as8d7fhanosfhaosdfy7aosnd8fhasduiofhasn8odfay7sndfauhsdfasdf
hfa78sdfy0as78dfy9as8d7fhanosfhaosdfy7aosnd8fhasduiofhasn8odfay7sndfauhsdfasdf
Registro Telemático
Reg. Docu. DOE
Pasarela de Pago
Aplic de Oposiciones Entrada / PLSql
Solicitud Recibo
ZIP
1
2
4
PDFServer
PDFServer
PDFServer
Acuse de recibo
Solicitud
Pago
Acuse Junta
3
PDFServer: Sistema de Formularios electrónicos
sd Interactions
Firmante
Nav egador Web Aplicación Serv idor Firma
requerimiento de firma de Documento
registro/upload de Documento
Calculo del hash del documento
Envio del resumen
Descarga de ActiveX/applet
Envio del resumen
Firma con certificado en navegador o tarjeta
Envio Firma
Envio Firma
Validar firma
FirmaOk/Certificado Invalido
Confirmación de Firma Realizada
4. Sistemas de Firma, Registro Telemático y pasarela de pago
Descripción de flujos
sd CreateContact
Usuario
Nav egador Aplicacion Plataforma deFirma
PlataformaRegistro
Telemático
Registrar()
Registrar()
iniciar Registro Telemático()
número RT
generar Acuse()
firmar Acuse()
acuse Firmado
finalizar RT()
respuesta
respuesta
Proceso de firma de usuario
Proceso de Registro Telemático
sd Send Message
Usuario
Plataforma FirmaNav egador Aplicacion Pasarela dePago
pagar tasa()
pagar()
generar SOAP()
firmar SOAP()
SOAP firmado
enviar Pago()
resul tado
procesar Resultado()
resultado
Proceso de Pago
PDFServer: Sistema de Formularios electrónicos
5. La conexión con los Procedimientos de la Administración
• Los procesos son servicios y como tal invocables por los formularios electrónicos.
• Los procesos son la representación informática de los procedimientos en la organización
• PDFServer es una vía para el arranque de procesos en la administración de forma inmediata por parte del ciudadano
PDFServer: Sistema de Formularios electrónicos
PDFServer
5. La conexión con los Procedimientos de la Administración
El ciudadano iniciador del Procedimiento
Sistema de Gestión de Procesos (BPM)
Aplicación de gestión de
Tareas
Sistema de Notificación
(e-mail, sms, fax, voz,
Correo..)
PILA DE SERVICIOS SOA1. Orquestación.2. Negocio:
1.Entidad. 2.Tarea
3. Aplicación:1.Utilidad2.Wrappers
4. Aplicaciones (Código existente)
Iniciador de tarea
Monitorización BAM
CiudadanosFirma Electrónica
Pasarela de Pago
PORTAL
Formularios Electrónicos
Registro Telemático
Formularios De Tramitación
humana
Tramitadores
Gestores
PDFServer: Sistema de Formularios electrónicos
5. La conexión con los Procedimientos de la Administración
El ciudadano iniciador del Procedimiento
PDFServer: Sistema de Formularios electrónicos
BPM Engine
Servidor de Formularios
http/web
CONFIGURACIÓNPlantillasQuerysCorreosWebServices
Descriptores WSDL
Servidor
ServicioServicio
ServicioServicio
Invocador WebServices
Transformador de recepción
Proxy Dinámico
Transformador de invocación
5. La conexión con los Procedimientos de la Administración
El ciudadano iniciador del Procedimiento
PDFServerDescriptores
WSDLDescriptores
WSDL
PDFServer: Sistema de Formularios electrónicos
6. Uso del PDFServer en la Junta de Castilla y León
• Suscripción al BOCYL• Solicitud de Oposiciones• Quejas y Sugerencias• Sugerencias Internas• Consultas• Recursos de Alzada• Recursos de Revisión• Recursos de Reposición• Subvenciones de Entidades Locales• Peticiones al Servicio de Informática• Reserva de Aula• Solicitud Cursos de Prevención de
Riesgos Laborales Presenciales• Solicitud Cursos de Prevención de
Riesgos Laborales Teleformación
• Cuestionarios satisfacción cursos de Prevención.
• Solicitudes Cursos ECLAP• Encuestas Cursos ECLAP• Registro de Formadores• Premios de Calidad• Consulta de equivalencias de códigos RPT• Solicitud alta Portal del Empleado• Concursos de traslados de funcionarios• Solicitud Alta/Baja usuarios de Pérsigo• Recogida de Incidencias y dudas de formularios• Contestación a las Incidencias• Solicitud Inscripción AVANZA
PDFServer: Sistema de Formularios electrónicos
6. Uso del PDFServer en la Junta de Castilla y León
• El número de solicitudes para cada formulario es:– Solicitud de Oposiciones: 13613 solicitudes de 226 convocatorias– Quejas y Sugerencias: 1070 solicitudes que corresponde con el 90% de las recibidas desde
Noviembre del 2006– Solicitudes Cursos ECLAP: 7504 solicitudes en 2 convocatorias de un mes de duración cada
una.– Solicitud alta Portal del Empleado: 6063 solicitudes desde finales del 2006– Concursos de traslados de funcionarios: 12211 solicitudes correspondientes a 1223038
plazas solicitadas de 17 concursos distintos desde Junio del 2006– Suscripción al BOCYL: 202 solicitudes recibidas– Peticiones al Servicio de Informática: 1261 solicitudes – Solicitud Cursos de Prevención de Riesgos Laborales: 982 solicitudes– Consulta de equivalencias de códigos RPT: 5592 consultas– Solicitud Alta/Baja usuarios de Pérsigo: 688 solicitudes desde Mayo del 2006– Recogida de Incidencias y dudas de formularios: 160 solicitudes desde finales del 2006– Solicitud Inscripción Jornada AVANZA: 170 solicitudes que corresponde con más del 50% del
total
En breve entra en explotación los formularios de los procedimientos de Oposiciones con sistema de Pago y Firma integrados.
PDFServer: Sistema de Formularios electrónicos
7. Imágenes de ejemplo
• Pendiente de insertar
PDFServer: Sistema de Formularios electrónicos
8. Conclusiones
• Creación rápida de formularios complejos con multitud de funcionalidades en muy poco tiempo.
• Reutilización de código: los formularios reutilizan la mayoría del código de librerías ya hechas y de los servicios comunes desplegados en el servidor (comun.js, validaciones.js, pdfserver.js).
• Accesibilidad: los formularios pdf son accesibles (validado por empresas de auditoria como Technosite, Ibermática, etc).
• Proyecto consolidado: se ha utilizado en explotación en un número de formularios suficiente y por un número de usuarios tan elevado como para afirmar que el código funciona correctamente.
PDFServer: Sistema de Formularios electrónicos
9. Preguntas y coloquio