CONNECTOR PICA-PADRO










Introducció

L'objectiu d'aquest connector, és el de proporcionar un punt d'accés utilitzant la plataforma PICA cap serveis d'empadronament publicats en aquesta plataforma.

Propòsit

El propòsit del connector és proporcionar una interfície funcional reduida al connector de la Pica que simplifica l'utilització dels diferents serveis d'empadronament oferts per la generalitat.

Context i Escenaris d'ús

El connector PICA-PADRO 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 de PADRO v1.5x.pdf.

Descripció Detallada

Aquest connector permet utilitzar els diferents serveis del PADRO a través de l'accés a través d'una API de les següents modalitats de consum:

Serveis Síncrons

  • PADRO_COMPROVACIO_CONVIVENTS
  • PADRO_DADES_CONVIVENTS_PDF
  • PADRO_DADES_CONVIVENTS
  • PADRO_DADES_TITULAR
  • PADRO_DADES_TITULAR_INE
  • PADRO_DADES_TITULAR_PDF
  • PADRO_MUNICIPI_RESIDENCIA
  • PADRO_NUMERO_CONVIVENTS
  • PADRO_RESIDENT
  • PADRO_RESIDENT_MUNICIPI
  • PADRO_VALIDACIO_CONVIVENTS

Serveis Asíncrons

  • PADRO_TITULAR_CERCA

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_17/canigo-connectors-root/canigo-connectors-pica-padro/apidocs/index.html
Codi Font:  [ http://repos.canigo.ctti.gencat.cat/repository/maven2/canigo/connectors/canigo-connectors-pica-padro/1.0.1/]

Requeriments

El connector PADRO és compatible amb les versions 1.5 o superior de Java. Per versions inferiors no es garantit el seu correcte funcionament.

Per tal de que el connector PADRO 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 PADRO.

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-padro</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.- Configuiració e inicialització del bean d'spring que generarà el servei.

<bean id="padroService" class="net.gencat.ctti.canigo.connectors.pica.padro.impl.PadroConnectorImpl" singleton="false">
		<property name="picaService" ref="picaService"/>
		<property name="nifEmisor" value="[nifEmissor]" />
		<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 Sincron

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

<property name="padroConnector" ref="padroService"></property>

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

private PadroConnectorImpl padroConnector;
public PadroConnectorImpl getPadroConnector() {
	return padroConnector;
}

public void setPadroConnector(PadroConnectorImpl padroConnector) {
	this.padroConnector = padroConnector;
}

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

String numExpedient = "CAT-1234567890ABCDEF";
	int tipusDocumentacio = Constants.NIE;
	String documentacio = "X02649265X";
	String codMun = "999";
	int numConv = 99;
	String codProv = "1";
	int idesCat = 0;
	
	RespuestaComprobacionConvivientes resposta = padroConnector.padroComprovacioConvivents(numExpedient, 
		tipusDocumentacio, documentacio, codMun, codProv, numConv, idesCat);

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 de PADRO v1.5x.pdf disponible via petició a requeridors.otpica.ctti@gencat.cat

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

L'única modalitat de servei del connector PICA-PADRO que és asíncrona es tracta de la PADRO_TITULAR_CERCA. 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 numExpedient = "123456";
	int tipusDocumentacio = Constants.NIF;
	String documentacio = "46583836G";

	DataResponse resposta = padroConnector.padroTitularCerca(numExpedient, 
		tipusDocumentacio, documentacio); //<-- Petició al servei
	
	EstatAsincron estat = padroConnector.getEstatPadroTitularCerca(resposta.getServei(), resposta.getResponse()); //<-- Comprovació estat petició
	int tempsEstimat = estat.getTempsEstimatResposta();
	...
	
	RespostaCercaTitular dades = padroConnector.getDadesPadroTitularCerca(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 de PADRO v1.5x.pdf disponible via petició a requeridors.otpica.ctti@gencat.cat