Está en la página 1de 23

Ministerio de Agricultura y Desarrollo Rural

República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

Estándar de intercambio de
información
Sistema Nacional de Identificación e Información del Ganado Bovino -
SINIGAN STI

Elaboró:
Grupo Técnico de la Unidad de Gestión del Aprobó:
SINIGAN Marceliano Acosta Pérez – Gerente
Revisó: SINIGAN
Carmen Cecilia Ortiz – Coordinador Ubicación Física o Electrónica:
Tecnológico S:\Sinigan 2012

1
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

TABLA DE CONTENIDO

1 INTRODUCCION........................................................................................................................ 4
1.1 Actores externos al sistema SINIGAN.............................................................................4
2 COMUNICACIÓN....................................................................................................................... 4
2.1 Introducción...................................................................................................................... 4
2.1.1 El reto de la seguridad................................................................................................... 5
2.1.2 La interoperabilidad........................................................................................................ 5
2.2 Solución adoptada............................................................................................................ 5
2.2.1 Ventaja del uso de SSH................................................................................................. 6
2.3 Pasos para comunicarse con los servicios del SINIGAN..............................................7
2.3.1 Solicitar la llave privada.................................................................................................7
2.3.2 Descargar los programas de comunicación vía SSH.....................................................7
2.3.3 Abrir el túnel SSH........................................................................................................... 7
2.4 Comunicación con el SINIGAN usando las librerías SiniganSSH................................8
2.4.1 Uso de la librería para .NET...........................................................................................9
2.4.2 Uso de la librería para JAVA........................................................................................ 10
3 ESPECIFICACIÓN DE LOS WEBSERVICES DEL SINIGAN.................................................11
3.1 Introducción.................................................................................................................... 11
3.2 Especificación Web Services para el intercambio de información con la Industria
Cárnica............................................................................................................................. 12
3.2.1 Asociación de animales a un lote.................................................................................12
3.2.2 Registro de eventos..................................................................................................... 13
3.2.3 Impresión de etiquetas................................................................................................. 14
3.3 Especificación Web Services para el intercambio de información con la Industria
Láctea............................................................................................................................... 14
3.3.1 Obtener la división geopolítica registrada en el SINIGAN............................................15
3.3.2 Obtener el código SINIGAN de las explotaciones ganaderas......................................16
3.3.3 Reporte de las rutas de recolección.............................................................................16
3.3.4 Reporte de ingreso de materia prima al establecimiento industrial lacteo...................17
3.3.5 Reporte de la salida de productos del establecimiento industrial.................................17

2
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

3.3.6 WSDL asociado a las operaciones de interacción con la Industria Láctea y el


SINIGAN................................................................................................................................... 18
3.4 Especificación Web Services para el intercambio de información con los SW
Externos........................................................................................................................... 18
3.4.1 Operaciones para el suministro información de referencia del SINIGAN a los SW
Externos.................................................................................................................................... 18
3.4.2 Operaciones para el reporte de información de eventos de los SW Externos al
SINIGAN................................................................................................................................... 21
3.4.3 WSDL asociado a las operaciones de interacción con los SW Externos y el SINIGAN
23

3
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

1 INTRODUCCION

El presente documento tiene como objetivo detallar los métodos de comunicación


y uso de los servicios proporcionados por el SINIGAN para los diferentes actores
externos que van a interactuar con el sistema.

1.1 Actores externos al sistema SINIGAN

Como Actores externos al sistema podemos definir los siguientes:

- Industria. Hacen parte de la industria los mataderos, frigoríficos,


comercializadoras, empresas lácteas y en general las empresas que
manipulan y/o comercializan productos del ganado bovino.
- Entidades de Control. Hacen parte de esta categoría entidades que
controlan el sector ganadero como el ICA y el INVIMA
- Software de Ganadería. En esta categoría se encuentran las
diferentes empresas que fabrican y comercializan software para el
sector Ganadero

Este documento se divide en dos capítulos:

- Comunicación. En este capítulo se especifican los requerimientos


necesarios para lograr la comunicación y permitir el uso de los
diferentes servicios que presta el SINIGAN a los actores externos
- Servicios. En este capítulo se especifica detalladamente los
servicios (Webservices) que el SINIGAN proporciona a los actores
externos

2 COMUNICACIÓN

2.1 Introducción

La comunicación con los servicios del SINIGAN es el primer paso a


seguir para consumir dichos servicios. En principio la comunicación a
través de la red Internet es algo trivial, pero presenta de manera
intrínseca varios retos que deben ser sorteados para que los servicios

