Árvore de páginas


01. Introdução

Este manual fornece instruções sobre o processo de implantação do sistema Rating Web e será atualizado continuamente conforme novas funcionalidades sejam disponibilizadas.

02. Módulos

O Rating Web é formado pelos módulos identificados abaixo:

2.1. Módulos básicos

  • Módulo Segurança
  • APP
  • Módulo Básico
  • Módulo Rating

2.2. Módulos dependências

  • SB Rating Rotina Service
  • SB Rating API
  • TBjBasicoService


Observação

  • SB Rating Rotina Service:
    • Permissão de leitura, escrita e deleção de pastas.
    • Não necessita ser colocado no totvs.conf pois é um Job
  • SB Rating API:
    • Permissão de leitura, escrita e deleção de pastas

03. Arquitetura

O desenho da arquitetura está disponível no TDN abaixo.

DR - 3044 - Fluxograma

04. Configurações arquivos

Para utilização do Rating WEB, deve ser configurado agluns parâmetros que podem ser preenchidos na tela de Configuração. Caso o cliente não possua o Rating WEB mas deseja utilizar a geração do 3044, deverá cadastrar a configuração seguindo os passos no arquivo abaixo.

4.1. Arquivo TOTVS.CONF

Modelo totvs-financial-services.conf
#servicos
service.rest.basico.cadastro=https://[IP]:[PORTA]/tfsbasicoservice/rest/cadastro

#sb 
service.rest.rating=https://[IP]:[PORTA]/sbratingapiservice

4.2. Arquivo APPLICATION.PROPERTIES RATING API

Rating API application.properties
# Configurações Servidor Porta/Contexto/Actuator Contexto/Path Leitura Arquivo Totvs Financial Services Conf
server.port=50056
server.servlet.context-path=/sbratingapiservice
management.endpoints.web.base-path=/
management.health.defaults.enabled=false
totvs.conf.path=C:/opt/totvs/tfs/totvs-financial-services.conf
totvs.conf.reload=1440

# Resource mapeado no Keycloak da Aplicação e Realm que utiliza. Default atual master.
security.system.resource=sb-rating-service
security.system.auth.url=https://poasrvapldev033.cb.tfs.totvs.com/auth/realms/master

# Configurações Kafka Server
kafka.system.server=poasrvapldev033.cb.tfs.totvs.com:9092
kafka.system.auth=false
kafka.system.username=63A103BCA3ABEDAC44687D76A69F1CCF
kafka.system.password=63A103BCA3ABEDAC44687D76A69F1CCF
kafka.system.protocol=SASL_SSL
kafka.system.mechanism=SCRAM-SHA-512
kafka.system.jaastemplate=org.apache.kafka.common.security.scram.ScramLoginModule
kafka.system.ssl.enabled=false
kafka.system.truststore.location=/opt/app/kafka_2.13-2.7.0/keystore/kafka.server.keystore.jks
kafka.system.truststore.password=53034AD67CFE9696783A1EBE456BB89A
kafka.system.keystore.location=/opt/app/kafka_2.13-2.7.0/keystore/kafka.server.keystore.jks
kafka.system.keystore.password=53034AD67CFE9696783A1EBE456BB89A

# Configurações do Kafka Consumer da Aplicação
kafka.consumer.aditionalProperties={}
kafka.consumer.groupid=sb-rating-service
kafka.consumer.auto-offset-reset=earliest
kafka.consumer.enable-auto-commit=true
kafka.consumer.max-poll-records=10
kafka.consumer.quantidade=1
kafka.consumer.heartbeat=3000

# Configurações do Kafka Producer da Aplicação
kafka.producer.aditionalProperties={}
kafka.producer.client-id-config=sb-rating-service
kafka.producer.acks-config=all
kafka.producer.request-timeout-ms-config=1000

# Configuração Log JPA Conexão Servidor da Aplicação
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.format_sql=true

# Configuração Conexão Servidor da Aplicação
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://127.0.0.1;DatabaseName=rating;sendStringParametersAsUnicode=false;trustServerCertificate=true
spring.datasource.username=sa
spring.datasource.password=8E511EE4BA568EC26AF10214726DE788036C099638BB9F9BFC28AAECEB11CDA1

# Configuração Hikari Propriedades
spring.datasource.hikari.connection-timeout=50000
spring.datasource.hikari.idle-timeout=300000
spring.datasource.hikari.max-lifetime=900000
spring.datasource.hikari.maximum-pool-size=50
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.pool-name=sbRatingApiServicePool
spring.datasource.hikari.connection-test-query=select 1 from logversao
spring.datasource.hikari.data-source-properties.cachePrepStmts=true
spring.datasource.hikari.data-source-properties.prepStmtCacheSize=250
spring.datasource.hikari.data-source-properties.prepStmtCacheSqlLimit=2048
spring.datasource.hikari.data-source-properties.useServerPrepStmts=true
spring.datasource.hikari.data-source-properties.useLocalSessionState=true
spring.datasource.hikari.data-source-properties.rewriteBatchedStatements=true
spring.datasource.hikari.data-source-properties.cacheResultSetMetadata=true
spring.datasource.hikari.data-source-properties.cacheServerConfiguration=true
spring.datasource.hikari.data-source-properties.elideSetAutoCommits=true
spring.datasource.hikari.data-source-properties.maintainTimeStats=false

