Paquete de intercambio de datos

De wiki.bireme.org/es
Saltar a: navegación, buscar

Con el fin de llevar a cabo algún tipo de cooperación o intercambio de servicios, ya sea en el tratamiento o uso de la información, como en el caso de BIREME y SciELO, un intercambio seguro de datos debe ser abordado, lo que resulta en un paqute de intercambio de datos.

Como la experiencia ha demostrado que el simple uso del FTP (protocolo y herramienta) no garantiza que los datos tiene la calidad deseada después de su viaje por los medios de comunicación, a veces sería mejor para continuar o completar ciertos procesos con un conjunto de datos no actualizados, pero no corruptos.


Objetivos

  • Facilitar la independencia de la intervención humana en el intercambio de datos entre BIREME, SciELO
  • Asegúrese de que el intercambio de datos libre de errores
  • Proporcionar el suministro de datos, incluso en ausencia de la conectividad
  • Definir un protocolo para el intercambio de datos entre las entidades

Recursos y Tecnologías Requeridos

  • Con conexión a Internet para consultar la URL http://homolog.webservices.scielo.org/scieloorg/_design/couchdb/_view/network, informar sobre casos SciELO y sus status;
  • Servidor de FTP propio para cada una da las instituciones (SciELO y BIREME);
  • Espacio en disco en los servidores de 100G bytes por lo menos;
  • Sistema Operativo Linux (bash shell versión 3 o superior);
    • Conjunto Mínimo de paquetes: tar, gzip, md5sum, CISIS *; python (con módulo JSON).
* las utilidades CISIS de "gusto" que parece necesario en "camino" en el directorio de la máquina

Delimitaciones Generales

  • Operación Humana o automática (por crontab)
  • Enviar y recibir en rutinas separadas (formando un paquete)
  • Archivos de configuración (como texto sin formato)
  • Posibilidad de utilizar arguments de llamada
  • Autoajuste de operación mediante la detección del medio ambiente (añadir / borrar carpetas de datos)

Normas aplicables

Aplicar las normas de desarrollo interno de shell-scripts, proporcionar llamadas al mecanismo de log (source log o . log) e interrupción del flujo de ejecución por error / fallo, y estandarizados en el archivo de la cabecera del template en el directorio de shell existente en el camino /usr/local/BIREME/misc

Aplicabilidad

Este paquete puede ser utilizado en dos situaciones de intercambio de datos de la siguiente manera:

  1. Los datos los intercambios entre BIREME y SciELO;
  2. SciELO intercambio de datos entre su red y sus componentes.

Para ello acaba de hacer ajustes en el archivo de configuración mencionados anteriormente.

En la actualidad se emplea para hacer parte de Envia2Medline.bat se describe aquí y será reemplazado por envia2ORG.sh, que formará parte del paquete de distribución.

Descripción del Protocolo Básico

El protocolo para enviar y recibir paquetes de datos llevando a cabo tiene por objeto garantizar la entrega de los datos del emisor al receptor, de modo que si alguna avería en el proceso, y es posible detectarlo, el último paquete de datos enviado con éxito será entregado en el lugar de la actual, lo que garantiza el funcionamiento de los procesos que incluyen la recepción de datos por el uso de este protocolo.

Para ello una secuencia de acciones se deben realizar en cada lado del medio de transmisión. Estas son las tareas del remitente:

  1. Comprueba si el directorio de destino existe;
    1. Si hay que crearlo;
  2. Comprueba si el directorio de destino en el tráfico "en uso" está activa;
    1. Si lo es, para la prueba de esta condición "X" (configurable) veces;
      1. Si usted todavía está "en uso", finaliza la ejecución de la salida de errores;
  3. Eliminar (si existe) el semáforo "DATA READY";
  4. Para cada elemento de la "Lista de envío" generar un MD5;
  5. Paquete de los componentes de la lista de correo con archivos MD5 generado en un archivo comprimido tar-ball (tgz);
  6. Escriba el comprimido tar-ball en el directorio del servidor FTP;
  7. Encienda las luces "DATA READY";
  8. Fin de la presentación del trabajo.

