Paquete de intercambio de datos
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.
Contenido
- 1 Objetivos
- 2 Recursos y Tecnologías Requeridos
- 3 Delimitaciones Generales
- 4 Normas aplicables
- 5 Aplicabilidad
- 6 Descripción del Protocolo Básico
- 7 Interfaz del usuario
- 8 Plan de Desarrollo
- 9 Implementación y configuración
- 10 Conclusión
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:
- Los datos los intercambios entre BIREME y SciELO;
- 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:
- Comprueba si el directorio de destino existe;
- Si hay que crearlo;
- Comprueba si el directorio de destino en el tráfico "en uso" está activa;
- Si lo es, para la prueba de esta condición "X" (configurable) veces;
- Si usted todavía está "en uso", finaliza la ejecución de la salida de errores;
- Si lo es, para la prueba de esta condición "X" (configurable) veces;
- Eliminar (si existe) el semáforo "DATA READY";
- Para cada elemento de la "Lista de envío" generar un MD5;
- Paquete de los componentes de la lista de correo con archivos MD5 generado en un archivo comprimido tar-ball (tgz);
- Escriba el comprimido tar-ball en el directorio del servidor FTP;
- Encienda las luces "DATA READY";
- Fin de la presentación del trabajo.
Estas son las tareas del receptor:
- Se comprueba que el directorio existe espera para recibir los datos (reportado por el llamado de parámetros);
- Si no finaliza la ejecución de la salida de errores;
- Comprueba si hay luz "DATA-READY" directorio activo
- Si no, prueba de esta condición de "Y" (configurable) veces;
- Si no hay fines de continuar la ejecución con la salida de error;
- Si no, prueba de esta condición de "Y" (configurable) veces;
- Encienda las luces "en uso"
- Elimina la bandera "DATA READY" (no implementado por tener dos receptores de datos);
- Le comprimido tar-ball disponibles en el directorio;
- Después de leer el archivo comprimido tar-ball, la eliminación del tráfico "en uso";
- Descomprimir y abrir la tar-ball;
- Prueba el MD5 de cada componente recibido;
- Los que han resultado bien deben ser enviados al servidor de ftp en el subdirectorio específico en el búfer de datos;
- 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.
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.