wiki:PropuestaDesarrollo

Tabla de Contenido

  1. Proyecto Mayaguaray
    1. Contenido relacionado al proyecto:
    2. ¿Cómo lo hacemos?
      1. Segunda Etapa de Desarrollo (Año 2016)
        1. Metodología de Desarrollo de Software Libre Utilizada (v2.0)
      2. Primera Etapa de Desarrollo (Año 2015)
        1. Metodología de Desarrollo de Software Libre Utilizada (v2.0)
    3. Equipo de Trabajo
      1. Segunda Etapa de Desarrollo (Año 2016)
        1. Equipo de Trabajo CorreoSUR
        2. Equipo de Trabajo RedSUR
      2. Primera Etapa de Desarrollo (Año 2015)
        1. Equipo de Trabajo Diseño Conceptual
        2. Equipo de Trabajo Redsur
        3. Equipo de Trabajo Firma Electrónica
        4. Equipo de Trabajo Diseñor de Interfaz Corresur
        5. Equipo de Trabajo Diseño de Infraestructura
    4. Biblioteca digital
    5. Material de difusión
    6. Prototipos
    7. Respecto al Gestor del Proyecto
  2. Metodología de Desarrollo de Software Libre (MDSL) Versión 2.0
  3. Correo del Estado Venezolano 2015
    1. Conceptualización
    2. Administración
    3. Construcción
  4. Análisis del Dominio
  5. Propuesta de Desarrollo del Proyecto: Correo del Estado Venezolano
    1. 1. Necesidades y/o problemas
    2. 2. Solución propuesta
    3. 3. Alcance del software propuesto
      1. Autenticación de usuarios
      2. Gestión de correo electrónico
      3. Gestión de libreta de contactos
      4. Firma electrónica de documentos adjuntos
      5. Gestión de calendario
    4. 4. Descripción general de la arquitectura del software
    5. 4.1 Descripción general de la arquitectura del software interfaz
    6. 4.2 Descripción general de la arquitectura del software plugin firma …
    7. 5. Metodología de desarrollo
    8. 6. Plataforma de operación
    9. 6.1. Plataforma de operación interfaz
    10. 6.2. Plataforma de operación plugin firma electrónica
    11. 7. Plataforma de desarrollo
    12. 7.1 Plataforma de desarrollo interfaz
    13. 7.2 Plataforma de desarrollo plugin firma electrónica
    14. 8. Licencias de código y documentación
  6. Plan del Proyecto: Equipo Interfaz
  7. Estándares de Desarrollo del Proyecto
  8. Estándares de Desarrollo del proyecto plugin de firma electrónica
      1. Organización de archivos
      2. Archivos fuente
      3. Longitud de línea
      4. Líneas extendidas
      5. Declaraciones
      6. Documentación de código
  9. Especificación de Requerimientos (Funcionalidades)
    1. 1. Casos de Uso: Autenticación de usuario
      1. 1.1 Caso de Uso: Registrar usuario
      2. 1.2 Caso de Uso: Ingreso de usuario
      3. 1.3 Caso de Uso: Reenviar contraseña
    2. 2. Casos de Uso: Gestión de Correo Electrónico
      1. 2.1 Caso de Uso: Recibir correo
      2. 2.2 Caso de Uso: Redactar correo
      3. 2.3 Caso de Uso: Responder correo
      4. 2.4 Caso de Uso: Responder a todos
      5. 2.5 Caso de Uso: Reenviar correo
      6. 2.6 Caso de Uso: Borrar correo
      7. 2.7 Caso de Uso: Buscar correo
      8. 2.8 Caso de Uso: Imprimir correo
    3. 3. Casos de Uso: Gestión de libreta de contactos
      1. 3.1 Caso de Uso: Crear contacto
      2. 3.2 Caso de Uso: Modificar contacto
      3. 3.3 Caso de Uso: Eliminar contacto
    4. 4. Casos de Uso: Firmar Electrónicamente un Documento Adjunto
      1. 4.1 Caso de Uso: Firmar documento adjunto
      2. 4.2 Caso de Uso: Verificar firmar electrónica de un archivo adjunto al …
    5. 5. Casos de Uso: Gestión de Calendario
      1. 5.1 Caso de Uso: Crear Evento
      2. 5.2 Caso de Uso: Modificar Evento
      3. 5.3 Caso de Uso: Eliminar Evento
      4. 5.4 Caso de Uso: Ver Calendario
      5. 5.5 Caso de Uso: Filtrar Calendario
    6. Flujograma de actividades
  10. Codificación
    1. Código Fuente
    2. Flujograma de actividades
  11. Análisis y Diseño
  12. Pruebas
  13. Liberación