4
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

puedan ser consumidos mientras se mantienen características de


seguridad e Interoperabilidad.

2.1.1 El reto de la seguridad

Por ser Internet una red de naturaleza insegura, la comunicación hacia


los servicios del SINIGAN debe ser configurada de manera que permita:

- La confidencialidad de la información. La información enviada a


los servicios del SINIGAN debe mantenerse confidencial, es decir,
que si un tercero interviene dicha comunicación, éste no debe ser
capaz de leer o interpretar la información leída. Este aspecto se
soluciona mediante la encriptación de la información.
- La autenticación. El SINIGAN debe ser capaz de identificar que la
persona que va a consumir los servicios sea quien dice ser. Esto se
soluciona con el uso de contraseñas de usuario o con llaves privadas

2.1.2 La interoperabilidad

La naturaleza de los servicios del SINIGAN es que éstos son abiertos, es


decir, que usan protocolos de comunicación de características
ampliamente conocidas y utilizadas.

El SINIGAN implementa Webservices que usan el protocolo SOAP sobre


HTTP. Al exponer los servicios con este protocolo se garantiza que
dichos servicios pueden ser consumidos sin importar el lenguaje de
programación o la plataforma operativa usada por los clientes de dichos
servicios.

2.2 Solución adoptada

Para solucionar los problemas que se plantearon previamente, en el


SINIGAN se adoptó una solución mediante el uso de túneles encriptados
usando el protocolo SSH.

El protocolo SSH presenta una solución fácil a los problemas de


seguridad propios de Internet mediante el uso de túneles seguros, los
cuales no son otra cosa que canales de comunicación encriptados y
autenticados mediante el uso de llaves privadas.
5
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

2.2.1 Ventaja del uso de SSH

El protocolo SSH es de carácter abierto y ampliamente conocido en el


ámbito de la seguridad informática. Permite la creación fácil de canales
de comunicación seguros entre dos puntos que normalmente no se
encuentran asegurados.

La principal ventaja del uso de dichos túneles es que no hace falta


realizar modificaciones en los servicios que se exponen ni en los clientes
que los consumen. Simplemente el protocolo SSH se encarga de la
seguridad de la comunicación, mientras que el cliente y el servidor
continúan comunicándose de la manera convencional, sin tener que
configurar autenticación ni encriptación.

En la siguiente figura se detalla el esquema de comunicación:

Servidor SSH
ClienteSSH webservice.sinigan.gov.c
(ssh, plink, putty) o

Llave Privada Datos Encriptados (Túnel SSH) Llave Pública


8222

8080

SOAP (sin SOAP (sin


encriptación) encriptación)

Texto Plano
Cliente Canal Encriptado SINIGAN

Gráfico 1. Esquema de comunicación


 ClienteSSH: Es el computador desde donde se ejecuta el cliente SSH. Abre el puerto
de escucha 8080

6
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

 ServidorSSH: Ubicado en la dirección webservice.sinigan.gov.co escucha en el


puerto TCP 8222

2.3 Pasos para comunicarse con los servicios del SINIGAN

Para realizar una comunicación exitosa con los Webservices del


SINIGAN se deben seguir los siguientes pasos.

2.3.1 Solicitar la llave privada.

La llave privada es un requisito fundamental para comunicarse con los


servicios del SINIGAN. Está contenida en un archivo “milogin_id_rsa”
para usar con clientes SSH, o en un archivo millave.ppk para ser usado
con plink.exe o putty.exe. Como su nombre lo indica, este archivo es de
carácter privado, por lo cual no puede ser entregado a terceros.

Adicionalmente la llave privada se encuentra protegida por una


contraseña, la cual es requerida para que los programas antes
mencionados puedan hacer uso de dicha llave. El SINIGAN
proporcionará estos archivos y la correspondiente contraseña a los
desarrolladores de software para permitirles crear canales seguros hacia
el SINIGAN.

2.3.2 Descargar los programas de comunicación vía SSH

Los programas que permiten crear los túneles seguros (plink.exe y


putty.exe) pueden descargarse gratuitamente de la dirección
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html . Los
sistemas Linux/Unix cuentan de manera nativa con el programa ssh

2.3.3 Abrir el túnel SSH.

El túnel se abre ejecutando en la máquina ClienteSSH el siguiente


comando:

2.3.3.1 Con ssh.

7
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

ssh -L 8080:sinigan1:8083 -f -N -i milogin_id_rsa -p 8222


