Estrutura do VSet Chameleon
Após da instalação do VSet Chameleon, é criada a estrutura conforme abaixo:
vset-chameleon
├── audit
├── bin
├── common
├── config ou conf
│ └── log4j.properties
│ └── vsetchameleonConfig.xml
├── deploy
├── lib
├── logs
│ └── vsetchameleon.log
│ └── chameleon-service.out.log
│ └── chameleon-service.err.log
├── module
└── security
│ └── certifier
│ │ └── cacerts
│ └── token
├── sharedlib
└── workarea
└── module
- audit - armazena os arquivos de auditoria e rastreamento de processos.
- bin - arquivos de inicialização e instalação do core do VSet Chameleon.
- common - arquivo de localidade e idioma
- config ou conf - arquivo de configuração do core do VSet vsetchameleonConfig.xml e configuração de log log4j.properties.
- deploy - Local onde faz o deploy dos modulos de negócios.
- lib - arquivos .jar do core do VSet Chameleon.
- logs - pasta de logs gerados pelo VSet Chameleon.
- module - armazena os arquivos dos módulos de negócios publicados.
- security - chaves pública e privada do VSet Chameleon.
- sharedlib - bibliotecas de terceiros, utilizados pelo módulos de negócios.
- workarea - área de trabalho do módulo. Cada módulo tem sua própria área de trabalho.
Configurando core VSet Chameleon
VSet Chameleon só tem um arquivo vsetchameleonConfig.xml que é responsável pela toda configuração do core do VSet Chameleon e os serviços.
### Tag *environment*Atenção: Asterisco(*) no lado da tag representa obrigatoriedade preenchimento da informação pertinente. Caso tag tópico opcional for preechido, asterisco(*) no lado da tag representa obrigatoriedade.
Define o ambiente e os parâmetros de auditoria, monitoramento, hot deploy e rastreamento
<!-- environment -->
<environment>
<type>DEV</type>
<monitor>true</monitor>
<logProcess>false</logProcess>
<hotDeployConfig>true</hotDeployConfig>
<batch>false</batch>
<traceInfra>false</traceInfra>
</environment>
- type * - tipo de ambiente (DEV - Development / HOM - Homologation / PRD - Production)
- monitor - monitoramento das transações na plataforma VSet Chameleon (true - ativo / false - desabilitado)
- logProcess - gerar log de transações efetuadas na plataforma VSet Chameleon - rastreamento (true - ativo / false - desabilitado)
- hotDeployConfig - hot deploy na alteração de arquivo de configuração do VSet Chameleon (true - ativo / false - desabilitado)
- batch - informa que instância do VSet Chameleon será responsável pelo processamento batch (true - ativo / false - desabilitado)
- traceInfra - gerar logs inerente a infraestrutura (true - ativo / false - desabilitado)
Tag locale - region setting
Parâmetros de localidade, linguagem e fuso horário que a instância VSet Chameleon atuará.
<!-- region setting -->
<locale>
<country>br</country>
<language>pt</language>
<timezone>GMT-03:00</timezone>
</locale>
- country * - Código do país (veja códigos)
- language * - Código da linguagem (veja códigos)
- timezone - Fuso horário (veja fuso horário)
Tag Enhancement Controller (opcional)
Caso queira que seja aplicada a camada de seguração da instância toda do VSet Chameleon.
<!-- Enhancement Controller -->
<enhancementController>
<application>com.vicax.vset.chameleon.common.enhancement.EnhancementControllerAppAuthenticationBearer</application>
</enhancementController>
- application *- nome da classe que implementa camada de segurança
Tag alias-net (opcional)
Pool de conexão da camada TCP. Permite mais de uma instância de pool de conexão. Tag alias-tcp é uma instância de pool de conexão.
<alias-net>
<alias-tcp>
<alias>NOTIFICATION</alias>
<description>Notificação de mensagem web</description>
<hostName>192.168.1.141</hostName>
<port>8875</port>
<min>0</min>
<max>10</max>
<idle>1</idle>
<timeout>30000</timeout>
</alias-tcp>
</alias-net>
- alias *- nome do alias
- description *- descrição
- hostName *- nome de host
- port *- número da porta
- min *- mínimo de conexão permanente: 0 só será instanciado sob demanda
- max *- quantidade máxima de conexões permitidas
- idle *- tempo de ociosidade em minutos. Assim expirado, conexão será liberado pelo pool
- timeout *- timeout da conexão em milissegundos de espera da resposta de uma requisição
Tag alias-databases (opcional)
Pool de conexão de banco de dados. Permite mais de uma instância de pool de banco de dados. Tag alias-database é uma instância de pool de banco de dados.
<alias-databases>
<alias-database>
<alias>DIGITALBANK</alias>
<description>Banco de dados de banco</description>
<database>jdbc:sqlserver://10.61.0.18:1433;databaseName=DigitalBank;</database>
<user>admin</user>
<password>admin</password>
<driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
<min>0</min>
<max>500</max>
<idle>1</idle>
<timeout>0</timeout>
<formatDateTime>yyyy-MM-dd HH:mm:ss.SSS</formatDateTime>
</alias-database>
</alias-databases>
- alias *- nome do alias
- description *- descrição
- database *- nome do banco de dados (Padrão JDBC do Java)
- user *- nome do usuário
- password *- senha
- driver *- nome do driver (Padão JDBC do Java)
- min *- mínimo de conexão permanente: 0 só será instanciado sob demanda
- max *- quantidade máxima de conexões permitidas
- idle *- tempo de ociosidade em minutos. Assim expirado, conexão será liberado pelo pool
- timeout *- timeout da conexão em milissegundos de espera da resposta de uma requisição
- formatDateTime *- formato da data e hora universal do banco de dados
Tag listeners
Instância de porta para receber requisições. Permite mais de uma instância para receber requisições. Tag listener é uma instância para receber requisições.
<listeners>
<listener>
<name>Platform</name>
<description>Platform WEB</description>
<port>8181</port>
<min>1</min>
<max>1000</max>
<idle>0</idle>
<timeout>60000</timeout>
<limitQueue>0</limitQueue>
<packageWrapperClass>com.vicax.vset.chameleon.common.net.PackageHttpJson</packageWrapperClass>
<listenerWrapperClass>com.vicax.vset.chameleon.common.net.HttpServer</listenerWrapperClass>
<sessionLiveTime>15</sessionLiveTime>
<tracking>true</tracking>
<displaySizeKB>4</displaySizeKB>
<permanentConnection>false</permanentConnection>
</listener>
</listeners>
- name *- nome do listen
- description *- descrição
- port *- número da porta
- min *- mínimo de instância de processamento permanente: 0 só será instanciado sob demanda
- max *- quantidade máxima de instância de processamento permitidas
- idle *- tempo de ociosidade em minutos. Assim expirado, instância de processamento será liberado pelo pool
- timeout *- tempo máximo de resposta
- limitQueue *- quantidade máxima de rquisições que podem ficar em espera de uma liberação da instância de processamento
- packageWrapperClass *- nome da classe de package
- listenerWrapperClass *- nome da classe de listen
- sessionLiveTime *- tempo de vida do usuário, em minutos. Valor 0 é infinido
- tracking *- Rastreamaneto de transação (true (rastreio) false (desabilitado))
- displaySizeKB *- tamanho máximo para display da mensagem em kbytes gravado no log
- permanentConnection - informa que a conexão é permanente - multiplexação (true (multiplexação) false (desabilitado))
Tag email-smtp
Parametros do servidor de email - Enviará alertas pertinente dos problemas ocorridos no VSet Chameleon e módulos de negócios.
<email-smtp>
<host>smtpout.server.net</host>
<port>368</port>
<username>support@vicax.com</username>
<password>xdws23qwasqwr</password>
</email-smtp>
- host *- nome do servidor SMTP
- port - porta do servidor SMTP
- username *- usuário
- password - senha
Tag alert
Enviará alertas pertinente dos problemas ocorridos no VSet Chameleon e módulos de negócios.
<alert>
<from>vsetchameleon@vicax.com</from>
<to>support@vicax.com</to>
</alert>
- from *- nome do remetente
- to *- destinatários (Em casos com mais de um, separar por ponto virgula (;)
Tag file-servers (opcional)
Parametros do serviço de upload e download dos arquivos. Tag archive-repository pode ter mais de uma instância.
<!-- File Server -->
<file-servers>
<file-server>
<name>FILE</name>
<description>Arquivos</description>
<port>9191</port>
<archive-repositories>
<archive-repository>
<name>IMAGE</name>
<description>Imagens</description>
<pathURI>image</pathURI>
<path>\file\image</path>
<maxArchiveSizeKB>0</maxArchiveSizeKB>
</archive-repository>
</archive-repositories>
</file-server>
</file-servers>
- name *- nome do serviço
- description *- descrição
- port *- número da porta - Listen
- archive-repositories *- grupo de repositório de arquivos
- archive-repository *- repositório de arquivos
- name *- nome da instância
- description *- descrição
- pathURI *- caminho da URL para upload/download dos arquivos
- path *- diretório onde serão armazenados os arquivos
- maxArchiveSizeKB *- tamanho máximo do arquivo permitido para upload em kbytes. Se for zeros é ilimitado.
- archive-repository *- repositório de arquivos
Tag websocket-servers (opcional)
Parâmetros do serviço de Web Socket. Tag archive-repository pode ter mais de uma instância.
<!-- WebSocket Server -->
<websocket-servers>
<websocket-server>
<name>WebSocket</name>
<description>Web Socket Service</description>
<port>6878</port>
<archive-repositories>
<archive-repository>
<name>IMAGE</name>
<description>Imagens</description>
<pathURI>image</pathURI>
<path>\ws\file\image</path>
<maxArchiveSizeKB>0</maxArchiveSizeKB>
</archive-repository>
</archive-repositories>
</websocket-server>
</websocket-servers>
- name *- nome da instância
- description *- descrição
- port *- número da porta - Listen
- archive-repositories *- grupo de repositório de arquivos
- archive-repository *- repositório de arquivos
- name *- nome
- description *- descrição
- pathURI *- caminho da URL para upload/download dos arquivos
- path *- diretório onde serão armazenados os arquivos
- maxArchiveSizeKB *- tamanho máximo do arquivo permitido para upload em kbytes. Se for zeros é ilimitado.
- archive-repository *- repositório de arquivos
Tag chat-servers (opcional)
Parâmetros do serviço chat. Tag chat-server pode ter mais de uma instância.
<!-- Chat Server -->
<chat-servers>
<chat-server>
<name>Chat</name>
<description>Business Chat</description>
<port>6900</port>
<mediaFilePath>\file\chat\media</mediaFilePath>
</chat-server>
</chat-servers>
- name *- nome da instância
- description *- descrição
- port *- número da porta - Listen
- mediaFilePath *- diretório onde serão armazenados as mídias
Tag notification-router-server (opcional)
Parâmetros do serviço de roteador de notificação.
<notification-router-server>
<host>10.61.0.17</host>
<port>7125</port>
<multiplexer>false</multiplexer>
</notification-router-server>
- host *- nome do servidor do serviço de roteador de notificação
- port *- porta do servidor do serviço de roteador de notificação
- multiplexer *- ativação do processo de multiplexação (true Ativado false Desativado)
Tag pool-conection-http (opcional)
Parâmetros do serviço de pool de conexão HTTP.
<!-- pool HTTP Client -->
<pool-conection-http>
<maxTotal>2000</maxTotal>
<defaultMaxPerRoute>2000</defaultMaxPerRoute>
<socketTimeout>60000</socketTimeout>
<connectTimeout>20000</connectTimeout>
<connectionRequestTimeout>5000</connectionRequestTimeout>
</pool-conection-http>
- maxTotal *- o número máximo de conexões permitidas em todas as rotas
- defaultMaxPerRoute *- o número máximo de conexões permitidas para uma rota que não foi especificada
- socketTimeout *- tempo máximo de espera entre pacotes durante a transferência de dados (milissegundos)
- connectTimeout *- tempo máximo para que uma conexão seja estabelecida com o servidor remoto (milissegundos)
- connectionRequestTimeout *- tempo máximo para obter a conexão do pool de conexão (milissegundos)