Las normas expuestas son de obligado cumplimiento. La STIC podrá estudiar los casos excepcionales los cuales serán gestionados a través de los responsables del proyecto correspondiente y autorizados por el Área de Gobernanza de la STIC. Asimismo cualquier aspecto no recogido en estas normas deberá regirse en primera instancia por las guías técnicas correspondientes al esquema nacional de seguridad y esquema nacional de interoperabilidad según correspondencia y en su defecto a los marcos normativos y de desarrollo software establecidos por la Junta de Andalucía, debiendo ser puesto de manifiesto ante la STIC. La STIC se reserva el derecho a la modificación de la norma sin previo aviso, tras lo cual, notificará del cambio a los actores implicados para su adopción inmediata según la planificación de cada proyecto. En el caso de que algún actor considere conveniente y/o necesario el incumplimiento de alguna de las normas y/o recomendaciones, deberá aportar previamente la correspondiente justificación fehaciente documentada de la solución alternativa propuesta, así como toda aquella documentación que le sea requerida por la STIC para proceder a su validación técnica. Contacto Arquitectura: l-arquitectura.stic@juntadeandalucia.es |
Los cambios en la normativa vendrán acompañados de un registro de las modificaciones. De este modo se podrá realizar un seguimiento y consultar su evolución. Ordenándose de mas recientes a menos recientes, prestando especial cuidado a las cabezeras de la tablas dónde se indican las fechas de entrada en vigor y versión.
|
JDK | 1.6 |
---|---|
CDI | 1.0/1.1 (opcional) |
Repositorio | http://git.sas.junta-andalucia.es/componentes_comunes/Java/sasconfiguration |
Dependencia Maven |
Sin CDI:
Para usar las anotaciones:
Api de los servicios:
|
Esta librería permitirá obtener configuración de diferentes orígenes y hacer uso de ellos de una forma simplificada en los aplicativos.
Puede encontrarse un ejemplo de integración de esta librería en el repositorio Git de esta librería.
Actualmente la librería tiene las siguiente funcionalidades:
De cara a priorizar futuras funcionalidades, si algún proveedor tiene la necesidad de alguna funcionalidad adicional se deberá de comunicar a l-arquitectura.stic.sspa@juntadeandalucia.es
--
sasconfiguration-core/cdi | sasconfiguration-api | sasconfiguration-annotation | sasconfiguration-ds-git |
---|---|---|---|
v2.2.1
v2.2.0
v2.1.0
v2.0.0
v1.1.0.1
v1.0.0.1
| v1.2.0
v1.1.0
v1.0.0.1
| v1.1.0
v1.0.0.1
| v1.1.1
v1.0.0
|
Para incluir la librería en un proyecto Maven es necesario realizar los siguientes pasos:
Agregar el repositorio del SAS: Repositorio de artefactos
Especificar la dependencia en el POM del proyecto que requiere la funcionalidad.
-Si es un proyecto con cdi:
|
-Si es un proyecto SIN cdi:
|
Puede ser usada mediante CDI o de forma tradicional (Se incluye una factoria para facilitar el uso).
La configuracion se realiza mediante un fichero de configuración que por defecto esta nombrado como 'BaseConfig' ,la extensión puede ser properties,yaml,json. Se puede acceder a toda la configuración programaticamente usando el objeto de configuración (SasConfig):
En el fichero de configuración se establecen los diferentes DataSources que se cargaran por defecto.
DataSources incluidos:
JNDIConfigDataSource
Ejemplo properties
|
Ejemplo fichero yaml:
|
Por código se pueden configurar todas las opciones descritas con anterioridad. Tambien se pueden añadir DataSources y TransformationsHandlers propios del usuario de la libreria.
Ejemplo:
|
La consulta de paramétricas se puede realizar de dos maneras diferentes, desde código, haciendo uso del servicio especifico de la librería "SasConfigService". Este servicio puede ser inyectado.
Ejemplo código:
|
Por anotaciones es mas sencillo aunque puede que existan casos que no sea lo suficientemente flexible esta opcion.
Ejemplo Anotaciones:
|
Mediante codigo tambien se puede obtener un mapa de parametricas basado en un prefijo.
Ejemplo:
|
Para poder asignar directamente un parametro a un objecto complejo, se hace uso de una interfaz, "TransformationHandler". Esta Interfaz ha sido implementada con varias clases por defecto que se encuentran en el paquete es.ja.csalud.sas.componentescomunes.sasconfiguration.transformation.base
Las clases concretas son:
La interfaz puede ser implementada y añadida a la configuracion para que pueda hacer transformaciones de objetos complejos especificos del proyecto que este haciendo uso de la libreria.
Se puede extender la clase abstracta 'BaseTransformationHandler' y las implementaciones tenerlas en el paquete 'es.ja.csalud.sas.componentescomunes.sasconfiguration.transformation' para que sean cargadas automaticamente. En este caso no seria necesario hacer lo siguiente.
Para añadir un TransformationHandler ya implementado, se debe de tener acceso al objeto de configuracion (injectandolo por ejemplo al inicio de la aplicacion)
Ejemplo:
|