milogin@webservice.sinigan.gov.co

En donde:

- 8080: puerto de escucha que se abrirá en el cliente SSH


- 8222: puerto de escucha del servidor SSH del SINIGAN. Este valor no debe
cambiarse
- milogin_id_rsa: nombre del archivo de llave privada entregado por en
SINIGAN

Nota: Al ejecutar este comando se le preguntará por la contraseña de la


llave privada.

2.3.3.2 Con plink.

plink.exe -L 8080:sinigan1:8083 -P 8222 -i millave.ppk –pw


passllaveprivada milogin@webservice.sinigan.gov.co

En donde:

- 8080: puerto de escucha que se abrirá en el cliente SSH


- 8222: puerto de escucha del servidor SSH del SINIGAN. Este valor no debe
cambiarse
- millave.ppk: nombre del archivo de llave privada entregado por en
SINIGAN
- passllaveprivada: La contraseña del archivo de llave privada

Al ejecutar alguno de los anteriores comandos, en el computador


ClienteSSH se abre el puerto de escucha TCP 8080, en donde quedarán
expuestos los Webservices del SINIGAN listos para ser consumidos por
los clientes Webservices.

Nota: En caso de tener ocupado en escucha el puerto TCP 8080 puede


reemplazarse con otro valor que se encuentre disponible.

2.4 Comunicación con el SINIGAN usando las librerías SiniganSSH

Como una manera de facilitar la comunicación hacia los servicios del


SINIGAN se proporcionará a los desarrolladores de software unas
8
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

librerías que permiten la creación fácil de los túneles SSH. Estas librerías
se entregan en forma de archivos .DLL (para desarrollo en la
plataforma .NET de Microsoft) o en forma de archivos .JAR (para
desarrollo en la plataforma JAVA).

2.4.1 Uso de la librería para .NET

Para el desarrollo en la plataforma .NET se proporcionarán a los


desarrolladores los siguientes archivos:

- DiffieHellman.dll
- Org.Mentalis.Security.dll
- SiniganSSH.dll
- Tamir.SharpSSH.dll

1. El desarrollador debe crear la correspondiente referencia únicamente


al archivo SiniganSSH.dll (los otros archivos se agregan
automáticamente).

2. Después de crear la referencia, se debe importar la clase:


using SiniganSSH;

3. Se crea una instancia de la clase LPortForward:


private LPortForward portForward = new LPortForward();

4. Se configuran los parámetros de conexión:


portForward.PathLlave = "c:\\path_to\\milogin_id_rsa";
portForward.Usuario = "milogin";
portForward.Password = "passllaveprivada";
portForward.PuertoLocal = 8080;
portForward.PuertoSSH = 8222;
portForward.PuertoWebService = 8083;
portForward.ServidorSSH = "webservice.sinigan.gov.co";
portForward.ServidorWebServices = "sinigan1";

En donde:

PathLlave: String. Ubicación del archivo de llave privada


Usuario: String. Login o nombre de usuario asignado
passllaveprivada: String. Contraseña de la llave privada
PuertoLocal: int. Puerto TCP de escucha que se abrirá en localhost.
Puerto SSH: int. EL servidor SSH escucha en el puerto 8222. No cambiar este valor
PuertoWebservice: int. Valor 8083. No cambiar este valor

9
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

ServidorSSH: String. Dirección del servidor SSH. No cambiar este valor


ServidorWebServices. String. Dirección del servidor de Webservices. No cambiar
este valor

Nota: En caso de tener ocupado en escucha el puerto TCP 8080


puede reemplazarse con otro valor que se encuentre disponible.

5. Ejecutar el método abrirSesion() para establecer el túnel SSH. Se


recomienda envolver esté método en un bloque try… catch, ya que
dicho método puede levantar una excepción de tipo SiniganException
(la cual se encuentra disponible en la librería SiniganSSH)
portForward.abrirSesion();

6. Una vez abierto el túnel se puede realizar las operaciones deseadas


con los clientes Webservices.

7. Una vez ejecutados los servicios es necesario cerrar el túnel para


que los programas puedan finalizar correctamente. Este método no
levanta excepciones:
portForward.cerrarSesion();

La última versión de esta librería se encuentra disponible en


http://uapoyo.sinigan.gov.co/sshsinigan/siniganssh_libnet.zip

2.4.2 Uso de la librería para JAVA

Para el desarrollo en la plataforma JAVA se proporcionarán a los