Estas son las tareas del receptor:

  1. Se comprueba que el directorio existe espera para recibir los datos (reportado por el llamado de parámetros);
    1. Si no finaliza la ejecución de la salida de errores;
  2. Comprueba si hay luz "DATA-READY" directorio activo
    1. Si no, prueba de esta condición de "Y" (configurable) veces;
      1. Si no hay fines de continuar la ejecución con la salida de error;
  3. Encienda las luces "en uso"
  4. Elimina la bandera "DATA READY" (no implementado por tener dos receptores de datos);
  5. Le comprimido tar-ball disponibles en el directorio;
  6. Después de leer el archivo comprimido tar-ball, la eliminación del tráfico "en uso";
  7. Descomprimir y abrir la tar-ball;
  8. Prueba el MD5 de cada componente recibido;
    1. Los que han resultado bien deben ser enviados al servidor de ftp en el subdirectorio específico en el búfer de datos;
    2. Las personas con resultado Nok deben ser eliminadas y, en lugar de en el subdirectorio correspondiente en el buffer de datos en el servidor de ftp.

Interfaz del usuario

Cómo llamar a las opciones de línea de comandos y se puede utilizar en los llamados parámetros de los dos el envío y recepción de datos, como se muestra en la siguiente sintaxis:

Envío de datos

 envia2.sh [[-h|--help]|[-v|--version]|[-c archivo_config]] <Sigla3_SciELO> <arquivo_controle>

envia2.sh: shell script que realiza todas las tareas de envío de paquetes de datos y el cálculo de MD5 y embalaje archivo comprimido tar

opciones:
 -h | --help    - pantalla de ayuda para utilizar el comando
 -V | --version - versión con pantalla de ejecución de la consulta, la fecha y responsable
 -c <archivo>   - se aplica el archivo de configuración en vez de los del archivo por defecto (vaivem.conf)

parámetros:
 Sigla3_SciELO    - (obligatorio) uno de los muchos acrónimos de tres letras que identifican los casos SciELO
                    (scl = Brasil; spa = Salud Pública; sss = Ciencias Sociales; SZA = Sudáfrica, ...)
 arquivo_controle - (obligatorio) archivo de texto con los nombres de los archivos a ser enviados, uno por línea

Recepción de datos

 recebf.sh [[-h|--help]|[-v|--version]|[-c archivo_config]] <Sigla3_SciELO>

recebf.sh: shell script que realiza todas las tareas de recibir el paquete de datos, abra el paquete y desempaquetar el archivo tar más la conferencia MD5

opciones:
 -h | --help    - pantalla de ayuda para utilizar el comando
 -V | --version - versión con pantalla de ejecución de la consulta, la fecha y responsable
 -c <archivo>   - se aplica el archivo de configuración en vez de los del archivo por defecto (vaivem.conf)

parámetros:
 Sigla3_SciELO - (obligatorio) uno de los muchos acrónimos de tres letras que identifican los casos SciELO
                 (scl = Brasil; spa = Salud Pública; sss = Ciencias Sociales; SZA = Sudáfrica, ...)

Plan de Desarrollo

El desarrollo de un par de rutinas se dividen en tres pasos:

  • Paso 1 - Enviar comando de datos;
  • Paso 2 - Recibe comando de datos;
  • Paso 3 - Actividades adicionales.

Paso 1 - Enviar comando de datos

El desarrollo de la orden de enviar los datos tiene tres (3) fases (cada uno con su batería de pruebas funcionales):

  • Fase 1 - la aplicación de las funciones auxiliares;
  • Fase 2 - embalaje núcleo básico;
  • Fase 3 - La automatización de la transmisión.

Fase 1 - Implementación de las funciones auxiliares

Aquí se llevaron a cabo funciones de interpretación de las opciones, o el uso de un archivo de configuración que no sea el estándar por defecto (vaivem.conf), que muestra el uso del comando de ayuda, además de la versión del reproductor.

Fase 2 - Embalaje Núcleo Básico

