La plataforma Web de escrutinio electrónico tenía que enfocarse en proveer a los ciudadanos de Mendoza información específica de elecciones, tal como la consulta al padrón electoral en línea. A su vez, satisfacer la necesidad de información rápida y consistente, propia del escenario electoral, dando una respuesta ágil y precisa al escrutinio de votos.
Por un lado, la carga de datos tenía que ser descentralizada (subida desde los establecimientos donde se ejercía el voto), y por el otro, había que atender a la escalabilidad de la aplicación, teniendo en cuenta el gran número de consultas Web concurrentes que suceden en períodos electorales.
Se diseñó para ello una solución Web dividida en tres aplicaciones Java-Web independientes: 1. Sistema de carga descentralizada y procesamiento del escrutinio. 2. Sistema de consulta de resultados y publicación del escrutinio. 3. Sistema de consulta de padrón electoral.
Tecnologías utilizadas :: GeneXus, GXportal y GXchart
Además de utilizar GeneXus para el desarrollo de la plataforma, se complementó con GXportal para publicar el portal con la información relacionada a la elección. El uso de GeneXus y de GXportal simplificó y aceleró el proceso de puesta en marcha del proyecto. Lo cual, complementado con la experiencia de ACP Ingeniería en Sistemas SRL en el manejo de las tecnologías involucradas y en el campo de soluciones gubernamentales de misión crítica, aseguró la calidad del resultado final.
Debido a los distintos objetivos y problemáticas a resolver, se decidió dividir el desarrollo del proyecto, creando tres subsistemas Java-Web independientes, utilizando GeneXus:
1. Sistema de carga descentralizada y procesamiento del escrutinio:
Sistema encargado de garantizar un mecanismo de carga descentralizado, confiable y dinámico, desde los distintos establecimientos habilitados para la votación.
2. Sistema de consulta de resultados y publicación del escrutinio:
Sistema encargado del muestreo provisorio y final del escrutinio, a medida de que en los diferentes sitios de Carga de Telegramas se va completando el mismo, logrando una actualización on-line de los resultados y bancas repartidas, si así se lo desea.
3. Sistema de Consulta de Padrón Electoral.
Sistema que provee al ciudadano la consulta del padrón electoral, con los datos necesarios sobre la ubicación precisa del establecimiento al que se debe presentar.
Todas las aplicaciones ejecutaron en diversos servidores Linux, con tecnología Java – Web, utilizando como app server Tomcat 5.5 y DB2 for Iseries como DBMS. Para la generación de los gráficos se utilizó GXChart instalado en un servidor local.
Seguridad de la información :: estrategias para mantener la confidencialidad
Uno de los desafíos principales de la carga distribuida fue la seguridad de la información eleccionaria, la cual es confidencial hasta su procesamiento y publicación. Esto fue tenido en cuenta en el desarrollo, resolviéndose con niveles de seguridad:
· En la conexión hacia cada puesto de carga a distancia en el sistema, se montó una VPN (Red Privada Virtual) con el servidor, verificando que se tuviera acceso al sistema desde un único puesto de trabajo por establecimiento.
· En la aplicación se controló que sólo un usuario asociado a la IP provista por la VPN pudiera cargar sólo aquellos telegramas (resultados del escrutinio) que correspondiesen a su establecimiento.
De esta forma se realizaron controles múltiples en las diferentes capas que componen a la aplicación Web.
Carga y consulta de información :: Ágil y escalable, con “data entry” y páginas estáticas HTLM
La carga de información debía ser segura y rápida, pero también fácil de llevar a cabo por personas no informáticas.
:: Ágil
Para que además de segura, la carga fuera ágil para los operadores, el ingreso de los formularios Web de la carga de los datos del escrutinio fueron diseñados con orientación "data entry", es decir, que no requerían el uso del mouse en ningún momento, cargándose sólo utilizando el pad numérico.
:: Escalable
En cuanto a la publicación de los resultados del escrutinio, se requería definir un mecanismo que permitiera la alta escalabilidad del mismo, debido a la alta cantidad de consulta de datos a realizarse concurrentemente durante un lapso breve de tiempo y la constante generación de gráficos estadísticos. Para esto, se optó por la solución de generar páginas estáticas HTML con los resultados que no requirieran acceso a la base de datos. Esto mejoró notablemente el tiempo de respuesta a las peticiones de consulta de los resultados del escrutinio, dando soporte exitoso al gran número de peticiones recibidas. Y todo fue realizado utilizando sólo GeneXus, sin necesidad de ninguna solución externa.
**************************
Desde el punto de vista de gestión gubernamental, se logró publicar el resultado final de la votación en aproximadamente 3 horas mientras que los resultados se comenzaron a mostrar a los 45 minutos de cerrados los comicios. Además se mejoró considerablemente la calidad de los datos con la carga asistida directamente en los establecimientos, reduciendo drásticamente el grado de error humano.
Comparado con las elecciones 2007:
- se redujo 2 hs. aproximadamente el primer muestreo de información.
- se redujo 6 hs. aproximadamente el resultado final del escrutinio.
- el grado de error de los telegramas se redujo aproximadamente en un 70%.
Ficha del sistema |
Generador | Java |
DBMS | DB2 for Iseries |
Plataforma | Java |
Tipo de aplicación (win, web, Mobile, texto) | Web |
Cantidad de usuarios concurrentes (si es win) o diarios (si es web) | |
Cantidad de Objetos | 455 |
Cantidad de tablas | 34 |
Tamaño de la base de datos (MB) | 95 |
Web Server (si corresponde) | Apache v2.0 |
Utilizó alguna de estos productos o herramientas (Patters, GXextensions, UserControls, GXchart, otros) | GxChart y Patterns. |