desarrolladores el archivo SiniganSSH.jar. Esta librería requiere Java1.5
o superior.

1. El desarrollador debe importar la librería o fijar el CLASSPATH de


acuerdo al IDE en el cual desarrolle sus proyectos

2. Después de crear la referencia, se debe importar las clases:


import co.gov.sinigan.exception.SiniganException;
import co.gov.sinigan.ssh.LPortForward;

3. Se crea una instancia de la clase LPortForward:


LPortForward portForward = new LPortForward();

4. Se configuran los parámetros de conexión:


portForward.setPathLlave("/path_to/milogin_id_rsa");
10
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

portForward.setUsuario("milogin");
portForward.setPassword("passllaveprivada");
portForward.setPuertoLocal(8080);
portForward.setPuertoSSH(8222);
portForward.setPuertoWebService(8083);
portForward.setServidorSSH("webservice.sinigan.gov.co")
; portForward.setServidorWebServices("sinigan1");

En donde:

PathLlave: String. Ubicación del archivo de llave privada


Usuario: String. Login o nombre de usuario asignado
passllaveprivada: String. Contraseña de la llave privada
PuertoLocal: int. Puerto TCP de escucha que se abrirá en localhost.
Puerto SSH: int. EL servidor SSH escucha en el puerto 8222. No cambiar este
valor.
PuertoWebservice: int. Valor 8083. No cambiar este valor
ServidorSSH: String. Dirección del servidor SSH. No cambiar este valor
ServidorWebServices. String. Dirección del servidor de Webservices. No cambiar
este valor

Nota: En caso de tener ocupado en escucha el puerto TCP 8080


puede reemplazarse con otro valor que se encuentre disponible.

5. Ejecutar el método abrirSesion() para establecer el túnel SSH. Se


debe envolver esté método en un bloque try… catch, ya que dicho
método puede levantar una excepción de tipo SiniganException.
portForward.abrirSesion();

6. Una vez abierto el túnel se puede realizar las operaciones deseadas


con los clientes Webservices.

7. Una vez ejecutados los servicios es necesario cerrar el túnel para


que los programas puedan finalizar correctamente. Este método no
levanta excepciones:
portForward.cerrarSesion();

La última versión de esta librería se encuentra disponible en


http://uapoyo.sinigan.gov.co/sshsinigan/siniganssh_java.zip

3 ESPECIFICACIÓN DE LOS WEBSERVICES DEL SINIGAN

11
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

3.1 Introducción

Como se mencionó anteriormente el SINIGAN como un sistema de


información abierto, usa un conjunto de protocolos y estándares para
intercambiar datos con otras aplicaciones, llamados Servicios Web
(Webservices).

Los protocolos y estándares empleados son:

- Web Services Protocol Stack: Así se denomina al conjunto de


servicios y protocolos de los servicios Web.
- XML (Extensible Markup Language): Es el formato estándar para
los datos que se vayan a intercambiar.
- SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote
Procedure Call): Protocolos sobre los que se establece el
intercambio.
- WSDL (Web Services Description Language): Es el lenguaje de la
interfaz pública para los servicios Web. Es una descripción basada
en XML de los requisitos funcionales necesarios para establecer
una comunicación con los servicios Web.

3.2 Especificación Web Services para el intercambio de información


con la Industria Cárnica

Para el registro de la información es necesario que el establecimiento


industrial esté registrado en el SINIGAN. Esto le permitirá contar con un
código interno para poder referenciar la información reportada. Dicho
código le será entregado al responsable técnico vía correo electrónico.

3.2.1 Asociación de animales a un lote

En los establecimientos industriales (Frigoríficos) al grupo de animales


que se va a sacrificar para el correspondiente procesamiento, se le
asigna un número de lote con el cual realizan la trazabilidad interna. Para
lograr obtener la asociación de cada uno de los animales asociados al
lote se ha dispuesto el Web Service WSAsociacionDinLote.asmx, el
cual cuenta con la siguiente operación:

- Operación: registrarAsociacionDinLote
- Entradas: Arreglo de objetos AsociacionDinLoteVO

12
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

o CodigoEstablecimiento (int): Código SINIGAN del


establecimiento
o Din (string): Número DIN del animal asociado al lote
o NumeroLote (string): Número del lote asignado por el
establecimiento al grupo de animales
o NumeroInterno (string): Número asignado por el Frigorífico al
animal
o FechaIngresoFrig (string): Fecha del ingreso de los animales al
frigorífico en formato AAAA-MM-DD
- Salida: 1 si la operación fue exitosa y 0 si lo contrario. Si ocurre una
excepción esta le llega directamente al aplicativo que está
consumiendo el Web Service.