# Configuração MultiTenant Application Manter como está, desativado. Futuras implementações
app.multitenant.enable=false
app.default.tenant=dimensa
app.multitenant.datasource.resource=C:/opt/totvs/tfs/sb-rating-service/tenants

# Configuração Auditoria Requisições entrada e saida da Aplicação
app.auditing.log.request=false
app.auditing.persist.database=false

# Variáveis da aplicação
app.calculoProvisao.batch.size=100
app.motivoAlocacao.batch.size=1000
app.operacao.batch.size=1000
app.motivoPerda.batch.size=1000
app.garantia.batch.size=1000
app.importacao.timeout=60
app.3044.page.size=1000
app.3044.db.batch-size=100
app.3044.insert.size=1000



Rating API application.yaml
app:
  auditing:
    log:
      request: 'false'
    persist:
      database: 'false'
  multitenant:
    datasource:
      resource: C:/opt/totvs/tfs/sb-rating-service/tenants
    enable: 'false'
  default:
    tenant: dimensa
  calculoProvisao:
    batch:
      size: 1000
  operacao:
    batch:
      size: 1000
  garantia:
    batch:
      size: 1000
  motivoPerda:
    batch:
      size: 1000
  motivoAlocacao:
    batch:
      size: 1000
  importacao:
    timeout: 60
  app:
    3044:
      page:
        size: 1000
      db:
        batch-size: 100
      insert:
          size: 1000
kafka:
  system:
    auth: 'false'
    username: 63A103BCA3ABEDAC44687D76A69F1CCF
    server: poasrvapldev033.cb.tfs.totvs.com:9092
    truststore:
      location: /opt/app/kafka_2.13-2.7.0/keystore/kafka.server.keystore.jks
      password: 53034AD67CFE9696783A1EBE456BB89A
    keystore:
      password: 53034AD67CFE9696783A1EBE456BB89A
      location: /opt/app/kafka_2.13-2.7.0/keystore/kafka.server.keystore.jks
    jaastemplate: org.apache.kafka.common.security.scram.ScramLoginModule
    ssl:
      enabled: 'false'
    mechanism: SCRAM-SHA-512
    protocol: SASL_SSL
    password: 63A103BCA3ABEDAC44687D76A69F1CCF
  consumer:
    aditionalProperties: '{}'
    max-poll-records: '10'
    groupid: sb-rating-service
    enable-auto-commit: 'true'
    quantidade: '1'
    heartbeat: '3000'
    auto-offset-reset: earliest
  producer:
    aditionalProperties: '{}'
    request-timeout-ms-config: '1000'
    acks-config: all
    client-id-config: sb-rating-service
spring:
  datasource:
    hikari:
      data-source-properties:
        useServerPrepStmts: 'true'
        cacheServerConfiguration: 'true'
        prepStmtCacheSize: '250'
        prepStmtCacheSqlLimit: '2048'
        cacheResultSetMetadata: 'true'
        cachePrepStmts: 'true'
        rewriteBatchedStatements: 'true'
        elideSetAutoCommits: 'true'
        useLocalSessionState: 'true'
        maintainTimeStats: 'false'
      idle-timeout: '300000'
      pool-name: sbRatingApiServicePool
      maximum-pool-size: '50'
      connection-timeout: '50000'
      max-lifetime: '900000'
      connection-test-query: select 1 from logversao
      minimum-idle: '10'
    password: DAB20F6148684F21F1ACF863E84C3BAF
    url: oracle:thin:@//tfsoradsv.cb.tfs.totvs.com/ORCL
    driver-class-name: oracle.jdbc.OracleDriver
    username: JD_RATING_DSV
  jpa:
    properties:
      hibernate:
        format_sql: 'true'
    show-sql: 'false'
totvs:
  conf:
    path: C:/opt/totvs/tfs/totvs-financial-services.conf
    reload: '1440'
security:
  system:
    auth:
      url: https://poasrvapldev033.cb.tfs.totvs.com/auth/realms/master
    realm: master
    resource: sb-rating-service
management:
  endpoints:
    web:
      base-path: /
  health:
    defaults:
      enabled: 'false'
server:
  port: '50056'
  servlet:
    context-path: /sbratingapiservice

4.2. Arquivo APPLICATION.PROPERTIES RATING ROTINA SERVICE

