DevManual300

Recursos #

Proyectos del SVN #

En el repositorio de código fuente podemos encontrar una serie de proyectos con la estructura típica de un repositorio de Subversion.

El directorio 'trunk' contiene la versión actual de desarrollo en el equipo de desarrollo, 'tags' sirve como referencia a versiones concretas y los 'branches' albergan el trabajo de las colaboraciones que se han realizado desde terceros.

A la hora de descargarnos el código fuente, es recomendable usar las versiones almacenadas en los tags, para evitar entrar en conflicto con posibles desarrollos en ese momento.

Los componentes utilizados en el código fuente de Sinadura se pueden organizar de la siguiente forma:

Y siguen el siguiente diagrama de módulos

Proyectos Sinadura #

  • sinaduraCore: módulo principal con los servicios de firma, validación y gestión de certificados.
  • sinaduraDesktop: módulo para gestionar la interfaz gráfica SWT
  • sinaduraEE-Interfaces: paquete para manejar las interfaces de los diferentes módulos de la versión enterprise.
  • sinaduraParent: Parent pom para agilizar el manejo de módulos maven.

Modificaciones de dependencias del MITyC #

Gran parte de la base criptográfica de Sinadura está en los componentes del Proyecto de firma digital del Ministerio de Industria, Turismo y Comercio para la firma digital

De estos paquetes, los que no han sido modificados se sirven desde el repositorio de Sinadura, mientras que aquellos que han sufrido modificaciones están en el repositorio de código fuente y finalizan con un '-sinadura', para así diferenciarlas de las originales. Estos son los proyectos MITyCLibOCSP-sinadura y MITyCLibTSA-sinadura.

El proyecto MITyCLibXADES-sinadura se utiliza durante el desarrollo para temas de debug y porque hay una parte de la validación XADES relacionada con las multiples cadenas de certificados que igual hay que modificar en un futuro.

Modificaciones de dependencia a Apache VFS 2 #

El proyecto Apache VFS, provee a Sinadura de un API para manejar diferentes tipos de sistemas de ficheros. En el SVN de Sinadura se almacenan los cambios menores realizados para la aplicación.

Modificaciones de dependencias del XMLSecurity #

Modificaciones del proyecto XML Security de Apache.

Modificaciones de dependencia Launch4J #

Plugin de maven únicamente necesario para generar los instaladores (.exe) de Windows.

Lanzando Sinadura desde Eclipse #

Entorno de trabajo #

Como entorno de trabajo, el equipo de Sinadura utiliza Eclipse J2EE, con los plugins de maven (m2) y subversion (subeclipse), ambos descargables desde el Marketplace de Eclipse.

Ya que el repositorio Maven de Sinadura está securizado, puede que tengáis algún problema de conexión fácilmente solucionable

Descargando las fuentes#

En un principio no es necesario descargar todo subproyecto ni modificación. Podemos limitarnos a descargar los módulos 'core' y 'desktop' de Sinadura.

Lo primero que hay que hacer es acceder a la vista de svn del eclipse

Despues daremos de alta el repositorio de código fuente de Sinadura, con los credenciales de lectura. A aquellas personas que quieran contribuir algo se les dotará de credenciales con permiso de escritura sobre los directorios 'branch' para que puedan subir el código.

Navegaremos por la estructura de carpetas a cada una de los proyectos que queremos descargar, por lo general 'sinaduraCore' y 'sinaduraDesktop' en sus versiones más recientes dentro de los 'tags'.

Si se requiere descargar una versión de otro proyecto que no tenga 'tag' optaremos por la versión 'trunk'.

Lanzando Sinadura con Maven Build#

Una vez descargados los proyectos, debería existir una árbol de proyectos equivalente al siguiente.

Con esto ya bastará para lanzar Sinadura, ya que Eclipse se encargará de descargar las dependencias necesarias del Nexus .

Para el correcto lanzamiento de Sinadura, deberemos usar el método de Maven (también se puede usar el clásico de Java Application, pero no podremos definir los perfiles de uso).

Para ello, nos posicionaremos sobre el proyecto 'sinaduraDesktop' y en el menú contextual haremos 'Maven' > 'Build ...', en donde rellenaremos la siguiente configuración.

  • Base directory: el proyecto de sinaduraDesktop
  • Goals: "resources:resources exec:java"
  • Profiles: Uno de los siguientes perfiles (Unix32, Unix64, Win32, Win64). ej: "Unix64"
  • Parámetro. name 'exec.mainClass', value 'net.esle.sinadura.gui.Sinadura'.

Promedio (0 Votos)
Comentarios