- WSDL asociado: WSDL_AsociacionDinLote.txt

3.2.2 Registro de eventos

Para que un establecimiento de la industria cárnica pueda reportar al


SINIGAN los eventos de sacrificio, desposte y salida de productos de
lotes de animales identificados. Se ha dispuesto el Web Service
EventosIndustria.asmx, el cual cuenta con una única operación
detallada a continuación:

- Operación: registrarEventoIndustria
- Entradas: EventoIndustriaCarnicaVO
o CodigoEstablecimiento (int): Código SINIGAN del
establecimiento
o NumeroLote (string): Número del lote asignado por el
establecimiento al grupo de animales y que es reportado en la
operación registrarAsociacionDinLote
o NumeroDIN (strinng): DIN cuando el manejo es por individuo
o TipoOperacion (int): sacrificio (1), desposte (2) y salida de
productos (3)
o FechaOperacion (string): Fecha del evento en formato AAAA-
MM-DD

Los siguientes campos son exclusivos si el tipo de operación es salida de


productos:

13
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

o Comercializadora (string): identifica si el establecimiento a


donde salen los productos son una comercializadora, el valor
puede ser true o false
o EstablecimientoDestino (int): código SINIGAN del
establecimiento destino, es requerido siempre y cuando
Comercializadora sea false
o NombreEstablecimientoDestino (string): nombre del
establecimiento destino, es requerido siempre y cuando
Comercializadora sea true
o NitEstablecimientoDestino (string): nit del establecimiento
destino, es requerido siempre y cuando Comercializadora sea
true
o MedioTransporte (string): identificación del medio de transporte
(Texto descriptivo del medio de transporte, no es obligatorio).
o NumeroPermisoTransporte (string): número de permiso de
transporte (Texto, no es obligatorio)
- Salida: 1 si la operación fue exitosa y 0 si lo contrario. Si ocurre una
excepción esta le llega directamente al aplicativo que está
consumiendo el Web Service.

- WSDL asociado: WSDL_EventosIndustria.txt

3.2.3 Impresión de etiquetas

Con el fin de llevar información de los animales al consumidor final, los


establecimientos deben colocar una etiqueta SINIGAN en cada una de
las postas obtenidas de lotes de animales identificados sacrificados. Para
obtener la información que debe ir en la etiqueta, se ha dispuesto el Web
Service EtiquetaIndustriaCarnica.asmx, el cual cuenta con una única
operación detallada a continuación:

- Operación: ObtenerDatosEstablecimientoInd
- Entradas:
o numLote (string): Número del lote asignado por el
establecimiento al grupo de animales y que es reportado en la
operación registrarAsociacionDinLote
o codigoEstablecimiento (int): Código SINIGAN del
establecimiento
- Salida: EtiquetaIndustriaCarnicaVO, objeto con toda la información
del lote de animales que debe ser impresa en la etiqueta

14
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

- WSDL asociado: WSDL_EtiquetaIndustriaCarnica.txt

3.3 Especificación Web Services para el intercambio de información


con la Industria Láctea

Para el registro de la información es necesario que el establecimiento


industrial esté registrado en el SINIGAN. Esto le permitirá contar con un
código interno para poder referenciar la información reportada. Dicho
código le será entregado al responsable técnico vía correo electrónico.

Se ha dispuesto del Web Service EventosIndustria.asmx para que cada


establecimiento de la industria que reciba leche de explotaciones
ganaderas con animales identificados le reporte al SINIGAN la
información correspondiente a través de las siguientes operaciones:

3.3.1 Obtener la división geopolítica registrada en el SINIGAN

En el SINIGAN se tienen los departamentos, municipios y veredas del


país según el DANE, esta información está relacionada con la ubicación
de la explotación ganadera. Para que el establecimiento industrial
disponga de esta información se dispusieron las siguientes operaciones:

3.3.1.1 obtenerDepartamentos

Permite entregarle al SW Externo el listado de departamentos registrados


en el SINIGAN, esto con el fin de establecer la ubicación geográfica de la
Explotación Ganadera.

- Entradas: N/A
- Salida: ArrayList de objetos DivipolaVO, este tipo de objeto posee la
información de cada uno de los departamentos

3.3.1.2 obtenerMunicipios

Permite entregarle al SW Externo el listado de municipios para un


