Implementación del BAC - AWS Modernización de mainframe

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Implementación del BAC

BACEstá disponible como una aplicación web única y segura, que utiliza el formato de archivo web (.war). Está diseñado para implementarse junto con la aplicación BluAge Gapwalk, en un servidor de aplicaciones Apache Tomcat, pero también se puede implementar como una aplicación independiente. BACHereda el acceso al almacenamiento de Blusam desde la configuración de la aplicación Gapwalk, si está presente.

Tiene su propio archivo de BAC configuración dedicado, llamado. application-bac.yml Para obtener detalles de configuración, consulteBACarchivo de configuración dedicado.

El BAC está protegido. Para obtener más información sobre la configuración de seguridad, consulteConfiguración de la seguridad para el BAC.

BACarchivo de configuración dedicado

Implementación independiente: si la aplicación BAC Gapwalk se implementa sola, la conexión al almacenamiento de Blusam debe configurarse en el archivo de configuración application-bac.yml.

Los valores predeterminados para la configuración de los conjuntos de datos que se utilizan para examinar los registros de los conjuntos de datos deben establecerse en el archivo de configuración. Consulte Examinar los registros de un conjunto de datos. La página de navegación de registros puede utilizar un mecanismo de máscara opcional que permite mostrar una vista estructurada del contenido de un registro. Algunas propiedades afectan a la vista de los registros cuando se utilizan máscaras.

Las siguientes propiedades configurables se deben establecer en el archivo de configuración. La BAC aplicación no asume ningún valor predeterminado para estas propiedades.

Clave Tipo Descripción
bac.crud.limit integer Un valor entero positivo que indica el número máximo de registros devueltos al examinar los registros. Usar 0 significa ilimitado. Valor recomendado: 10 (a continuación, ajuste el conjunto de datos de valores por conjunto de datos en la página de navegación, según sus necesidades).
bac.crud.encoding cadena El nombre del conjunto de caracteres predeterminado, que se utiliza para decodificar los bytes de los registros como contenido alfanumérico. El nombre del juego de caracteres proporcionado debe ser compatible con Java (consulte la documentación de Java para ver los conjuntos de caracteres compatibles). Valor recomendado: el juego de caracteres heredado utilizado en la plataforma antigua de donde provienen los conjuntos de datos; esta será una EBCDIC variante la mayoría de las veces.
bac.crud.initCharacter cadena El carácter predeterminado (byte) que se utiliza para iniciar los elementos de datos. Se pueden usar dos valores especiales: "LOW-VALUE" el byte 0x00 (valor recomendado) y el byte "HI-VALUE" 0xFF. Se usa cuando se aplican máscaras.
bac.crud.defaultCharacter cadena El carácter predeterminado (byte), en forma de cadena de un carácter, se utiliza para rellenar registros (a la derecha). Valor recomendado: " " (espacio). Se usa cuando se aplican máscaras.
bac.crud.blankCharacter cadena El carácter predeterminado (byte), como cadena de un carácter, se utiliza para representar los espacios en blanco en los registros. Valor recomendado: " " (espacio). Se utiliza cuando se aplican máscaras.
bac.crud.strictZoned boolean Un indicador que indica qué modo zonificado se utiliza para el registro. Sitrue, se utilizará el modo de zona estricta; sifalse, se utilizará el modo zonificado modificado. Valor recomendado:true. Se usa cuando se aplican máscaras.
bac.crud.decimalSeparator cadena El carácter que se utiliza como separador decimal en los campos editados numéricamente (se utiliza cuando se aplican máscaras).
bac.crud.currencySign cadena El carácter predeterminado, es una cadena de un carácter, que se utiliza para representar la moneda en los campos editados numéricamente cuando se aplica el formato (se utiliza cuando se aplican máscaras).
bac.crud.pictureCurrencySign cadena El carácter predeterminado, es una cadena de un carácter, que se utiliza para representar la moneda en las imágenes de los campos editados numéricamente (se utiliza cuando se aplican máscaras).

El siguiente ejemplo es un fragmento de un archivo de configuración.

bac.crud.limit: 10 bac.crud.encoding: ascii bac.crud.initCharacter: "LOW-VALUE" bac.crud.defaultCharacter: " " bac.crud.blankCharacter: " " bac.crud.strictZoned: true bac.crud.decimalSeparator: "." bac.crud.currencySign: "$" bac.crud.pictureCurrencySign: "$"

Configuración de la seguridad para el BAC

La configuración de la seguridad BAC se basa en los mecanismos detallados en esta página de documentación. El esquema de autenticación es OAuth2 y se proporcionan los detalles de configuración de Amazon Cognito o Keycloak.

Si bien se puede aplicar la configuración general, aquí se BAC deben detallar algunos detalles al respecto. El acceso a las BAC funciones está protegido mediante una política basada en funciones y se basa en las siguientes funciones.

  • ROLE_USER:

    • Función de usuario básica

    • No se permite la importación, exportación, creación o eliminación de conjuntos de datos

    • No hay control sobre las políticas de almacenamiento en caché

    • No se permiten funciones de administración

  • ROLE_ADMIN:

    • Hereda ROLE _ permisos USER

    • Se permiten todas las operaciones del conjunto de datos

    • Se permite la administración de políticas de almacenamiento en caché

Instalación de las máscaras

En el almacenamiento Blusam, los registros de los conjuntos de datos se almacenan en una columna de matriz de bytes en la base de datos, por motivos de versatilidad y rendimiento. Tener acceso a una vista estructurada, mediante campos, de los registros comerciales, basada en el punto de vista de la aplicación, es una característica práctica del. BAC Esto se basa en las SQL máscaras producidas durante el proceso de modernización BluAge impulsado.

