SIC. Desplegament d'aplicacions des del SIC
El
Servei d'Integració Contínua (SIC)
està format principalment per dos productes:
- SIC-Custodia de codi, mitjançant SVN.
- SIC-Desplegaments automatitzats, mitjançant Jenkins.
Aquests
dos productes son complementaris entre sí, tot i que es poden emprar de
manera independent si es considera convenient.
La definició i automatització
d'aquests productes passa per
una configuració
prèvia, que estableix l'equip de SIC de manera conjunta amb el
peticionari. Per a aconseguir-ho, el peticionari proporciona prèviament
la informació a SIC, mitjançant el formulari d'alta d'aplicació.
Els processos automatitzats reben el nom
de 'jobs' dins de Jenkins i es
poden classificar segons la seva funció:
- Jobs tipus LIB : Instal·lació del projecte com a
llibreria sota el mateix SIC.
- Jobs tipus BLD : Generació d'artefactes, anàlisi
d'artefactes (SONAR / Fortify).
- Jobs tipus INT : Generació d'artefactes, execució
automatitzada d'scripts a
BBDD, pujada per SFTP dels artefactes als servidors corresponents,
peticions de redesplegament remot automàtic al servidor indicat per
l'usuari.
- Jobs tipus PRE : pujada per SFTP dels artefactes
(generats per el job INT) als servidors corresponents de PRE, enviament
de
correu a SAU per tal que realitzin el redesplegament manual dels
artefactes pujats.
- Jobs tipus PRO : pujada per SFTP dels artefactes
(generats per el job INT) als servidors corresponents de PRO, enviament
de correu a SAU per tal que realitzin el redesplegament manual dels
artefactes pujats.
Els únics jobs que realitzen de manera directa el
redesplegament
en remot son els de tipus INT i requereixen d'un desplegament manual
inicial.
Properament està previst donar cobertura a:
- Desplegaments als 4 CPDs Cloud.
- Desplegaments en PHP i .NET
Canigó - Llistats paginables a servidor amb Canigó 3
A l'actualitat és
difícil trobar una aplicació Canigó que no tingui la
necessitat de presentar un llistat de dades en format taula a alguna de
les seves vistes.
Per fer-ho, Canigó 3 compta amb la llibreria de components de Richfaces
4.0.0 (implementació de JSF 2). En concret dispossa dels components
<dataTable> i <extendedDataTable>.
Si les taules arriben a contenir un número de registres que no hi caben
a la pantalla, el navegador n'afegeix un scroller lateral a la
finestra. Com a millora estètica per estalviar l'aparició d'aquest
scroller lateral es pot afegir a la taula el component
<dataScroller>, que permet dividir els resultats en
blocs
de N registres i poder accedir-hi a ells mitjançant paginació. Aquesta
paginació pot ser de 2 tipus:
- Paginació a client: És la que ve implementada per
defecte amb el component. Les dades es consulten i carreguen
des del servidor en la seva totalitat,
la navegació es realitza mitjançant JavaScript i el servidor no intervé
al fer-ho.
- Paginació a servidor: Només es carrega la primera
pàgina del llistat i cada navegació provoca un accés nou a
servidor per obtenir el bloc demanat.
El desenvolupador
haurà de emprar un tipus o un altre en
funció dels seus requeriments. Per a ajudar en la decisió es pot
prendre com a referència la taula següent:
Paginació a Client |
Paginació a Servidor |
Rendiment òptim per a llistats petits |
Rendiment independent del volum dels llistats |
Renderitzat 1ª pàgina menys ràpid |
Renderitzat 1ª pàgina més ràpid |
Renderitzat darreres pàgines molt ràpid |
Renderitzat següents pàgines menys ràpid. |
La gestió de la navegació paginada es fa
mitjançant
JavaScript |
La gestió de la navegació paginada es fa
majoritàriament
a servidor. |
Complexitat baixa a l'hora de desenvolupar |
Complexitat mitja a l'hora de desenvolupar |
Un
punt important a tenir en compte de cara a la implementació de
paginació en costat servidor és la versió de JPA emprada (com a
motor de persistència, per sobre d'Hibernate). JPA 2
proporciona més
facilitats
per a la implementació d'aquest tipus de paginació. En data
d'avui Canigó 3 és compatible amb JPA1. En el futur
està previst afegir compatibilitat amb JPA2.
Atès que implementar una paginació a Servidor no és tan immediat com
fer-ho a Client, us proporcionem un
howtTo d'una de les possibles implementacions. El podreu trobar
referenciat a la secció de HowTo's
Frameworks i Solucions d'Arquitectura.
|
Notícies
-
Custodia del codi al SIC
Durant la
Transformació de CPD, un dels requisits és que totes les aplicacions
hauran de repositar el seu codi al SVN del SIC. És el que anomenem
“SIC-Custòdia de Codi”. Per a facilitar aquesta tasca, es realitzarà
una alta massiva de repositoris basant-nos en els codis de diàleg
proporcionats per l’Inventari d’Aplicacions. Els proveïdors
d’aplicacions tindran un temps de creació del repositori més curt doncs
només els hi caldrà aportar els usuaris amb permisos per a accedir a
cada aplicació. Per a aquelles aplicacions que ja disposen d’espai al
SVN, l’equip del SIC es posarà en contacte amb els responsables per
donar instruccions i acordar el mètode de migració a la nova estructura
de SVN.
-
SIC Mapa d'aplicacions
Aquest mes s'han donat d'alta 6 aplicacions al SIC:
-
HowTo's Frameworks i Solucions d'Arquitectura
|
|
|