Rating API application.properties
# Configurações Servidor Porta/Contexto/Actuator Contexto/Path Leitura Arquivo Totvs Financial Services Conf
server.port=50055
server.servlet.context-path=/sbratingservice
management.endpoints.web.base-path=/
management.health.defaults.enabled=false
totvs.conf.path=C:/opt/totvs/tfs/totvs-financial-services.conf
totvs.conf.reload=1440

# Resource mapeado no Keycloak da Aplicação e Realm que utiliza. Default atual master.
security.system.resource=sb-rating-service
security.system.realm=master
security.system.auth.url=http://poasrvapldev014.cb.tfs.totvs.com/auth/realms/master
security.system.ssl.required=none
security.system.public.client=true

# Configurações Kafka Server
kafka.system.server=poan450100007.poa01.local:9092
kafka.system.auth=false
kafka.system.username=63A103BCA3ABEDAC44687D76A69F1CCF
kafka.system.password=63A103BCA3ABEDAC44687D76A69F1CCF
kafka.system.protocol=SASL_SSL
kafka.system.mechanism=SCRAM-SHA-512
kafka.system.jaastemplate=org.apache.kafka.common.security.scram.ScramLoginModule
kafka.system.ssl.enabled=false
kafka.system.truststore.location=/opt/app/kafka_2.13-2.7.0/keystore/kafka.server.keystore.jks
kafka.system.truststore.password=53034AD67CFE9696783A1EBE456BB89A
kafka.system.keystore.location=/opt/app/kafka_2.13-2.7.0/keystore/kafka.server.keystore.jks
kafka.system.keystore.password=53034AD67CFE9696783A1EBE456BB89A

# Configurações do Kafka Consumer da Aplicação
kafka.consumer.aditionalProperties={}
kafka.consumer.groupid=sb-rating-service
kafka.consumer.auto-offset-reset=earliest
kafka.consumer.enable-auto-commit=true
kafka.consumer.max-poll-records=50
kafka.consumer.quantidade=8
kafka.consumer.heartbeat=3000

# Configurações do Kafka Producer da Aplicação
kafka.producer.client-id-config=sb-rating-service
kafka.producer.acks-config=all
kafka.producer.request-timeout-ms-config=1000

# Configuração Log JPA Conexão Servidor da Aplicação
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.format_sql=true

spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://tfssqldsv;DatabaseName=mtf_rating_dsv;sendStringParametersAsUnicode=false;trustServerCertificate=true
spring.datasource.username=gcad
spring.datasource.password=DBD032CFBAB9F389E8714C813E500591

# Configuração Hikari Propriedades
spring.datasource.hikari.connection-timeout=50000
spring.datasource.hikari.idle-timeout=300000
spring.datasource.hikari.max-lifetime=900000
spring.datasource.hikari.maximum-pool-size=50
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.pool-name=RatingServicePool
spring.datasource.hikari.connection-test-query=select 1 from logversao
spring.datasource.hikari.data-source-properties.cachePrepStmts=true
spring.datasource.hikari.data-source-properties.prepStmtCacheSize=250
spring.datasource.hikari.data-source-properties.prepStmtCacheSqlLimit=2048
spring.datasource.hikari.data-source-properties.useServerPrepStmts=true
spring.datasource.hikari.data-source-properties.useLocalSessionState=true
spring.datasource.hikari.data-source-properties.rewriteBatchedStatements=true
spring.datasource.hikari.data-source-properties.cacheResultSetMetadata=true
spring.datasource.hikari.data-source-properties.cacheServerConfiguration=true
spring.datasource.hikari.data-source-properties.elideSetAutoCommits=true
spring.datasource.hikari.data-source-properties.maintainTimeStats=false

# Configuração MultiTenant Application Manter como está, desativado. Futuras implementações
app.multitenant.enable=false
app.default.tenant=dimensa
app.multitenant.datasource.resource=C:/opt/totvs/tfs/rating/tenants

# Configuração Auditoria Requisições entrada e saida da Aplicação
app.auditing.log.request=false
app.auditing.persist.database=false

# Configuração de variáveis do sistema
app.importacao.insert.size=1000
app.validacao.page.size=1000
app.move.page.size=1000
app.processamento.page.size=1000
app.db.transaction.batch-size=25

app.importacao.timeout=60

app.csv.erro.directory=/opt/importacao/NCR/CSV_ERROS

app.basico.client=tfs-basico-service
app.basico.user=kcsbintegra
app.basico.password=63A103BCA3ABEDAC44687D76A69F1CCF

Observação

  • app.csv.erro.directory deve ser um diretório que o serviço tenha acesso
  • O Rating faz Integração com o básico por meio das variáveis abaixo:
    • app.basico.client cliente do básico
    • app.basico.user usuário para integração
    • app.basico.password senha do usuário de integração
