...
Como se mencionó en el punto anterior, el motor de promociones es el componente de PROMO encargado de recibir tickets directamente desde el punto de venta, luego procesarlos, y, finalmente, informar las promociones que participaron y los artículos afectados.
La instalación del motor de promociones se realiza conjuntamente con la instalación de la consola de Promo, al ejecutarse el instalador de la aplicación. La comunicación se establece a través de mensajes XML enviados mediante TCP/IP, REST o Pipes (IBM 4690).
Âncora | ||||
---|---|---|---|---|
|
...
Al ejecutarse el instalador aparecerá la siguiente ventana:
y luego la siguiente:
Presionar "Siguiente" para continuar.
Se deberán aceptar los términos y condiciones para continuar con la instalación del motor de PROMO.
Presionar en "Aceptar" para continuar.
Luego de aceptados los términos y condiciones, se solicitara que se identifique el nombre del usuario y el e-mail de quien (empresa o persona) está realizando la instalación.
Presionar "Siguiente" para continuar.
A continuación se deberá indicar la ruta de acceso a Java (JDK) y el directorio donde se realizara la instalación del motor de PROMO. Por default se propone "c:\synthesisnapse\gengine".
Se podrá indicar aquí, por medio del check "Instalar Servidor REST (Default TCP/IP)", para que se instale el motor como SERVIDOR REST sino se instalara por default en modo TCP/IP.
...
Aviso |
---|
Importante: Verificar de No instalar el motor donde se instalo previamente el motor de simulación de la consola (el motor de simulación se instala por default en \synthesisnapse\promo\engine) de ocurrir eso no funcionará correctamente. |
Presionar "Siguiente" para continuar.
Si se desea instalar el motor como aplicación, se debe tildar el cheeckbox
Luego de presionar el botón Siguiente, debe indicarse la ruta donde está la carpeta webapps de la instalación de apache TomEE.
Luego de presionar Siguiente, debe completar los parámetros solicitados:
Si no se elige la opción de Instalar el motor como aplicación al presionar el botón Siguiente, en el siguiente Pop-UP
Expandir | ||
---|---|---|
| ||
Si se tildo el checkbox, se observará la pantalla siguiente; donde se deberá seleccionar el directorio donde estará alojado el servidor de aplicaciones TomEE: |
Luego de presionar "Siguiente", aparecerá el siguiente Pop-UP , donde se deberá indicar la URL de acceso a "Director" para futuras actualización actualizaciones y el código de tienda que tomara tomará el motor A continuación se deberá indicar
Presionar "Siguiente" para continuar.
.
Luego de presionar "Siguiente", debe completar los parámetros solicitados:
Si se presiona "Siguiente"
En la siguiente pantalla que se presente, habrá que presionar el botón "Instalar" a fin de dar comienzo al proceso de instalación del motor de PROMO y sus componentes.
...
Finalizada la instalación se mostrara la siguiente ventana donde se informara la correcta instalación del motor de PROMO. Se solicitara dar Clic en "Aceptar" y luego en "Salir" para terminar con el proceso.
Terminado el proceso de instalación del motor de promociones podrá chequearse en los servicios del sistema la existencia de dos nuevos servicios correspondientes al motor de promociones y al agente Director que ya estarán ejecutándose de manera atomística, hecho que marcara la correcta instalación y puesta en funcionamiento del nuevo motor de PROMO.
...
Módulo | Clave | Valor | Descripción |
---|---|---|---|
Promo | operative.system | windows | Sistema operativo |
Promo | soap.url | http://10.4.13.108:8280/bridge/services/bridgeCoreSOAP?wsdl | Dirección de web service de bridge. |
Negocio | lang | es_AR (Argentina) | General: idioma de la aplicación (etiquetas) |
Negocio | backupDirectory | C:/synthesis/promo/backup | General: de backup |
Negocio | mongoDBDirectory | C:/synthesis/promo/mdb/bin | General: directorio base de datos |
Negocio | mongoDBHostname | localhost | Host de la base de datos. En caso de poseer una configuración en replicaset el formato de configuración es: "replicaName/node1:port1,node2:port2" Se destaca que deberá de definirse el campo mongoDBPort vacío cuando se utilice la función de Backup en Clusters |
Negocio | mongoDBPort | 27017 | Puerto de la base de datos. En caso de replicaset este parámetro es ignorado. |
General | auditDateCleaner | 30 | Eliminar Existe un proceso que elimina registros de las tablas de importaciónauditoría. Se puede configurar el valor que desee pero tener en cuenta que esos registros ocupan lugar en el disco. |
General | importReceiptDateCleaner | 30 | Eliminar registros de las tablas de importación. |
General | ticketGeneratorSeconds | 2 | DEMO: cantidad de segundos de generación de ticket para demos |
Negocio | charsMaximumAlphabetical | 20 | Cantidad máxima de caracteres alfabéticos |
Negocio | charsMaximumNumerical | 20 | Cantidad máxima de caracteres numéricos |
Negocio | charsMaximumQuantity | 20 | Cantidad máxima de caracteres totales |
Negocio | charsMaximumSpecial | 20 | Cantidad máxima de caracteres especiales |
Negocio | charsMinimumQuantity | 7 | Cantidad mínima de caracteres totales |
1Negocio | charsMinimumUser | 3 | Cantidad mínima de caracteres en el nombre de usuario |
Negocio | maximumLoginFailedCount | 3 | Cantidad máxima de reintentos de login fallidos sucesivos |
Negocio | numberQuantity | 1 | Cantidad mínima de caracteres numéricos |
Negocio | passwordExpirationDays | 30 | Días de expiración de la contraseña del usuario |
Negocio | specialCharsQuantity | 0 | Cantidad mínima de caracteres especiales |
Negocio | stringQuantity | 1 | Cantidad mínima de caracteres alfabéticos |
Negocio | userBlockDays | 90 | Bloqueo de usuario - días de inactividad |
Negocio | userLockTime | 30 | Periodo de bloqueo de la cuenta de usuario (en minutos) |
Promo | engineSalesPath | C:/synthesis/promo/engine/sales/ | Directorio de Mapas del Motor |
...
El programa toma como ingreso a la clave a encriptar y devuelve la clave encriptada que se debe situar en el archivo promoplus.properties en una entrada llamada grails.mongodb.encryptedPassword (por ej. grails.mongodb.encriptedPasswordencryptedPassword=lYYBAfxLR40=).
En caso de utilizar grails.mongodb.encryptedPassword se debe considerar comentar o eliminar la anterior grails.mongodb.password ya que en caso de existir ambas siempre utilizará grails.mongodb.password. En caso de que el archivo promoplus.properties no exista, se tomará, como valor por defecto, a v9vbhV.
...
Parámetros de Configuración de Ambiente
En esta sección se enumeran las opciones de configuración que afectan al funcionamiento del ambiente en su totalidad y se realiza desde el archivo promoplus.properties.
Parámetro | Valor por defecto | Descripción |
---|---|---|
promo.general.cvvOnlyForConsume | false | Ver Ver Validar CVV solo cuando se realiza un consumo en una Tarjeta de Fidelidad |
promo.delimiters | space | Ver Ver Configuración Atributos con espacios en Condiciones Simples |
promo.allowNonExistingCustomers | false | Ver Ver Alta de cliente durante la transacción |
promo.transaction.batch.size | 1000 | Cantidad máxima de transacciones que se procesarán cada vez que se ejecute la tarea programada (default 30 segs.). Este parámetro puede afectar la performance del sistema. |
promo.general.pauseQuartz | false | En ambientes multinodo, permite desactiva la ejecución de las tareas programadas en alguno de dichos nodos. Esta opción permite que nodos con poca capacidad de procesamiento ejecuten tareas que requieran mayor cantidad de recursos. |
promo.lv.enableUpsertCustomers | true | Permite la creación o actualización de clientes durante el LoyaltyValidation. Esto es, cuando se envia a validar un cliente y se especifican datos clave, se intentara crear o actualizar dicho cliente. |
promo.lv.returnCustCards | true | Indica que la respuesta a un loyaltyValidation de cliente debe retornar las tarjetas asociadas al mismo. |
promo.lv.returnCustCoupons | true | Indica que la respuesta a un loyaltyValidation de cliente debe retornar los cupones asociados al mismo. |
promo.lv.returnSegments | true | Indica que la respuesta a un loyaltyValidation de cliente debe retornar los segmentos asociados al mismo. |
promo.lv.returnContracts | true | Indica que la respuesta a un loyaltyValidation de cliente debe retornar los contratos asociados al mismo. |
promo.backupOptions | --gzip | indica que el backup va a ser comprimido a nivel colección. Si tiene un valor diferente la base no va a comprimir a nivel colección. |
promo.card.customersNonNominated | true | Permite que al validar que se considere al CPF como si fuera una tarjeta nominada. |
promo.transaction.flatten.batch.size | 250 | Indica la cantidad de transacciones a aplanar por cada corrida del job aplanado |
...
1.
...
1. Validar CVV solo cuando se realiza un consumo en una Tarjeta de Fidelidad
...
Aviso | ||
---|---|---|
| ||
Al utilizar un sistema de autenticación externos los usuarios dados de alta en la consola no deberán poseer ningún tipo de configuración de políticas de seguridad de PROMO. |
Para que promo utilice saml2, se deberá agregar, en el directorio donde permanecen los .properties\appserver\modules\system\layers\base\com\synthesis\configuration\main\ , los archivos properties correspondientes. Éstos Estos son:
- saml.properties - Archivo principal de configuraciones.
- saml-keymanager-passwords.properties
- saml-metadata-providers.properties - Archivo correspondiente a la configuración del proveedor de identidad.
- saml-metadata-sp-defaults.properties - Archivo correspondiente a la configuración que utilizará PROMO para generar su archivo xml de metadatos.
...
Consideraciones de la pruebas de Integración
...
- Alta de usuarios en la consola de PROMO por medio del servicio rest correspondiente (createOrUpdateUsers), También podrán darse de alta manualmente desde la consola. En ambos casos deberá de tenerse en cuenta que los usuarios no deberán tener asignadas ninguna restricción en cuanto a políticas de seguridad propias de PROMO.
Obtener
suel xml de metadatos
en el menú idp metadata (https://capriza.github.io/samling/samling.html#) y guardarlos en un archivo xml (preferiblemente idp.xml). Debe apuntarse al mismo desde la configuración por properties.del sistema saml proveedor de identidad, del cliente. La ruta donde estará este archivo deberá tener especificada en la configuración properties. Para simplificar se puede renombrar como idp.xml.
- Guardar el archivo idp.xml en C:\synthesis\promo\idp.xml
- Editar el archivo saml-metadata-providers.properties especificando allí la ruta absoluta donde se colocó el archivo idp.xml
- Iniciar PROMO (Wildfly) con los cuatro properties correspondientes a saml.
- Generar el xml de PROMO accediendo a http://localhost:8080/promo/saml/metadata, guardarlo en un xml (preferiblemente sp.xml).
- Se guardó
Guardar sp.xml
enen C:\synthesis\promo\sp.xml.
- Editar el archivo saml.properties especificando allí la ruta absoluta donde se colocó el archivo sp.xml
Editar el archivo saml-metadata-sp-defaults.properties especificando la ruta de promo (por ej. http://localhost:8080/promo).
- Detener PROMO (wildfly)
- Borrar los directorios \temp y \data que se encuentran en el directorio \standalone de la instalacion de PROMO.
- Iniciar PROMO(wildfy)
Al acceder a la consola de PROMO en lugar de la pantalla de inicio de sesión aparecerá la pantalla
de samling. Esta pantalla permite configurar qué se desea enviar al proveedor de servicios, que en este caso es PROMO. Sólo modificar, dentro de "Saml Response Properties" el campo "Name Identifier" con el nombre de usuario con el que se desea acceder a PROMO.Presionar "NEXT"
En la siguiente pantalla que se presenta presionar "Post Response"
Se presentara lade inicio de sesión del proveedor de identidad.
- Luego de ingresar usuario y clave en el proveedor de identidad, se presentará la consola de PROMO, logueada con el usuario ingresado:, en la página de inicio correspondiente al rol que tiene asignado.
Si el usuario no corresponde a ningún usuario dado de alta en PROMO el login fallará, y se volverá a la pantalla del punto 13 para volver a intentar a ingresar un usuario valido y poder iniciar sesión en PROMO.
Si el usuario es uno existente iniciará sesión en PROMO sin problemas, presentándose la pantalla de Gestión de Promociones.
Aviso | ||
---|---|---|
| ||
Saml2 funciona con la primer empresa existente y no principal. Todo usuario se verificará con dicha empresa. Para el caso del acceso con la empresa Synthesis, se reservó el usuario synthesis, es decir, si se necesita acceder a la compañía principal se debe utilizar el usuario synthesis. El cliente deberá dar de alta en su proveedor de identidad a este usuario previamentecrea promoAdmin. Este war sólo tiene la finalidad de acceder con synthesis para entornos test/productivos con saml activo. |
Properties:
saml.properties, debe mantener la ruta absoluta al archivo de metadatos del proveedor de servicios.
Bloco de código language xml theme RDark # # Configuraciones para la utilización de SAML2 # Más info en https://sphoortia.github.io/grails-spring-security-saml/docs/guide/configuration.html # grails.plugin.springsecurity.saml.userGroupAttribute = memberOf grails.plugin.springsecurity.saml.metadata.sp.file = C:\\synthesis\\promo\\sp.xml grails.plugin.springsecurity.saml.metadata.sp.alias = promo_saml grails.plugin.springsecurity.saml.responseSkew = 60 grails.plugin.springsecurity.saml.idpSelectionPath = / grails.plugin.springsecurity.saml.loginFormUrl = /saml/login
saml-metadata-providers.properties, clave ping, debe mantener la ruta absoluta al archivo de metadatos del proveedor de identidad.
Bloco de código language xml theme RDark ping=C:\\synthesis\\promo\\idp.xml
saml-metadata-sp-defaults.properties, clave entityBaseURL, debe mantener la ruta de promo.
Bloco de código language xml theme RDark local=true alias=promo_saml entityBaseURL=http://localhost:8080/promo securityProfile=metaiop signingKey=ping encryptionKey=ping tlsKey=ping requireArtifactResolveSigned=false requireLogoutRequestSigned=false requireLogoutResponseSigned=false idpDiscoveryEnabled=false
- saml-keymanager-passwords.properties
Bloco de código language xml theme RDark #apollo = nalle123
...