Centre de Suport Canigó    

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

  • JDK 1.7 a Jenkins (SIC)


    Recentment s'ha inclòs la versió 1.7 de JDK als servidors de SIC. Amb aquest canvi s'abasteix a Jenkins amb aquesta versió de JDK, ampliant el rang d'aplicacions susceptibles de ser desplegades mitjançant aquesta eina. Es recomana emprar Maven 2.2.1.

  • 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:
    [grafica]


  • HowTo's Frameworks i Solucions d'Arquitectura

howto HOWTO: Llistats paginables a servidor amb Canigó 3

CTTI

AVISO DE CONFIDENCIALIDAD.
Este correo y la información contenida o adjunta al mismo es privada y confidencial y va dirigida exclusivamente a su destinatario. TICxCAT informa a quien pueda haber recibido este correo por error que contiene información confidencial cuyo uso, copia, reproducción o distribución está expresamente prohibida. Si no es Vd. el destinatario del mismo y recibe este correo por error, le rogamos lo ponga en conocimiento del emisor y proceda a su eliminación sin copiarlo, imprimirlo o utilizarlo de ningún modo.

CONFIDENTIALITY WARNING.
This message and the information contained in or attached to it are private and confidential and intended exclusively for the addressee. TICxCAT informs to whom it may receive it in error that it contains privileged information and its use, copy, reproduction or distribution is prohibited. If you are not an intended recipient of this E-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute any portion of this E-mail.