PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología...

28
PDFServer: Servidor de Formularios electrónicos para arranque de procesos Autor: Jesús Recio Calzada

Transcript of PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología...

Page 1: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

PDFServer:Servidor de Formularios electrónicos

para arranque de procesos

Autor: Jesús Recio Calzada

Page 2: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 3: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 4: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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)

Page 5: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 6: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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.

Page 7: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

PDF

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

Page 8: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 9: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 10: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 11: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 12: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 13: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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");

Page 14: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 15: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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.

Page 16: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 17: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

mail

ejb

jdbc

SOAP

Page 18: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 19: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 20: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 21: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 22: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

PDFServer: Sistema de Formularios electrónicos

5. La conexión con los Procedimientos de la Administración

El ciudadano iniciador del Procedimiento

Page 23: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 24: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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

Page 25: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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.

Page 26: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

PDFServer: Sistema de Formularios electrónicos

7. Imágenes de ejemplo

• Pendiente de insertar

Page 27: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

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.

Page 28: PDFServer - anteriores.tecnimap.es · de formularios de captura de información sobre tecnología PDF. – Evitar el uso de soluciones propietarias ADOBE con un alto coste de licencias

PDFServer: Sistema de Formularios electrónicos

9. Preguntas y coloquio