Para generar las SQL máscaras, asegúrese de establecer la opción correspondiente (export.SQL.masks) en la configuración del Centro de BluInsights Transformación en true:

Property set configuration with export.sql.masks option set to true and boolean type.

Las máscaras forman parte de los artefactos de modernización desde los que se pueden descargar BluInsights para un proyecto determinado. Son SQL scripts, organizados por programas modernizados, que ofrecen el punto de vista aplicativo sobre los registros de conjuntos de datos.

Por ejemplo, si utiliza la aplicación de AWS CardDemo ejemplo, puede encontrar en los artefactos descargados del resultado de la modernización de esta aplicación las siguientes SQL máscaras para el programa CBACT 04c.CBL:

List of SQL mask files for CBACT04C program, including account, discrep, and transaction records.

El nombre de cada SQL máscara es la concatenación del nombre del programa y el nombre de la estructura de registros de un conjunto de datos determinado del programa.

Por ejemplo, si observamos el programa [CBACT04c.CBL], la entrada de control de archivos dada:

FILE-CONTROL. SELECT TCATBAL-FILE ASSIGN TO TCATBALF ORGANIZATION IS INDEXED ACCESS MODE IS SEQUENTIAL RECORD KEY IS FD-TRAN-CAT-KEY FILE STATUS IS TCATBALF-STATUS.

está asociada a la definición de registro FD dada

FILE SECTION. FD TCATBAL-FILE. 01 FD-TRAN-CAT-BAL-RECORD. 05 FD-TRAN-CAT-KEY. 10 FD-TRANCAT-ACCT-ID PIC 9(11). 10 FD-TRANCAT-TYPE-CD PIC X(02). 10 FD-TRANCAT-CD PIC 9(04). 05 FD-FD-TRAN-CAT-DATA PIC X(33).

La SQL máscara coincidente denominada cbact04c_fd_tran_cat_bal_record.SQL es la máscara que proporciona el punto de vista del programa CBACT 04c.CBL en el registro FD mencionado. FD-TRAN-CAT-BAL-RECORD

Su contenido es:

-- Generated by Blu Age Velocity -- Mask : cbact04c_fd_tran_cat_bal_record INSERT INTO mask (name, length) VALUES ('cbact04c_fd_tran_cat_bal_record', 50); INSERT INTO mask_item (name, c_offset, length, skip, type, options, mask_fk) VALUES ('fd_trancat_acct_id', 1, 11, false, 'zoned', 'integerSize=11!fractionalSize=0!signed=false', (SELECT MAX(id) FROM mask)); INSERT INTO mask_item (name, c_offset, length, skip, type, options, mask_fk) VALUES ('fd_trancat_type_cd', 12, 2, false, 'alphanumeric', 'length=2', (SELECT MAX(id) FROM mask)); INSERT INTO mask_item (name, c_offset, length, skip, type, options, mask_fk) VALUES ('fd_trancat_cd', 14, 4, false, 'zoned', 'integerSize=4!fractionalSize=0!signed=false', (SELECT MAX(id) FROM mask)); INSERT INTO mask_item (name, c_offset, length, skip, type, options, mask_fk) VALUES ('fd_fd_tran_cat_data', 18, 33, false, 'alphanumeric', 'length=33', (SELECT MAX(id) FROM mask));

Las mascarillas se almacenan en el almacén de Blusam mediante dos tablas:

  • máscara: se usa para identificar las máscaras. Las columnas de la tabla de mapas son:

    • nombre: se usa para almacenar la identificación de la máscara (se usa como clave principal, por lo que debe ser único)

    • longitud: tamaño en bytes de la máscara de registro

  • mask_item: se utiliza para almacenar los detalles de la máscara. Cada campo elemental de una definición de registro FD generará una fila en la tabla mask_item, con detalles sobre cómo interpretar la parte del registro dada. Las columnas de la tabla mask_item son:

    • nombre: nombre del campo de registro, basado en el nombre elemental, utilizando minúsculas y sustituyendo el guión por el de subrayado

    • c_offset: desplazamiento basado en 1 de la subparte del registro, utilizado para el contenido del campo

    • longitud: longitud en bytes de la subparte del registro, utilizada para el contenido del campo

    • skip: indicador para indicar si la parte del registro dada debe omitirse o no en la presentación de la vista

    • tipo: el tipo de campo (basado en su cláusula de imagen anterior)

    • opciones: opciones de tipo adicionales, dependientes del tipo

    • mask_fk: referencia al identificador de máscara al que adjuntar este elemento

Tenga en cuenta lo siguiente:

  • SQLlas máscaras representan el punto de vista de un programa sobre los registros de un conjunto de datos: varios programas pueden tener un punto de vista diferente sobre un conjunto de datos determinado; instale únicamente las máscaras que considere relevantes para su propósito.

  • Una SQL máscara también puede representar el punto de vista de un programa basándose en una estructura de datos de 01 de la WORKING STORAGE sección, no solo de un registro FD. Las SQL máscaras se organizan en subcarpetas según su naturaleza:

    • Las máscaras basadas en registros FD se ubicarán en la subcarpeta denominada file

    • 01 máscaras basadas en la estructura de datos se ubicarán en la subcarpeta denominada working

    Si bien las definiciones de los registros FD siempre coinciden con el contenido del registro de un conjunto de datos, es posible que las estructuras de datos 01 no estén alineadas o que solo representen un subconjunto del registro de un conjunto de datos. Antes de usarlas, inspeccione el código y comprenda las posibles deficiencias.