departamento específico, esto con el fin de establecer la ubicación
geográfica de la Explotación Ganadera.

- Entradas:
o codigoDpto (int): Código SINIGAN de un departamento

15
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

- Salida: ArrayList de objetos DivipolaVO, este tipo de objeto posee la


información de cada uno de los municipios del departamento
enviado por parámetro.

3.3.1.3 obtenerVeredas

Permite entregarle al SW Externo el listado de veredas para un municipio


específico, esto con el fin de establecer la ubicación geográfica de la
Explotación Ganadera.

- Entradas:
o codigoMun (int): Código SINIGAN de un municipio
- Salida: ArrayList de objetos DivipolaVO, este tipo de objeto posee la
información de cada una de las veredas del municipio enviado por
parámetro.

3.3.2 Obtener el código SINIGAN de las explotaciones ganaderas

- Operación: obtenerCodigoExplotacion
- Entradas:
o nombreExplotacion (string): Nombre con el cual está registrada
la explotación ganadera en el SINIGAN
o verExplotacion (int): Código SINIGAN de la vereda donde está
ubicada la explotación ganadera
- Salida: ExplotacionGanaderaVO, objeto con toda la información de
la explotación ganadera para que el establecimiento tome el código
SINIGAN de la misma para el registro de los eventos.

3.3.3 Reporte de las rutas de recolección

- Operación: registroRutaRecoleccion
- Entradas:
o codigoRutaRecoleccion (string): código de la ruta asignado por
el establecimiento industrial
o explotacionesRutaRecoleccion (string): Código SINIGAN de las
explotaciones ganaderas que hacen parte de la ruta separadas
por coma (,)
o codigoEstablecimiento (int): Código SINIGAN del
establecimiento
- Salida: string, cadena con true si el registro fue satisfactorio o false
si lo contrario
16
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

3.3.4 Reporte de ingreso de materia prima al establecimiento industrial


lácteo

- Operación: registroIngresoMateriaPrima
- Entradas:
o fechaIngreso (string): fecha en la cual ingresa la materia prima,
debe estar en el formato AAAA-MM-DD
o codigoRutaRecoleccion (string): código de la ruta de
recolección asignado por el establecimiento y reportada al
SINIGAN.
o codigoEstablecimiento (int): Código SINIGAN del
establecimiento.
- Salida: string, cadena con true si el registro fue satisfactorio o false
si lo contrario

3.3.5 Reporte de la salida de productos del establecimiento industrial

- Operación: registroIngresoMateriaPrima
- Entradas: salidaProductoVO (SalidaProductoVO)
o CodigoEstablecimiento (int): Código SINIGAN del
establecimiento
o NumeroLoteProduccion (string): número del lote de producción
asignado por el establecimiento
o TipoProducto (string): código del tipo de producto
correspondiente al lote
o FechaSalida (string): fecha de la salida de los productos, debe
estar en el formato AAAA-MM-DD
o Comercializadora (string): identifica si el establecimiento a
donde salen los productos son una comercializadora, el valor
puede ser true o false
o EstablecimientoDestino (int): código SINIGAN del
establecimiento destino, es requerido siempre y cuando
Comercializadora sea false
o NombreEstablecimientoDestino (string): nombre del
establecimiento destino, es requerido siempre y cuando
Comercializadora sea true
o NitEstablecimientoDestino (string): nit del establecimiento
destino, es requerido siempre y cuando Comercializadora sea
true
17
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

o MedioTransporte (string): identificación del medio de transporte


(Texto descriptivo del medio de transporte, no es obligatorio).
o NumeroPermisoTransporte (string): número de permiso de
transporte (Texto, no es obligatorio)
- Salida: string, cadena con true si el registro fue satisfactorio o false
si lo contrario

3.3.6 WSDL asociado a las operaciones de interacción con la


Industria Láctea y el SINIGAN

- WSDL_RegistroEventos_Ind_Lactea.txt

3.4 Especificación Web Services para el intercambio de información


con los SW Externos

Los SW Externos son aquellos programas de administración de hatos


que en medio de sus registros almacenan la información de algunos
eventos de interés del SINIGAN, por lo cual se implemento un Web
Service, con el conjunto de operaciones que se menciona a continuación
y que permite interactuar en doble vía con estas aplicaciones.

Una vez el proveedor ha hecho el trámite correspondiente para la


participación en el SINIGAN, se enviará vía correo electrónico un usuario
y el código del mismo para el reporte de eventos en forma satisfactoria.

3.4.1 Operaciones para el suministro información de referencia del


