Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Âncora
_GoBack
_GoBack
Image RemovedNapse Director




Image Added



DIRECTOR - Manual de Integración 1.1.X


Manual de

...

Integración Director Server – Agent

...




Painel
borderColor#E4E3E3
bgColor#ffffff
titleColor#ffffff
borderWidth1px
titleBGColor#704581
titleREVISIONES


Expandir
titleExpandir revisiones


Fecha

Versión

Cambios – Motivo

 

1.0.0

Creación del documento

 

1.1.0Cambio en sentido de mensajes UPDATE e INSTALL

...




Painel
borderColor#E4E3E3
titleColor#ffffff
borderWidth1
titleBGColor#704581
titleCONTENIDO


Expandir
titleExpandir contenido
Índice
styledist



1. Introducción

1.1 Acerca de este documento

...

CampoDescripción

company.id

Id de la compañía, configurada en Director Server.

store.id

Id de la tienda, configurada en Director Server.

terminal.id

Id de la terminal, configurada en Director Server.

device.type

Categoría o tipo de la terminal, configurada en Director Server.

advserver.url

Direccion URL base (de la forma https//ip:port/) del Director Server

advserver.status.path

Path relativo al URL base de Director Server, donde el Agente informa status

advserver.polling.seconds

Período en segundos en que el Agente informa estatus al Director Server

product.code

Código del Producto STS, configurado en Director Server.

product.description

Descripción del Producto STS, configurado en Director Server.

product.version

Versión del Producto STS, configurado en Director Server.

repository.local.path

Directorio local donde almacenar las actualizaciones descargadas del repositorio

application.base.path

Directorio de la Solución STS

application.backup.path

Directorio para resguasdar la Solución previo una acatualización

application.command.start

Shell script con los comandos necesarios para iniciar la Solución

application.command.status

Shell script con los comandos para solicitar estado a la Solución

application.command.stop

Shell script con los comandos para detener la Solución

application.status.running.text

Texto a buscar por Agente en el comand.status para tomar como app en ejecución

application.extended.info.command

Shell script para que las aplicaciones informen datos adicionales

application.extended.info.resultfile

Archivo de texto con informacion adicional a informar en el envió de status

cancel.install.if.app.running

Flag que con valor 'true' cancela la instalación si la Solución está en ejecución

application.start.on.agent.start

Flag que con valor 'true' indica iniciar la Solucíon al inicar el Agente

application.start.after.install

Flag que con valor 'true' indica iniciar la Solucíon luego de instalacióninstalaciónapplication.start.after.install

sql.server

Direccion ip del servidor de BD Sql

sql.port

Port del servidor de BD Sql

sql.db

Nombre de la BD Sql

sql.user

Usuario de la BD

sql.pass

Contraseña de la BD (Base 64 del TDES generado con herramienta CipherUtil )

sql.bkp.dir

Directorio del backup de la BD (directorio local del server donde reside la BD)

sql.db.type

Tipo de servidor Sql: 'oracle' o 'mssql'

sql.oracle.bin.dir

Directorio de binarios de la instalacíon BD Oracle, donde reside la herramienta 'rman'

sql.oracle.temp.dir

Directorio temporal requerido para la ejecución de la herramienta 'rman'

scripts.subFolder

Es el path relativo a la carpeta scripts en donde van a estar los scripts a ejecutar.
Ejemplos: Mssql, Oracle, Mssql-demo, Oracle-prod, .

...

Bloco de código
languageyml
themeRDark
#codigo identificador de compañia
company.id=$(company)

#codigo identificador de tienda
store.id=$(store)

#codigo identificador de terminal
terminal.id=$(terminal)

#tipo de dispositivo - uso futuro
device.type=$(device)

#URL (ej: http://ip:puerto) donde escucha director server
advserver.url=$(url)
advserver.status.path=director/agent/status

#cada cuantos tiempo (en segundos) se envia un mensaje de status (minimo permitido 60)
advserver.polling.seconds=360

#en caso de error al enviar status, reintenta en este porcentaje de tiempo (en porcentaje)
advserver.polling.retrytime.percentage=20

#codigo de producto que gobierna este agente
product.code=$(product)

#descripcion del producto - solo a modo informativo
product.description=$(product.description)

#version del producto
product.version=$(version)

#directorio local donde se descargaran las actualizaciones de GIT
repository.local.path=$(local.path)

#directorio base de la aplicacion
application.base.path=$(base.path)

#directorio donde se realiza el backup
application.backup.path=$(backup.path)

#carpeta relativa en scripts. Sirve para manejar diferentes configuraciones para el mismo producto.
scripts.subFolder=$(scripts.subFolder)

#comando que inicia la aplicacion
application.command.start=$(cmd.start)

#comando que permite obtener el estado de la aplicacion. Este comando se ejecuta cada advserver.polling.seconds segundos
application.command.status=$(cmd.status)

#texto que se busca en la salida de la ejecucion del comando STATUS
application.status.running.text=successful,running

#comando que se ejecuta para obtener informacion extendida y enviarla al director server
application.extended.info.command=$(cmd.info)

#archivo de propiedades que se espera como salida de la ejecucion del comando indicado por 'application.extended.info.command'
application.extended.info.resultfile=$(cmd.info.result)

#comando que permite detener la aplicacion
application.command.stop=$(cmd.stop)

#indica si se debe cancelar la instalacion cuando la aplicacion esta corriendo
cancel.install.if.app.running=$(cancelIfRunningApp)

#indica si al iniciar el agente, se debe iniciar la aplicacion
application.start.on.agent.start=$(appStartOnAgentStart)

#indica si se debe iniciar la aplicacion luego de realizar una instalacion/actualizacion
application.start.after.install=$(appStartAfterInstall)


Nota

Nota:

  • las propiedades a reemplazar son las que están entre $(….)


En caso de que la aplicación utilice base de datos y sea requerido que el agente haga backup y/o realice actualización, se deberá adicionar la siguiente configuración:

...

 
ColecciónCampoDescripción


 

companyId

Id de la compañía del retail. Se carga por configuración


 

listeningPort

Puerto de la terminal donde se encuentra el Agente. Se carga por configuración


 

date

Fecha y hora de envío. Formato aaaammddHHmmssSUTC, donde S es el símbolo positivo o negativo y UTC es el huso horario en formato hhmm 


deviceType

Categoría de la terminal. Se carga por configuración 


terminalId

Terminal de la tienda de la compañía del retail. Se carga por configuración


 

storeId

Id de la tienda de la compañía del retail. Se carga por configuración 


host

Nombre de la terminal donde se encuentra el Agente 


ip

IP de la terminal donde se encuentra el Agente


agentVersionIndica la versión de software del agente


token

Un token que luego Director Server usará para enviar los comandos hacia el agente.
Sirve principalmente como medida adicional de seguridad.
Se aconseja renovar el token cada X cantidad de tiempo (12hs por ejemplo) o cada X cantidad de mensajes.


 

tokenExp

Fecha y hora de expiración del token. Formato aaaammddHHmmssSUTC, donde S es el símbolo positivo o negativo y UTC es el huso horario en formato hhmm

product

status

Informa el estado de Agente. Ver tabla


 

detail

Mensaje adicional y detallado de la tarea


 

appIsRunning

Informa si el Producto STS está en funcionamiento o está detenido. Valores posibles: true/false. El chequeo es según el Producto STS. Ejemplo, chequeo de puerto, control de proceso en ejecución, etc


 

taskUUID

Identificador de la tarea enviado por Director Server.
Solo se envía cuando el mensaje de status representa el estado de ejecución de una tarea, en ese caso se debe utilizar el taskUUID que el Director Server envió originalmente.


 

taskStatus

Informa el código del estado de la tarea. Ver tabla 


task

Código de la tarea. Ver tabla


 

version

Versión del Producto STS. Si no se efectúo previamente una instalación se envía 0 


code

Código del Producto STS. Se carga por configuración 


description

Descripción del Producto STS. Se carga por configuración 


isAlivePort

Chequeo del puerto para POS. Se encuentra en desuso


 

lastInstall

Fecha y hora de la última instalación del Producto STS. Formato aaaammddHHmmssSUTC, donde S es el símbolo positivo o negativo y UTC es el huso horario en formato hhmm. En caso de que nunca se haya instalado una versión, se envía el formato estándar 19700101


 

lastUpdate

Fecha y hora de la última sincronización del Producto STS. Formato aaaammddHHmmssSUTC, donde S es el símbolo positivo o negativo y UTC es el huso horario en formato hhmm. En caso de que nunca se haya sincronizado una versión, se envía el formato estándar 19700101


 

synchronizedVersion

Informa la última versión sincronizada del Producto STS


 

free memory

Memoria libre (en Bytes) en la terminal, reportada por la JVM Oracle

info

measureunit

Unidad de medida que se informan los valores. Por defecto en Bytes


 

free disk

Disco libre (en Bytes) en la terminal, de la unidad donde se ejecuta el agente 


total memory

Capacidad total de memoria (en Bytes) en la terminal, reportada por la JVM Oracle 


total disk

Capacidad total del disco (en Bytes) en la terminal, de la unidad donde se ejecuta el agente


 

java.version

Versión de Java RuntimeEnvironment 


java.vendor

Proveedor de Java RuntimeEnvironment 


java.arch

Tamaño de la plataforma 


os.name

Nombre del sistema operativo


 

os.version

Versión del sistema operativo


 

os.arch

Arquitectura del sistema operativo


 

Otros valores del tipo "clave-valor"

Estos valores serán procesados por director server e incluidos como información adicional de la terminal.

Las claves aquí utilizadas deberán ser dadas de alta en la BBDD de Director para poder mostrarlas correctamente en la consola de monitoreo.

La "clave" debe seguir el siguiente formato.

IdGrupo.NombrePropiedad donde

IdGrupo permite agrupar las propiedades según algun criterio de agrupación (hardware, sistema, etc)
NombrePropiedad es el nombre de la propiedad que se quiere visualizar

Ejemplo:
"bridgePOS.logged.user":"SUSER"
"promo.map.version":"1.0"

 

 

 




Detalle del uso del “Status”

...

  1. Periódicamente cada X cantidad de tiempo para informar el estado del agente, de la aplicación, etc. En este caso y a modo aclaratorio
    1. status”, siempre enviar 00, indicando que el agente está disponible.
    2. taskUUID”, en blanco porque no hay tarea
    3. task”, en blanco porque no hay tarea
    4. taskStatus”, en blanco porque no hay tarea
    5. detail”, en blanco porque no hay tarea, o bien, una descripción que simplemente se podrá apreciar en el log de DirectorServer
  2. Cuando el DirectorServer solicitó realizar una acción (sincronizar o actualizar). Cada acción supone la ejecución de una serie de pasos o tareas. Entonces se espera que la ejecución de cada tarea implique enviar un mensaje al servidor para indicar el estado de ejecución de dicha a tarea. Los datos obligatorios en éste caso son:
    1. “status”, para indicar si está sincronización o actualizando
    2. “taskUUID”, para indicar el ID de la tarea. Este dato lo envió previamente el server.
    3. “task”, para indicar que tarea se está realizando. Ej: deteniendo app, haciendo backup, etc
    4. “taskStatus”, para indicar el estado de ejecución de la tarea antes idnicada.
    5. “detail”, para dar más detalle de la tarea. Ej: si dio error, entonces indicar una descripción del error. Si no hay error, por ejemplo info de un directorio, de una tarea, etc. En todos los caso, el mismo se mostrará en consola

 


Parte del mensaje de status

...


Error indicado por agente al instalar

...