Propuesta de Desarrollo del Proyecto: Correo del Estado Venezolano

1. Necesidades y/o problemas

En la actualidad, el Estado venezolano no cuenta con una plataforma propia y segura para la gestión de los correos electrónicos de sus instituciones, razón por la cual, cada ente, de acuerdo con los recursos disponibles para ello, configura sus servicios de correo electrónico bajo distintas plataformas.

En muchos casos, dada la facilidad de uso y la gratuidad de los servicios, la administración pública nacional ha optado por emplear herramientas privativas para la gestión de la información institucional y su correo electrónico, vulnerando de esta manera nuestra soberanía tecnológica.

Con respecto a la seguridad informática, se percibe la debilidad de que los correos electrónicos pueden sufrir falsos positivos; esto es, correos que no son válidos o peor aún, que han sido forjados, sean recibidos, aceptados y procesados como si fueran auténticos y verdaderos. Aunado a esto, el despliegue de la Infraestructura Nacional de Certificación de Venezuela es aún desconocido.

Luego de la entrada en vigencia de la Ley de Infogobierno, que tiene por objeto reglamentar el uso de las tecnologías de información libres en el Poder Público para garantizar, entre otras cosas, la independencia tecnológica, así como la seguridad y defensa de la Nación; se acentúa la necesidad de contar con una plataforma de correo electrónico propia y segura, que posea un cliente de correo propia con interfaz web, promoviendo el uso de certificados electrónicos de la Infraestructura Nacional de Certificación Electrónica de Venezuela para garantizar la seguridad e integridad de los documentos adjuntos al correo electrónico con firma electrónica y garantice la validez de la firma electrónica en el tiempo.


2. Solución propuesta

En base a la situación actual descrita, se propone diseñar e implementar una interfaz para el correo electrónico del Estado venezolano que permita manejar las cuentas de los trabajadores de las instituciones públicas. Motivado a que ya existen una serie de clientes de correo electrónico de interfaz web bajo licenciamiento libre, se utilizará Expresso Livre de base para el desarrollo de un cliente de correo electrónico para la administración publica venezolana.

Debido a que ninguna de estas plataformas tiene soporte para firma electrónica, se propone desarrollar un plugin para el navegador web que permita gestionar la firma electrónica desde la interfaz web del correo seleccionada utilizando la Infraestructura Nacional de Certificación Electrónica.


3. Alcance del software propuesto

Autenticación de usuarios

Gestión de correo electrónico

Gestión de libreta de contactos

Firma electrónica de documentos adjuntos

  • Firma de los adjunto del correo electrónico bajo los formatos BDOC y PDF
  • Verificación de la firma de los documentos adjunto al correo electrónico
  • Incorporación a la interfaz gráfica del cliente de correo la opción de firmar digital los adjuntos
  • Soporte de la firma digital en hardware

Gestión de calendario


4. Descripción general de la arquitectura del software

4.1 Descripción general de la arquitectura del software interfaz

arquitectura_correo_interfaz

4.2 Descripción general de la arquitectura del software plugin firma electrónica

Para el el servicio de firma electrónica por parte que se utilizara para firmar los archivos adjuntos al correo se propone una arquitectura orientada a recursos con interfaces RESTful.

Se proponen los siguientes recursos:

  • /archivos: para cargar un archivo al servidor y mantenerlo en un espacio temporal.
  • /archivos/firmados: para cargar un archivo al servidor y verificar su(s) firma(s). En caso de estar firmado retorna información de las firmas.
  • /archivos/{idFile}: para verificar si un archivo con el identificador está firmado. En caso de estarlo retorna información de las firmas.
  • /archivos/pdfs: para obtener el hash del archivo PDF que se desea firmar.
  • /archivos/pdfs/resenas/: para completar la firma del archivo PDF.
  • /archivos/bdocs/: para obtener la reseña o hash del archivo que se desea firmar en formato BDOC.
  • /archivos/bdocs/resenas/: para completar la firma del archivo en formato BDOC.

