CONNECTOR PICA-AVISOS i ALERTES










Introducció

L'objectiu d'aquest connector és el de proporcionar accés als serveis d'enviament de MAIL i SMS del CTTI a través del servei AVISALERT de la PICA.

Propòsit

El propòsit del connector és proporcionar una interfície funcional reduïda al connector de la Pica que simplifica l'utilització dels diferents serveis d'enviament de Mail i Sms oferts per la generalitat.

Context i Escenaris d'ús

El connector PICA-AVISALERT es troba dins els connectors de serveis funcionals de la Generalitat.

Versions i Dependències

En el present apartat es mostren quines són les versions i dependències necessàries per fer ús del Connector.

Les dependències descrites a la següent url són requerides per tal de fer funcionar el servei:
Dependències del Connector PICA-PADRO

A qui va dirigit

Aquest document va dirigit als següents perfils:

  1. Programador. Per conèixer l'ús del connector.
  2. Arquitecte. Per conèixer quins són els components i la configuració del connector.

Documents i Fonts de Referència

[1] Guia d'us del servei Avisos i Alertes v1.5.pdf.

Descripció Detallada

Aquest connector permet utilitzar les diferents modalitats del servei AVISALERT en les seves modalitats asíncrones i síncrones, a través de les modalitats de servei següents:

Serveis Síncrons

  • AVISALERT_SMS
  • AVISALERT_CORREU-E

Serveis Asíncrons

  • AVISALERT_CORREU-E

Arquitectura i Components

Interfícies i Components Genèrics

Es pot trobar tota la documentació JavaDoc i el codi font referent aquests components a les següents url's:

JavaDoc: http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo2_3_18/canigo-connectors-root/canigo-connectors-pica-avisosalertes/apidocs/index.html
Codi Font:  [ http://repos.canigo.ctti.gencat.cat/repository/maven2/canigo/connectors/canigo-connectors-pica-avisosalertes/1.0.1/]

Requeriments

El connector PICA-AVISALERT és compatible amb les versions 1.5 o superior de Java. Per versions inferiors no es garanteix el seu correcte funcionament.

Per tal de que el connector PICA-AVISALERT funcioni correctament sobre l'aplicació que l'utilitzi, s'ha de tenir configurat el servei connector genèric de la PICA 1.0.

Instal.lació i Configuració

Instal.lació

La instal.lació del connector requereix de la utilització de la llibreria 'canigo.integration.padro.pica' i les dependències indicades a l'apartat 'Introducció-Versions i Dependències'.

Es pot afegir el mòdul de forma automàtica a través del plugin de Canigó 3 per l'eclipse. Afegint el mòdul d'integració amb PICA-AVISALERT

Per fer-ho de forma manual modificar el pom.xml de l'aplicació per incloure la llibreria del Connector com a dependència.

<dependency>
      <groupId>canigo.connectors</groupId>
      <artifactId>canigo-connectors-pica-avisosalertes</artifactId>
      <version>1.0.1</version>
</dependency>

També és necessari afegir una exclusió sobre la dependència de la PICA;

<dependency>
    <groupId>canigo.connectors</groupId>
	<artifactId>canigo-connectors-pica</artifactId>
	<version>1.0</version>
	<exclusions>
	        <exclusion>
		    <groupId>xmlbeans</groupId>
	            <artifactId>xbean</artifactId>
	        </exclusion>
	</exclusions>
</dependency>

Configuració


1.- Per poder configurar el connector PADRO és necessari tenir configurat el connector genèric a la PICA.

<bean id="requeridor" class="cat.gencat.pica.peticio.core.beans.Requeridor" singleton="true">
<property name="fitxerSignatura" value="signatura.properties"> </property>
	<property name="idSolicitante" value="1DPGO049"></property>
	<property name="idTransmision" value="213421"></property>
	<property name="nombreSolicitante" value="CTTI"></property>
	<property name="password" value="password"></property>
	<property name="user" value="usuari"></property>
</bean>

<bean name="ProducteModalitatBase" abstract="true" class="cat.gencat.pica.peticio.core.beans.ProducteModalitat">
	<property name="passwordType" value="PasswordText"></property>
</bean>

<bean id="picaService" class="net.gencat.ctti.canigo.connectors.pica.impl.PicaServiceWrapper" singleton="false">
	<property name="axisDefinition" value="classpath:axis2client/"></property>

	<property name="loggingService" ref="loggingService"></property>
	<property name="requeridor" ref="requeridor"></property>
	<property name="modalitats">
		<map>
			...
		</map>
	</property>
</bean>

2.- Configuració e inicialització del bean d'Spring que generarà el servei.

<bean id="avisalertService" class="net.gencat.ctti.canigo.connectors.pica.avisosalertes.impl.AvisosAlertesConnectorImpl" singleton="false">
		<property name="picaService" ref="picaService"/>
		<property name="nifEmisor" value="[nifEmisor]" />
		<property name="nomEmisor" value="[nomEmisor]" />
		<property name="finalitat" value="[finalitat]"/>
		<property name="urlPica" value="http://preproduccio.pica.intranet.gencat.cat/pica_cataleg/AppJava/services/" />
	<property name="funcionari" ref="funcionari" />
</bean>

<bean id="funcionari" class="cat.gencat.pica.peticio.core.beans.Funcionari">
	<property name="nifFuncionario" value="nifFuncionari"/>
	<property name="nombreFuncionario" value="nombreFuncionari"/>
	<property name="emailFuncionario" value="emailFuncionario"/>
</bean>

Els valors d finalitat, urlPica, nifEmisor i nomEmisor s'han de consultar a la OT PICA en requeridors.otpica.ctti@gencat.cat

NOTA: El valor per defecte de urlPica es la de l'entorn de Pre-producció.

Utilització del Connector


Exemple d'utilització d'un Servei Síncron

1.- Referenciar al servei AVISALERT des de l'acció que es vulgui utilitzar (action-servlet-aaa.xml):

<property name="avisalertConnector" ref="avisalertService"></property>

2.- En l'acció, s'hauran de crear els getters i setters corresponents per al connector de AVISALERT

private AvisalertConnectorImpl avisalertConnector;
public AvisalertConnectorImpl getAvisalertConnector() {
	return avisalertConnector;
}

public void setAvisalertConnector(AvisalertConnectorImpl avisalertConnector) {
	this.avisalertConnector = avisalertConnector;
}

En aquest cas d'exemple es consumirà la modalitat de servei AVISALERT_CORREU-E.
NOTA: Les dades de nom, cognom1 i 2, nom complet i el valor del document sobre l'exemple son inventades.

String from = "from@cscanigo.com";
	String to = "to@cscanigo.com";
	String title = "cscanigo";
	String message = "Això és una prova";
	String arxiu = null;
	String resposta = avisalertService.avisAlertCorreuESincron(from, to, title, message, arxiu);

Per consultar la totalitat de possibles codis de retorn i objectes de la resposta consultar el document de la PICA Guia d'us del servei Avisos i Alertes v1.5.pdf disponible via petició a requeridors.otpica.ctti@gencat.cat

Exemple d'utilització d'un Servei Asíncron

S'exposarà el cas del servei AVISALERT_SMS en la seva versió asíncrona. Els passos per consumir un servei d'aquest tipus són:

1.- Fer petició al Servei
2.- Testar l'estat de resolució de la petició
3.- Recuperar les dades de la petició

String mobile = MOV_NUMBER;
	String serviceNumber = "6666";
	String message = "Test";
			
	DataResponse resposta = avisosAlertesConnector.avisAlertSMSsimpleASincron(serviceNumber, mobile, message); //<-- Petició al servei
	
	EstatAsincron estat = avisosAlertesConnector.getEstatAvisAlertSMSASincron(resposta.getServei(), resposta.getResponse()); //<-- Comprovació estat petició
	int tempsEstimat = estat.getTempsEstimatResposta();
	...
	
	RespostaCercaTitular dades = avisosAlertesConnector.getDadesAvisAlertSMSASincron(resposta.getServei()); //<-- Recuperació resposta a la petició

Per consultar la totalitat de possibles codis de retorn i objectes de la resposta consultar el document de la PICA Guia d'us del servei Avisos i Alertes v1.5.pdf disponible via petició a requeridors.otpica.ctti@gencat.cat