A continuación el diagrama de despliegue de SIMO

SIMO utiliza un despliegue en Cluster para atender la alta concurrencia de usuarios, en este esquema hay alta disponibilidad en dos niveles:

  1. A nivel del servidor de aplicaciones (Tomcat) con los servidores Tucano, los cuales son balanceados por el firewall y no se usa sincronización entre ellos al ser SIMO una aplicación Stateless y manejarse sesiones pegadizas en el servidor.
  2. A nivel de base de datos usando PgPool como balanceador y streaming replication para sincronizar las bases de datos, esta forma de replicación es master - slave con solo un posible servidor master

El cluster puede ampliarse tanto en servidores de aplicaciones como en bases de datos pero se debe tener en cuenta que el costo de replicación aumenta a medida que se añaden nodos de base de datos.

Nótese que

  1. Cada módulo SIMO (ciudadano, OPEC, IES) tiene un cluster similar, ciudadano 14 tucanos y 4 chamis, opec 1 tucano y los mismos 4 chamis, IES 2 tucanos y 2 chamis (1 compartido que es el master)
  2. A nivel de configuración la principal diferencia es que ciudadano y OPEC tienen búsquedas Lucene pero IES no.

El procedimiento de despliegue es el siguiente PROCEDIMIENTOS DE DESPLIEGUE

1. SUBIR VERSION POM Y HACER COMMIT

2. Hacer compilacion javascript y mirar que se ejecute bien

ir a js/libs/util/buildscripts/
./build.sh --profile /home/jrolon/src/SIGECA/sigeca/src/profile/app.profile.js --appConfigFile /home/jrolon/src/SIGECA/sigeca/src/main/webapp/js/libs/sigeca/sigeca.json

3. Corregir en pruebas si hay errores javascript en el codigo SIGECA (hacer stash, checkout a pruebas, corregir, checkout a produccion y merge de pruebas en produccion de nuevo)

4. Verificar fecha de release/dojo/dojo.js.uncompressed.js (debe estar a fecha de compilacion)

5. HACER MERGE DE PRUEBAS EN PRODUCCION

checkout produccion
merge pruebas

6. HACER CAMBIOS a index.html

  1. de libs/dojo.js a release/dojo.js.compiled.js (Descomentarear y comentarear)
  2. quitar google analytics si es ies o opec

7. Hacer cambios a css de libs a release

ir a themes
find . -name 'sigeca*.css' -exec sed -i 's/libs/release/

9. Minificar con

cd ~/programas/
java -jar closure-compiler-v20160713.jar  --js /home/jrolon/src/SIGECA/sigeca/src/main/webapp/js/release/dojo/dojo.js.uncompressed.js --js_output_file /home/jrolon/src/SIGECA/sigeca/src/main/webapp/js/release/dojo/dojo.js.compiled.js --compilation_level WHITESPACE_ONLY

10. Verificar fecha de release/dojo/dojo.js.compiled.js (debe estar a fecha de compilacion) 11. mvn -DskipTests install 12. Desplegar en Piapocos (ojo con version POM) 13. Prueba general de funcionamiento 14. Despliegue en tucano1 15. Prueba general de funcionamiento 16. Reindexamiento y cache (si es necesario) 17. Despliegue en tucanos 18. Prueba general de funcionamiento 19. revertir index y sigeca.json a valores por defecto

20. Pasar reportes 21. Cambios de BD 22. Despliegue war en produccion en todos los nodos