Internamente se utilizan bibliotecas nativas para la gestión de documentos en formato PDF y BDOC.


5. Metodología de desarrollo

El desarrollo del sistema se realizará siguiendo la Segunda Versión de la Metodología de Desarrollo de Software Libre propuesta por la Fundación CENDITEL.

Siguiendo dicha metodología, se llevarán a cabo 3 procesos:

  • La conceptualización, sistematizada en el presente documento el cual servirá de insumo para la elaboración de un documento de fundamentación del proyecto.
  • En la administración del proyecto del software, se pretende entregar el plan del proyecto que contenga: La priorización de las funcionalidades, la dependencia entre las funcionalidades, el estudio de los riesgos asociados al desarrollo de la aplicación, la priorización del desarrollo de cada funcionalidad y por último, el cronograma de desarrollo.
  • Y la construcción del software se basará en: La especificación de requerimientos, el análisis y diseño del software, la codificación, la realización de las pruebas de software y la liberalización del software mediante la publicación y prueba de versiones y la realización de los manuales de usuario.


6. Plataforma de operación

6.1. Plataforma de operación interfaz

  • Sistema Operativo: Linux - Debian Jessie
  • Servidor WEB: Nginx.
  • Manejador de Base de Datos: Postgresql 9.4

6.2. Plataforma de operación plugin firma electrónica

  • Sistema operativo Debian GNU/Linux Debian Jessie
  • Lenguaje de programación: Java
  • Servicio web server Representational State Transfer (REST) java: JAX-RS
  • contenedor de Java Servlet: Tomcat


7. Plataforma de desarrollo

  • Control de Versiones: GIT.
  • Servidor de Pruebas: Ubicación: Centro de datos de CENDITEL. Identificación: mayaguaray00. Tipo de servidor: Máquina virtual basada en XEN. Dotación actual: 1 CPU, Memoria 256MB, Almacenamiento 7GB. Conectividad de área extendida: 72MBps recepción, 142MBps transmisión. Conexión compartida. Conectividad local: Gigabit Ethernet en redes privadas. Administración: ssh a través de VLAN dedicada. Publicación de servicios: http, https, imaps, submission, smtp, smtps. Dirección de publicación: correosur.cenditel.gob.ve.

7.1 Plataforma de desarrollo interfaz

  • Sistema Operativo: Linux - Debian Jessie
  • Manejador de Base de Datos: Postgresql 9.4
  • Lenguaje de Programación: PHP 5
  • Framework de desarrollo: Zend
  • Lenguajes de marca: HTML, CCS, ExtJS

7.2 Plataforma de desarrollo plugin firma electrónica

  • Sistema operativo Debian GNU/Linux Wheezy.
  • Lenguaje de programación: Java
  • ​IDE: Eclipse Luna.
  • Soporte de Java para REST a través de la especificación Java Specification Request (JSR) 311. Esta especificación se conoce como JAX-RS (The Java API for RESTful Web Services) y que utiliza anotaciones para definir la relevancia REST de clases Java.
  • ​Jersey. Implementación de referencia para la especificación JSR 311.
  • ​Maven: herramienta de administración de proyectos de software.
  • ​Tomcat: software que implementa las especificaciones de los servlets y de JavaServer?? Pages (JSP) como contenedor web.
  • Biblioteca ​iText para gestión de archivos en formato PDF.
  • Biblioteca ​digidoc4j biblioteca para integrar firmas electrónicas basadas en XAdES en aplicaciones y servicio web desarrollados con la tecnología Java.


8. Licencias de código y documentación

El software desarrollado en este proyecto se distribuye bajo la licencia GPL v.2.0 de la Free Software Foundation.

Por su parte, los documentos generados durante el proyecto estarán ​liberados bajo la Licencia Creative Commons Venezuela 3.0: Reconocimiento, No comercial, Compartir Igual 3.0, que permite compartir, exhibir, modificar, y ampliar la obra para fines no comerciales, siempre y cuando se de crédito a su (s) autor (es) y la licencia de las nuevas obras creadas a partir de la original posean iguales términos y condiciones a la licencia de la obra original.

Last modified 8 years ago Last modified on Jan 8, 2016, 2:51:20 PM

Attachments (8)

Download all attachments as: .zip