SINIGAN a los SW Externos

3.4.1.1 obtenerCodigoSiniganExplotacion

Permite entregarle al SW Externo el código de la explotación ganadera


donde están los animales a los cuales se les registro información de los
eventos de interés.

- Entradas:
o nombreExplotacion (string): Nombre con el cual está registrada
la explotación ganadera en el SINIGAN
o verExplotacion (int): Código SINIGAN de la vereda donde está
ubicada la explotación ganadera.

18
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

- Salida: ExplotacionGanaderaVO, objeto con toda la información de


la explotación ganadera para que el SW externo tome el código
SINIGAN de la misma para los registros de los eventos. Los
atributos del objeto son:
o codigoSinigan (int): Código SINIGAN de la explotación
ganadera solicitada.
o nombreExplotacion (string): Nombre con el cual está registrada
la explotación ganadera en el SINIGAN.
o activoSinigan (int): 1 si la explotación ganadera está activa ente
el SINIGAN 0 sino lo está. En caso dado que la explotación no
esté activa. No se puede permitir registrar ningún evento.

3.4.1.2 obtenerDepartamentos

Permite entregarle al SW Externo el listado de departamentos registrados


en el SINIGAN, esto con el fin de establecer la ubicación geográfica de la
Explotación Ganadera.

- Entradas: N/A
- Salida: ArrayList de objetos DivipolaVO, este tipo de objeto posee la
información de cada uno de los departamentos. Los atributos del
objeto son:

o codigo (int): Código SINIGAN del departamento.


o codigoPadre (int): Código SINIGAN del padre, en este caso se
retorna 0 sobre este campo porque no hay padre relacionado.
o Nombre (string): Nombre del departamento
o codigoLegal (string): Código DANE del departamento
o estado (int): 1 si el departamento está activo, 0 si lo contrario.

3.4.1.3 obtenerMunicipios

Permite entregarle al SW Externo el listado de municipios para un


departamento específico, esto con el fin de establecer la ubicación
geográfica de la Explotación Ganadera.

- Entradas:
o codigoDpto (int): Código SINIGAN de un departamento
- Salida: ArrayList de objetos DivipolaVO, este tipo de objeto posee la
información de cada uno de los municipios del departamento
enviado por parámetro. Los atributos del objeto son:
19
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

o codigo (int): Código SINIGAN del municipio.


o codigoPadre (int): Código SINIGAN del padre, código del
departamento enviado.
o Nombre (string): Nombre del municipio.
o codigoLegal (string): Código DANE del municipio
o estado (int): 1 si el municipio está activo, 0 si lo contrario.

3.4.1.4 obtenerVeredas

Permite entregarle al SW Externo el listado de veredas para un municipio


específico, esto con el fin de establecer la ubicación geográfica de la
Explotación Ganadera.

- Entradas:
o codigoMun (int): Código SINIGAN de un municipio
- Salida: ArrayList de objetos DivipolaVO, este tipo de objeto posee la
información de cada una de las veredas del municipio enviado por
parámetro. Los atributos del objeto son:
o codigo (int): Código SINIGAN de la vereda.
o codigoPadre (int): Código SINIGAN del padre, código del
municipio enviado.
o Nombre (string): Nombre de la vereda.
o codigoLegal (string): Código DANE de la vereda
o estado (int): 1 si la vereda está activa, 0 si lo contrario.

3.4.1.5 obtenerDatosTablasRef

Permite entregarle al SW Externo los datos de una tabla de referencia


específica para disponer de la información requerida para el registro de
un evento. Por ejemplo el listado de Tipos de Tratamientos necesarios
para registrar un Tratamiento aplicado a un animal.

- Entradas
o nombreTabla (string): Nombre de la tabla de referencia de la
cual se desean obtener datos. Los valores válidos son:
 CATEGORIA_MED
 FORMA_FARM
 TIPO_TRAT
 CAUSAL_MUER

20
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

- Salida: ArrayList de objetos DatoReferenciaVO, este tipo de objeto


posee los datos de código, nombre, descripción y estado. Tener
presente que solo se deben presentar en el SW Externo los datos
de referencia que estén estado activo (1). Los atributos del objeto
son:
o codigo (int): Código SINIGAN del dato de referencia solicitado.
o nombre (string): Nombre del dato de referencia.
o descripcion (string): Descripción del dato de referencia.
o estado (int): 1 si el registro está activo, 0 si lo contrario

3.4.1.6 obtenerMedicamentos