Rating API application.yaml
app:
    auditing:
        log:
            request: false
        persist:
            database: false
    default:
        tenant: dimensa
    multitenant:
        datasource:
            resource: C:/opt/totvs/tfs/rating/tenants
        enable: false
    basico:
        client: tfs-basico-service
        user: kcsbintegra
        password: 63A103BCA3ABEDAC44687D76A69F1CCF
    db:
        transaction:
            batch-size: 25
    importacao:
        insert:
            size: 1000
        timeout: 60
    validacao:
        page:
            size: 1000
    move:
        page:
            size: 1000
    processamento:
        page:
            size: 1000
    csv:
        erro:
            directory: /opt/importacao/NCR/CSV_ERROS
    3044:
        page:
            size: 1000
        db:
            batch-size: 100
        insert:
            size: 1000
kafka:
    consumer:
        aditionalProperties: '{}'
        auto-offset-reset: earliest
        enable-auto-commit: true
        groupid: sb-rating-service
        heartbeat: 3000
        max-poll-records: 50
        quantidade: 8
    producer:
        acks-config: all
        aditionalProperties: '{}'
        client-id-config: sb-rating-service
        request-timeout-ms-config: 1000
    system:
        server: poan450100007.poa01.local:9092
        auth: false
        username: 63A103BCA3ABEDAC44687D76A69F1CCF
        password: 63A103BCA3ABEDAC44687D76A69F1CCF
        protocol: SASL_SSL
        mechanism: SCRAM-SHA-512
        jaastemplate: org.apache.kafka.common.security.scram.ScramLoginModule
        ssl:
            enabled: false
        truststore:
            location: /opt/app/kafka_2.13-2.7.0/keystore/kafka.server.keystore.jks
            password: 53034AD67CFE9696783A1EBE456BB89A
        keystore:
            location: /opt/app/kafka_2.13-2.7.0/keystore/kafka.server.keystore.jks
            password: 53034AD67CFE9696783A1EBE456BB89A
management:
    endpoints:
        web:
            base-path: /
    health:
        defaults:
            enabled: false
security:
    system:
        auth:
            url: http://poasrvapldev014.cb.tfs.totvs.com/auth/realms/master
        public:
            client: true
        realm: master
        resource: sb-rating-service
        ssl:
            required: none
server:
    port: 50055
    servlet:
        context-path: /sbratingservice
spring:
    datasource:
        driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
        hikari:
            connection-test-query: select 1 from logversao
            connection-timeout: 50000
            data-source-properties:
                cachePrepStmts: true
                cacheResultSetMetadata: true
                cacheServerConfiguration: true
                elideSetAutoCommits: true
                maintainTimeStats: false
                prepStmtCacheSize: 250
                prepStmtCacheSqlLimit: 2048
                rewriteBatchedStatements: true
                useLocalSessionState: true
                useServerPrepStmts: true
            idle-timeout: 300000
            max-lifetime: 900000
            maximum-pool-size: 50
            minimum-idle: 10
            pool-name: RatingServicePool
        password: DBD032CFBAB9F389E8714C813E500591
        url: jdbc:sqlserver://tfssqldsv;DatabaseName=mtf_rating_dsv;sendStringParametersAsUnicode=false;trustServerCertificate=true
        username: gcad
    jpa:
        properties:
            hibernate:
                format_sql: true
        show-sql: false
totvs:
    conf:
        path: C:/opt/totvs/tfs/totvs-financial-services.conf
        reload: 1440

05. Kafka

5.1. Tópicos

    • jsbrating-3040-operacao
    • jsbrating-3040-operacao-saida
    • jsbrating-3040-informacao-adicional
    • jsbrating-3040-garantia
    • jsbrating-3040-sicor
    • jsbrating-ncr-informacao-recalculo
    • jsbrating-ncr-operacao-temp
    • jsbrating-ncr-operacao-saida-temp
    • jsbrating-ncr-valida-operacao-temp
    • jsbrating-ncr-valida-operacao-saida-temp
    • jsbrating-ncr-garantia-temp
    • jsbrating-ncr-informacao-adicional-temp
    • jsbrating-ncr-sicor-temp
    • jsbrating-ncr-ipoc-temp
    • jsbrating-ncr-motivo-perda-temp
    • jsbrating-ncr-motivo-realocacao-temp
    • jsbrating-api-motivo-perda
    • jsbrating-api-motivo-alocacao
    • jsbrating-api-calculo-provisoes
    • jsbrating-api-ajuste-valores-provisao
    • jsbrating-api-incluir-operacao
    • jsbrating-api-alterar-operacao
    • jsbrating-api-garantia

06. Parametrizações das telas

Para efetuar as parametrizações da tela, siga o TDN abaixo:

DR - 3044 - Configuração - (SPART)

  • Sem rótulos