Esta fase es la interpretación de la llamada dos parámetros (Lista de archivos de control "arquivo_controle ') indica que las piezas de datos a enviar, las pruebas de la disponibilidad de piezas, calcula el MD5 de cada uno, empaquetar y comprimir el conjunto de datos .

Fase 3 - Presentación de automatización

Durante esta fase se incluye la interpretación de los parámetros (a) de la llamada (el objetivo instancia) de conexión FTP, enviar el paquete de datos, y garantiza la ubicación en el servidor.

Estado actual

El 29 de junio de 2011 da como finalizado el desarrollo de las rutinas para el envío de datos a través de la prueba de conjunto con las rutinas de su recepción.

(El 20 de junio de 2011 da como finalizado el desarrollo de las rutinas relacionadas con el envío de datos, dejando pendiente la finalización del desarrollo de rutinas para empezar a recibir grandes pruebas funcionales (prueba de esfuerzo).)

Paso 2 - Recibe comando de datos

El desarrollo de la orden de enviar los datos con cinco (5) fases (cada uno con su batería de pruebas funcionales):

  • Fase 1 - La interpretación de las opciones;
  • Fase 2 - la definición de caso;
  • Fase 3 - recepción de los paquetes;
  • Fase 4 - descomprimir los datos;
  • Etapa 5 - la activación de los datos de reserva y las señales de salida.

Fase 1 - Opciones de Interpretación

Aquí se llevaron a cabo (para jugar el paquete de envío, ya que las diferencias de vencimiento) de la capacidad de interpretación de las opciones, es decir, el uso de un archivo de configuración que no sea el estándar por defecto (vaivem.conf), que muestra el uso del comando de ayuda además de la versión del reproductor.

Fase 2 - Instancia de alcance

Esta fase es la interpretación de los parámetros de la llamada (Sigla3_SciELO) que limita la recepción de paquetes de datos en la llamada instancia especificada.

Fase 3 - Paquetes de recepción

Durante esta fase se incluye la recepción de la instancia del paquete que se estime adeudada en la Fase 2. Todos los signos y el tratamiento de los semáforos se contempla aquí.

Fase 4 - Desembalaje de datos

En esta etapa se comprueba siempre con éxito de descompresión de datos, conferencias código MD5 y se compara con los datos de la última serie ha recibido correctamente.

Fase 5 - La activación de los datos de la Reserva y la salida de señalización

De acuerdo a fase 4 para determinar el paquete de datos como válidos, se guardan en la reserva y el código de retorno correcto es siempre. Si en el otro lado Paso 4 determina el paquete de datos como no válida la reserva se tendrá que el último set y grabado con un código de retorno de error es siempre.

Estado actual

El 29 de junio de 2011 da como finalizado el desarrollo de la recepción de la rutina y la batería de pruebas realizadas en conjunto con las rutinas de envío de datos.

(El 21 de junio 2011 se inicia el desarrollo de rutinas para la recepción de datos para las pruebas posteriores de pruebas funcionales modulares y de masas, junto con las rutinas de envío).

Paso 3 - Actividades Complementarias

El desarrollo de actividades complementarias (las llamadas de montaje pre-configurado, la documentación adicional, empaque, ensayo general de "objetivo" de las máquinas, etc) dio lugar a las siguientes convocatorias de uso final:

  • bir2sci.sh - los datos del remitente en orden BIREME -> SciELO
  • envia2ORG.sh - sustitución de la actual Envia2Medline.bat
  • envia2.sh - emisor de los datos genéricos configurado por defecto para el sentido SciELO -> Red
  • recebf.sh - receptor de donante genéricos
  • seguro.sh - archivo Encoder contraseña
  • segura.sh - decodificar el archivo de contraseñas para bases de datos CDS-ISIS (para verificar)

También dio lugar a README.1st documento que describe los componentes técnicos de los datos del paquete de cambio a través de FTP, y, finalmente, el archivo comprimido tar-ball tr_x.tgz que contiene todas las piezas y componentes necesarios para implementar el paquete.

Implementación y configuración

Las declaraciones aquí contenidas son mínimos y no están destinados a sustituir a un manual técnico para el paquete, sino que sirva como una guía para colocar el paquete en su uso.

Ejecución

Al tomar la tar-ball (tr_x.tgz) de este paquete debe ser abierto y sus componentes deben ser transferidos al directorio de uso, de acuerdo con las rutinas practicadas en la Operação de Fontes de Informação, por lo general , un tpl.xxx. En principio, todos los componentes deben estar en el mismo directorio y no puede (sin personalización de shell-scripts) ser separados en diferentes directorios.

La única operación a realizar que se asemeja a una instalación (también se refirió a la copia) es recrear un Master-File (M/F) de la base de datos gizmo llamada gunians que si debe llevar a cabo con el utilitario de CISIS 'id2i' como se muestra en el siguiente comando (suponiendo que las utilidades CISIS están en el path de funcionamiento):

id2i gunians.id create=gunians

Configuración

La configuración del paquete es simple y se basa en un archivo de texto plano (archivo texto sin formateo), siguiendo el estilo del archivo de configuración utilizado en Apache, donde tenemos una declaración asociada con un valor a traves de un signo igual (=). Los comentarios pueden penetrar el archivo como una forma de documentación, si lo desea, pero no son necesarios, así como las declaraciones de ellos mismos son opcionales asumiendo, en caso de ausencia un valor default ​​programado previamente en guiones del intérprete.

Terminos para uso en un archivo de configuración (case-sensitive)
Termino Explicación Valor por defecto Límites / Ámbito de aplicación
PY Permite el uso de lescielos.py (más rápido) (No declarado) TRUE o no declarada
HOSTSERVER Identificación del servidor de la ejecución de comandos SciELO BIREME / SciELO / NETWORK
TXTIMO Número máximo de intentos de controlar el canal de transmisión 31 Valor entero mayor que cero
RXTIMO Número máximo de intentos de lectura data-ready en el canal de recepción 6 Valor entero mayor que cero
TXSERVER URL del servidor FTP utiliza en el canal de transmisión ftp.scielo.br Qqr válida URL FTP
RXSERVER URL del servidor FTP utiliza para recibir los canales ftp.scielo.br Cualquier URL FTP válida
TXUSER Username para conectar con el servidor FTP de envío usr.bireme Cualquier nombre de usuario válido
TXPASS Password del usuario del servidor FTP de envío 123deoliveira4 Cualquier contraseña válida
RXUSER Username para conectar con el servidor FTP de recepcíon joao.silva Cualquier nombre de usuario válido
RXPASS Password del usuario del servidor FTP de recepción b!r3n3 Cualquier contraseña válida
USER Username para conectar con el servidor FTP (transmisión y recepción) jane.doe Cualquier nombre de usuario válido
PASS Password del usuario del servidor FTP (transmisión y recepción) #s3nh@f0rt3! Cualquier contraseña válida

Contenidas en el paquete estan ocho (8) archivos de configuración, identificados por la etensión .conf (no obligatoria) que pueden / deben ser tomados como ejemplos para crear otros archivos de configuración, utilice el paquete el intercambio de datos a través de FTP.

A continuación se muestra el contenido del fichero de configuración vaivem.conf que el archivo se supone que en ausencia de indicación específica, mediante el uso de la option -c en la convocatoria la shell-script de envió o recepción de datos:

# Categoría de servidores que sirve el intercambio de datos (TX o RX)
HOSTSERVER = SciELO

# Tentativas para tratar de enviar a "canal" ocupado
TXTIMO = 31

# Tentativas para la recepción en un intento de "canal" no está disponible
RXTIMO = 6

# La dirección del servidor FTP que se utilizará
TXSERVER = ftp.scielo.br
RXSERVER = ftp.scielo.br

Conclusión

Al final del ciclo de desarrollo se enviará un correo electrónico a "lista de OFI" la ciencia de dar cumplimiento de las tareas y los primeros años de vida del desarrollo de productos para su inclusión en el control de versiones sistemática de la institución.