Permite entregarle al SW Externo los medicamentos registrados por el


ICA en el SINIGAN, como información oficial para el registro de los
tratamientos aplicados a los animales en las Explotaciones Ganaderas.

- Entradas: N/A
- Salida: ArrayList de objetos MedicamentoVO, este tipo de objeto
posee los datos de los medicamentos oficiales. Los atributos del
objeto son:
o codigo (int): Código SINIGAN del medicamento.
o nombre (string): Nombre del medicamento.
o registroICA (string): Número de registro del medicamento ante
el ICA.
o tiempoRetiro (int): Días en los cuales el medicamento está
vigente.
o principioActivo (string): Principio activo que actúa en el
medicamento.
o categoriaMedicamento (int): Código SINIGAN de la categoría a
la cual pertenece el medicamento, datos de referencia de la
tabla: SG_CATEGORIA_MEDICAMENTO
o estado (int): 1 si el registro está activo, 0 si lo contrario

3.4.2 Operaciones para el reporte de información de eventos de los SW


Externos al SINIGAN

3.4.2.1 validarDin

21
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN

Permite que el SW Externo pueda validar si el DIN del animal al cual se


le va a aplicar el tratamiento se encuentra ubicado en la Explotación
Ganadera origen del mismo.

- Entradas:
o din (string): DIN del animal, 13 dígitos, incluye dígito de
chequeo. Ej: 0100000629491
o codigoSiniganExpl (int): Código SINIGAN de la Explotación
Ganadera en donde le sucedieron los eventos al animal
- Salida: string, cadena con true si el animal se encuentra ubicado en
la explotación o false si lo contrario.

3.4.2.2 registrarTratamiento

Permite que el SW Externo pueda enviar al SINIGAN un evento de un


tratamiento aplicado a un animal identificado.

- Entradas:
o tratamiento (TratamientoVO):
 codigoMedicamento (int): Código SINIGAN del
medicamento seleccionado del listado entregado por el
método obtenerMedicamentos.
 codigoTipoTratamiento (int): Código SINIGAN del tipo
de tratamiento seleccionado.
 codigoFormaFarmac (int): Código SINIGAN de la forma
farmaceutica seleccionada.
 fechaAplicacion (DateTime): Fecha de la aplicación del
tratamiento, en formato yyyy-mm-dd.
 loteMedicamento (string): Lote del medicamento
aplicado en el tratamiento.
 concentración (double): Cantidad de concentración del
medicamento aplicado.
 laboratorio (string): Nombre del laboratorio que fabricó
el medicamento.
 din (string): DIN del animal, 13 dígitos, incluye dígito de
chequeo. Ej: 0100000629491 al cual se le aplicó el
tratamiento.
 codigoAnimal (int): Este campo no se tiene en cuenta.
 estadoTratamiento (int): se debe enviar siempre 1, que
es activo.

22
Ministerio de Agricultura y Desarrollo Rural
República de Colombia

Estándar de intercambio de información


Enero 5 de 2010
con el SINIGAN


codigoUsuario (int): Código del usuario representante
del SW Externo ante el SINIGAN.
- Salida: string, cadena con true si el registro fue satisfactorio o false
si lo contrario.

3.4.2.3 registrarMuerte

Permite que el SW Externo pueda enviar al SINIGAN el evento de la


muerte de un animal identificado en la Explotación Ganadera.

- Entradas:
o muerte (MuerteVO):
 codigoEstablecimiento (int): Código SINIGAN de la
explotación ganadera donde murió el animal.
 codigoUsuarioRep (int): Código del usuario
representante del SW Externo ante el SINIGAN.
 codigoCausaMuerte (int): Código SINIGAN de la causa
de la muerte seleccionada.
 din (string): DIN del animal, 13 dígitos, incluye dígito de
chequeo. Ej: 0100000629491 al cual se le aplicó el
tratamiento.
 codigoAnimal (int): Este campo no se tiene en cuenta.
 fechaMuerte (DateTime): Fecha de la muerte del
animal, en formato yyyy-mm-dd.
 estadoMuerte (int): se debe enviar siempre 1, que es
activo.
 fechaRegistro (DateTime): Fecha del registro del
evento, en formato yyyy-mm-dd.
- Salida: string, cadena con true si el registro fue satisfactorio o false
si lo contrario.

3.4.3 WSDL asociado a las operaciones de interacción con los SW


Externos y el SINIGAN

- WSDL_RegistroEventos_SW_Externos.txt

23

También podría gustarte