Ambiente Desenvolvimento e Produção: mudanças entre as edições
Linha 192: | Linha 192: | ||
** Procure a linha ''''#JAVA_HOME="/opt/java/jdk"'''', remova o '#' e a corrija para que aponte para o JDK homologado | ** Procure a linha ''''#JAVA_HOME="/opt/java/jdk"'''', remova o '#' e a corrija para que aponte para o JDK homologado | ||
=== Adicionando Usuário Administrador | == Módulo sunPKCS11 == | ||
O BIS depende do módulo externo sunpkcs11.jar que é fornecido pela SUN dentro do java. No entanto, por padrão essa biblioteca fica inacessível por não ter suporte direto nem garantia de manutenção em versões futuras (como todos os pacotes sun.*). Para que o WildFly carregue esse pacote e disponibilize para as aplicações precisamos configurá-lo como um módulo adicional. Para isso é necessário criar o arquivo ''''WILDFLY_HOME\modules\system\layers\base\sun\security\pkcs11\main\module.xml'''', com o seguinte conteúdo: | |||
<pre> | |||
<module xmlns="urn:jboss:module:1.0" name="sun.security.pkcs11"> | |||
<resources> | |||
<resource-root path="c:/Program Files/java/jdk1.8.0_301/jre/lib/ext/sunpkcs11.jar"/> | |||
</resources> | |||
<dependencies> | |||
<module name="javax.api"/> | |||
<module name="javax.xml.bind.api"/> | |||
</dependencies> | |||
</module> | |||
</pre> | |||
Uma vez disponibilizado, é necessário garantir que o EAR contenha o arquivo solicitando esse módulo. Para isso o pacote EAR deve conter o arquivo ''''META-INF\jboss-deployment-structure.xml'''', com o seguinte conteúdo: | |||
<pre> | |||
<jboss-deployment-structure> | |||
<deployment> | |||
<dependencies> | |||
<module name="sun.security.pkcs11" export="true"/> | |||
</dependencies> | |||
</deployment> | |||
</jboss-deployment-structure> | |||
</pre> | |||
== Adicionando Usuário Administrador == | |||
# Execute o comando '''WILDFLY_HOME\bin\add-user'''' | # Execute o comando '''WILDFLY_HOME\bin\add-user'''' | ||
Linha 212: | Linha 244: | ||
[[Imagem:wildflyadduser.png|link=|center]] | [[Imagem:wildflyadduser.png|link=|center]] | ||
== Incluindo o Driver JDBC do MySQL == | == Incluindo o Driver JDBC do MySQL == |
Edição das 18h18min de 19 de agosto de 2024
Ambiente e Versões Homologados
![]() |
|
As versões dos sistemas utilizados são:
- Eclipse IDE
- Versão: Eclipse IDE 2023-06 R (4.28.0 / Build id: 20230608-1333) site da versão ou download direto do arquivo zip.
- MySQL Workbench
- Versão: 8.0.18
- Versionamento do Código
- Passamos a utilizar o Git, e hospedando o código em sua maioria em repositórios privados no GitHUb.
- Java
- jdk-8u301 x64 - Por padrão para os módulos e aplicações WEB
- jdk-8u301 x32 - Para alguns módulos e aplicações que exigem a versão 32 (como por exemplo o BISPDV que precisa acessar as bibliotecas DLL do SAT).
- Página de Download do Java 1.8 (versões legadas):
- Servidor de Aplicações WildFly
- Versão: wildfly-24.0.1.Final
Instalação do JDK
- Baixe a versão do JDK homologada;
- Execute e siga os passos do Wizard para completar a instalação. (Preferencialmente aceite as opções padrão de instalação)
Desabilitar Auto Update
Para evitar problemas de atualização automática, ou mesmo consumo de banda, vamos desligar a atualização automática do java no servidor. A atualização automática pode trocar a versão do Java por uma não homologada pelo BIS, fazendo com que funções importantes deixem de funcionar adequadamente. Por isso a atualização do JDK só é feita manualmente e na versão homologada.
Para desabilitar a atualização automática proceda da seguinte forma:
- Abra o Painel de Controles > Java
- Na Aba Atualizar, desmarque a caixa Verificar se Há Atualizações Automaticamente.
- Ao desmarcar aparece um diálogo de confirmação, clique em Não Marcar
- Confirme clicando em OK
Instalação do MySQL
Utilizando o Instalador para Windows
- Execute o Instalador e escolha a opção de instalação apenas do Servidor.
![]() |
|
- Ao fim da instalação o será iniciado o processo de configuração do Servidor, escolhas as seguintes opções:
- Standalone MySQL Server / Classic MySQL Replication, next;
- Config Type: Server Machine, next;
- Configure a senha do banco como biserp2003, não adicione nenhuma outra conta, next;
- Configure o serviço com o nome mysql, e deixe rodar como Standard Service Account, next;
- Em Plugins e Exceptions não há nada para alterar, next;
- Clique em Execute para configurar o servidor.
- Finalize o Wizard principal de instalação.
![]() |
|
Utilizando o ZIP - Sem instalador
- Descompacte o conteúdo na pasta desejada. No windows, recomendável o próprio C:
- (Opcional) Renomeie a pasta para "MySQL", removendo a definição da versão da pasta. Caso necessário a versão pode ser obtida pelo comando:
mysql --version
- Crie um arquivo my.ini na pasta do mysql e cole o seguinte conteúdo corrigindo os caminhos:
[mysqld] # set basedir to your installation path basedir=c:\\mysql # set datadir to the location of your data directory datadir=c:\\mysql\\data # set directory to export files on dump #secure-file-priv=c:/Dumps # Troca o padrão do SQL_MODE para que seja possível usar select com groupBy e colunas que não estejam agregadas, sem ter que usar a função any_value() em casa coluna do select. # O valor definido aqui é o valor padrão do próprio MySQL removendo apenas o ONLY_FULL_GROUP_BY, acrescentado a partir da versão 5.7.x como padrão. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # Força que cada tabela do InnoDB tenha seu próprio arquivo, evitando que o mysql cresça sem limites os arquivos 'ibdata1' e 'ibdata?' innodb_file_per_table=1
![]() |
|
- O MySQL do ZIP não contem a pasta "data" criada com as tabelas iniciais do banco "mysql". Para cria-la utilize o comando:
mysqld --initialize-insecure
- Note que este comando inicializará o banco com um usuário root sem senha, mas vamos configura-la na sessão seguinte.
- Para inicializar o servidor e verificar se tudo corre bem, utilize o seguinte comando:
mysqld --console
- Para instalar o MySQL como um serviço do windows utilize:
mysqld --install <servicename>
![]() |
|
- Para inicializar o MySQL como um serviço utilize:
net start mysql
Configurar o MySQL
- Acesse o MySQL executando o comando abaixo:
c:\mysql\bin\mysql -uroot -p
![]() |
|
- Caso não tenha definido uma senha para o root, é bom defini-la. Para definir a senha de um usuário utilize a sintaxe:
SET PASSWORD FOR 'root'@'localhost' = 'biserp2003';
- Cria uma nova base de dados com o nome "bis_kernel" para as tabelas compartilhadas do sistema e a "bis_bis" para base da primeira empresa (a própria BIS):
CREATE DATABASE bis_kernel; CREATE DATABASE bis_bis;
- Muda para entre as bases de dados criadas com o comando:
USE bis_kernel;
ou
USE bis_bis;
- Importe o(s) script(s) base nesta base de dados com o comando abaixo. Comece pelo script do kernel, já que as tabelas das empresas tem FKs que dependem da base do kernel.
mysql -uroot -p bis_kernel <filename_path>\bis_kernel_10.0.0.sql;
e
mysql -uroot -p bis_bis <filename_path>\bis_bis_10.0.0.sql;
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Instalação do WildFly
- Faça o 'download' da versão homologada pelo BIS.
- Descompacte o conteúdo em 'C:\'
Definindo o caminho do Java
Para garantir que o WildFly utilizará o Java homologado, e não o java padrão disponível no sistema, é preciso forçar o caminho do JAVA_HOME em suas configurações.
- No Windows
- Edite o arquivo 'WILDFLY_HOME\bin\standalone.conf.bat'
- Procure a linha 'rem set "JAVA_HOME=C:\opt\jdk1.6.0_23"', remova o 'rem' e a corrija para que aponte para o JDK homologado
- No Linux
- Edite o arquivo 'WILDFLY_HOME\bin\standalone.conf'
- Procure a linha '#JAVA_HOME="/opt/java/jdk"', remova o '#' e a corrija para que aponte para o JDK homologado
Módulo sunPKCS11
O BIS depende do módulo externo sunpkcs11.jar que é fornecido pela SUN dentro do java. No entanto, por padrão essa biblioteca fica inacessível por não ter suporte direto nem garantia de manutenção em versões futuras (como todos os pacotes sun.*). Para que o WildFly carregue esse pacote e disponibilize para as aplicações precisamos configurá-lo como um módulo adicional. Para isso é necessário criar o arquivo 'WILDFLY_HOME\modules\system\layers\base\sun\security\pkcs11\main\module.xml', com o seguinte conteúdo:
<module xmlns="urn:jboss:module:1.0" name="sun.security.pkcs11"> <resources> <resource-root path="c:/Program Files/java/jdk1.8.0_301/jre/lib/ext/sunpkcs11.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.xml.bind.api"/> </dependencies> </module>
Uma vez disponibilizado, é necessário garantir que o EAR contenha o arquivo solicitando esse módulo. Para isso o pacote EAR deve conter o arquivo 'META-INF\jboss-deployment-structure.xml', com o seguinte conteúdo:
<jboss-deployment-structure> <deployment> <dependencies> <module name="sun.security.pkcs11" export="true"/> </dependencies> </deployment> </jboss-deployment-structure>
Adicionando Usuário Administrador
- Execute o comando WILDFLY_HOME\bin\add-user'
- Escolha a opção 'Management User'
- Crie o usuário 'bis'
- Senha 'biserp2003'
- Deixe em branco os grupos adicionais do usuário (apenas pressione ENTER)
- Confirme com 'Yes' as próximas perguntas
![]() |
|

Incluindo o Driver JDBC do MySQL
- Baixe o JDBC homologado pelo BIS
- Para a versão 8.0.11: baixe com
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-8.0.11.tar.gz
- Descompacte com
sudo tar -xvf mysql-connector-java-8.0.11.tar.gz
- Para a versão 8.0.11: baixe com
- Cria a pasta 'WILDFLY_HOME\modules\system\layers\base\com\mysql\main'
- Copie o JAR do JDBC para esta pasta
- Crie um arquivo 'module.xml' dentro da pasta com o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?> <module name="com.mysql" xmlns="urn:jboss:module:1.9"> <resources> <resource-root path="mysql-connector-java-8.0.11.jar" /> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
Iniciando o Servidor
Para iniciar o servidor execute o comando 'WILDFLY_HOME\bin\standalone'.
![]() |
|
Configuração do Datasource
Configuração do Driver JDBC
- Com o servidor já em execução, acesse o 'Painel de Administração'.
- Acesse 'Configuratoin -> Subsystem -> Datasources & Drivers -> JDBC Drivers'.
- Clique no botão de '+' para adicionar uma nova configuração do Driver do MySQL
- Complete os campos com as seguintes informações:
- Driver Name - MySQL
- Driver Module Name - com.mysql
- Driver Class Name - com.mysql.cj.jdbc.Driver
- Driver XA Datasource Class - com.mysql.cj.jdbc.MysqlXADataSource
Configuração do DataSource BIS10
- Acesse 'Configuratoin -> Subsystem -> Datasources & Drivers -> Datasources'.
- Clique no Botão '+' e escolha a opção 'Add Datasoruce para adicionar um novo DataSource. (Não seleciona a opção XA!)
- Escolha a opção 'Custom'. Apesar de existir uma opção do MySQL, ela não permite as configurações necessárias.
- Em Atributes preencha com:
- Name - BISDS
- JNDI Name - java:/jdbc/BISDS
- Em JDBC Driver apenas escolha o driver que configuramos anteriormente MySQL
- Em Connection complete com:
- Connectino URL - jdbc:mysql://localhost:3306?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=America%2FSao_Paulo
- User Name - Usuário do MySQL
- Password - Senha do MySQL
- Security Domain - deixar em branco
- Teste a conexão e finalize a criação do DS
Configuração do DataSource BIS2
- Acesse 'Configuratoin -> Subsystem -> Datasources & Drivers -> Datasources'.
- Clique no Botão '+' e escolha a opção 'Add Datasoruce para adicionar um novo DataSource. (Não seleciona a opção XA!)
- Escolha a opção 'Custom'. Apesar de existir uma opção do MySQL, ela não permite as configurações necessárias.
- Em Atributes preencha com:
- Name - BISERPDS
- JNDI Name - java:/jdbc/BISERPDS
- Em JDBC Driver apenas escolha o driver que configuramos anteriormente MySQL
- Em Connection complete com:
- Connectino URL - jdbc:mysql://localhost:3306/biserp?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=America%2FSao_Paulo
- User Name - Usuário do MySQL
- Password - Senha do MySQL
- Security Domain - deixar em branco
- Teste a conexão e finalize a criação do DS
![]() |
|
Configurações Adicionais Servidor Linux (Produção)
TimeZone
Embora a partir da versão 10 o BIS utilize o LocalDate, o sistema ainda apresenta alguns "pontos falhos" em que se utilizar do TimeZone do sistema. Por isso é necessário que o servidor esteja configurado para o TimeZone 'America/Sao_Paulo'.
Configurando o TimeSync Service no Amazon Linux
- Exclua o NTP atual:
sudo yum erase 'ntp*'
- Instale o Chrony:
sudo yum install chrony
- Configure o NTP da Amazon (Talvez o mais recomendado seja instalar o NTP brasileiro, mas confiando que o da amazon terá os horários de verão configurados corretamente, mantive). Edite o arquivo /etc/chrony.conf. Se a linha não existir crie-a depois das instruções server ou pool. Caso exista, recomendo que passe para baixo de todas.
sudo nano /etc/chrony.conf
server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
- Reinicie o serviço:
sudo service chronyd restart
- Para visualizar se o server está sendo utilizado corretamente, utilize o comando:
chronyc sources -v
- Ou as métricas de sincronização com:
chronyc tracking
Configurando o TimeZone
Para ver os TimeZones disponíveis navegue dentro da pasta /usr/share/zoneinfo. Neste tutorial já vamos configurar para America/Sao_Paulo.
- Abra o arquivo /etc/sysconfig/clock
sudo nano /etc/sysconfig/clock
- Altere seu conteúdo conforme abaixo:
- ZONE="America/Sao_Paulo"
- UTC=true
- Crie um symLink para o arquivo de TimeZone correspondente, conforme exemplo abaixo:
sudo ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
- Reinicie a instância
sudo reboot
- Verifique a data com
date
Eclipse
Instalação
- Descompacte o conteúdo de dentro do arquivo .zip
- Dentro do .zip há uma pasta chamada 'eclipse'. Se tiver mais versões do eclipse em sua máquina recomendo renomeá-la para 'eclipse-jee-2023-06-R', para ficar no mesmo padrão de nomes utilizado pelo instalador.
![]() |
|
JAutoDoc
Este plugin permite que todo o javaDoc criado para um "field" (atributo da classe) seja replicado automaticamente nos métodos Get e Set ao pressionar a tecla de atalho 'CTRL+ALT+J'.
Instalação pelo MarketPlace
- Vá em 'Help -> Eclipse Marketplace' e procure por 'JAutoDoc'.
- Clique em Instalar siga os passos e Reinicie quando solicitado
Configuração do Módulo
- Após a instalação vá no menu 'Windows > Preferences', no caminho 'Java > JAutoDoc' e clique no botão 'Import All...' para importar as configurações usadas no projeto BIS.
- O arquivo com as opções salvas ficam no projeto 'RFW.Kernel' em 'etc\Eclipse Setup\Eclipse JAutoDoc.xml'.
Configurando o JDK e Bibliotecas no Eclipse
Ao carregar o pom.xml do Maven, o Eclipse configurará o projeto para utilizar o Execution Environment de acordo com a versão do JDK definida no arquivo. Por isso, é importante que o Execution Environment do Eclipse esteja apontando para o JDK homologado. Atualmente o Execution Environment é o JavaSE-1.8.
![]() |
|
- Vá em 'Windows -> Preferences -> Java -> Installed JREs'
- Adicione a instalação do JDK homologado apontando para a pasta do JDK de 64 bits homologado.
- Repita o passo anterior para a versão do JDK de 32 bits homologado.
- Vá em 'Windows -> Preferences -> Java -> Installed JREs -> Execution Environment e em JavaSE-1.8 escolha o JDK 64bits homologado.
![]() |
|
Configurando o WildFly
Antes de configurar o Servidor é necessário baixar o plugin do servidor.
- Vá na aba 'Servidor e click para criar um novo servidor.
- Na tela que se abre, escolha 'JBoss AS, WildFly, & EAP Server Tools' e clique em Next. Este passo pode demorar.
- Termine os passos do Wizard até finalizar. Aguarde o fim da instalação e reinicie se for solicitado.
- Após o término e reinicio do Eclipse, volte à aba 'Servers' e clique em adicionar um novo servidor novamente.
- Desta vez escolha a opção 'WildFly24+', e deixe o Server Name como 'WildFly'.
- Clique em 'Next.
- Na próxima imagem escolha a opção 'Filesystem and shell pperations' para que o Eclipse controle o WildFly corretamente.
- * Para que o eclipse controle adequadamente o a instalação do WildFly precisa ser realizada como orientado nesta página.}}
- Na definição de RunTime, selecione o ambiente conforme homologado.
- Clique em Finish
Formatação do Código
É importante que todo desenvolvedor formate o código do mesmo modo para que o versionamento do código não passe a tratar as diferentes formatações de código como alterações no arquivo. Para facilitar as configurações o BIS utiliza as mesmas configurações definidas no RFW, e já tem um arquivo de formatação, para usa-lo basta seguir os seguintes passos:
Para configurar essas e outras definições de preferências do Eclipse é recomendado importar as preferências do Eclipse a partir do arquivo salvo no projeto RFW.Kernel na pasta etc\Eclipse Setup\Eclipse v2023_06 Preferences - Rodrigo.epf
- Vá em 'Window -> Preferences'
- Na parte inferior clique em importar preferência
- Navegue até o arquivo e importe as configurações disponíveis.
Em caso de falha será necessário configurar o Eclipse manualmente conforme definições a seguir:
Organização dos Imports
Organizar os imports segue a mesma lógica da formatação de código, é obrigatória para evitar que o versionamento identifique a organização de imports como alteração do código.
Há um arquivo modelo disponível em RFW.Kernel\etc\Eclipse Setup que pode ser importado diretamente.
Em caso de falha, configure seu eclipse conforme imagem a seguir:

Automatizando as Formatações ao Salvar o Código
Algumas ações podem ser definidas no eclipse para que realize automaticamente ao salvar, automatizando algumas funções que acabam sendo esquecidas pelo desenvolvedor. Para isso vá no menu Window -> Preferences, em seguida escolha a configuração em Java -> Editor -> Save Actions e configure como a imagem abaixo:

Criando Templates de Códigos
Para facilitar e padronizar alguns códigos o eclipse pode ser configurado para gerar "templates de códigos" automaticamente. As orientações abaixo são uma sugestão de trabalho, não necessariamente uma obrigação.
Para criar esses e outros templates vá no menu Window -> Preferences e na configuração Java -> Editor -> Templates. Click em New e crie o template desejado.
JavaDOC de Classe
O Javadoc de classe tem a finalidade de fazer uma prévia da função da classe, identificar o autor e a data de sua criação.
- Nome: ccbis
- Descrição: Comentário/JavaDOC de Classe do BIS
![]() |
Pattern
/**
* Description: ${cursor}.<br>
*
* @author Nome do Author
* @since (${date})
*/
|
- Troque o nome do autor para o nome do desenvolvedor
- Corrija o número da versão sempre que a versão em que estiver trabalho for alterada.
Eventualmente, quando um desenvolvedor "assume" a classe de outro desenvolvedor ou faz alguma alteração significativa durante o processo de alteração deve ser acrescida a tag abaixo logo a seguir da última @version ou abaixo da @since:
@version - X.X.X - Author - (...)
Onde:
- x.x.x - é a versão em que a alteração foi feita, e;
- (...) - é a descrição das alterações ou mudanças realizadas.
Configurando o Git para Trabalhar com o GitHub
![]() |
|
Criando a Chave SSH
Se ainda não tiver uma chave SSH que queira utilizar, podemos cria-la utilizando o próprio Eclipse.
- Navegue em Window > Preferences > General | Network Connections | SSH2, na aba Key Management

- Clique em Generate RSA Key ou Load Existing Key para criar ou importar suas chaves privadas.
- Configure o comentário desejado e uma senha para proteger sua chave.
- Copie todo o conteúdo da chave pública (Provavelmente começando com ssh-rsa
- Clique em Apply and Close
Configurando a Chave no GitHub
Agora, é preciso configurar o GitHub para aceitar sua chave de autenticação:
- Abra o site do Git Hub e se autentique.
- Clique na imagem do seu perfil e depois em Settings.
- Depois no menu SSH and GPG Keys
- Clique no botão New SSH key
- Dê um título para sua chave (só para sua referência), escolha Authentication Key e cole o conteúdo copiado da chave pública no campo Key.
- Pronto, sua chave será aceita pelo GitHub agora.
Fazendo Checkout do Código Existente
Para realizar o checkout do código:
- Utilize a função de importar projeto do eclipse, escolha Projects from Git.
- Escolha Clone URI.
- No GitHub, copie o link do código utilizando o SSH

- Cole no campo URI da tela Import Projects from Git

- Garanta que o protocolo ficou em ssh e deixe o usuário conforme sugerido git
- Termine a configurações como desejado, escolhendo o diretório de checkout, e no fim permita a importação do projeto no Eclipse.
Instalação do MetaObjectGenerator Plugin
Para gerar os MetaObjects do BIS (os objetos que espelham o VO e tem o mesmo no me do VO com o sufixo "VO_"), você deve instalar os plugins no seu eclipse. Os plugins ficam versionados junto com os projetos de EAR de aplicação, dentro da pasta etc\EclipsePlugins.
Para instalar você deve extrair o conteúdo do .zip dentro da pasta droppins que existe dentro da pasta do eclipse. A instalação ficará no caminho como a seguir:
%eclipseHome%\dropins\plugins\<plugin>.jar
Instalação no BIS10
O BIS10 utiliza o plugin MetaObjectGenerator_3.0.0.jar, que já é a versão atualizada e migrada para o RFW.
Para habilitar o plugin, clique com o botão direito do mouse no projeto em que o plugin precisa ser habilitado (projeto em que estão os VOs), e siga o menu: Configurações > Enable RFW VO_ Generator
Instalação no BIS2
O BIS2 utiliza o plugin mais antigo: BISMetaObjectGenerator_2.0.2.zip. E o nome do plugin no meu Configurações é Enable BIS MetaObject Generator
![]() |
|
MySQL Workbench
O MySQL Workbench é uma ferramenta oferecida pela própria MySQL para planejamento e gerenciamento do banco de dados. Os diagramas de banco de dados do BIS são feitas utilizando esta ferramenta. A instalação não tem nenhuma dificuldade, basta seguir os passos do Wizard se utilizada o instalador para windows, ou descompactar a pasta se usada a versão sem instalador.
![]() |
|
Emulador do SAT
![]() |
|
- Faça o Download do Emulador do SAT aqui. Na ocasião da escrita a versão do emulador é a 2.9.4.
![]() |
|
- Descompacte o conteúdo em uma pasta temporária.
- Instale os arquivos Setup-Emulador_OffLine_v2_9_4.exe e Setup-Ativacao_v2_2_5.exe, siga os passos da instalação.
- Não é necessário instalar o arquivo Setup-AC_v2_2_7.exe uma vez que ele só tem a função de substituir a Automação Comercial - o próprio BIS.
- Copie a Pasta SAT presente no zip para C:\SAT
- Na pasta “SAT” abra o arquivo configuracoes.xml. Modifique <versaoSchema> e <versaoLayoutCFe> de acordo com a versão da Especificação do SAT para a qual o Aplicativo Comercial será programado.
- O instalador do Emulador cria um atalho no Desktop "virado" direto para o jar executável. Normalmente ao executar pelo JAR o menu de configuração do Emulador não aparece (algum bug no emulador). Corrija o atalho para que ele não execute o jar diretamente, mas sim execute o java.exe. (Ex: C:\Windows\System32\java.exe -jar "C:\Program Files (x86)\SAT-CFe\Emulador\Emulador SAT-CFe.jar")
Ativação do Emulador do SAT
A ativação do emulador pode ser feita diretamente pelo BISSatHost. E vamos utiliza-lo aqui ao invés do aplicativo de Ativação que vêm com o emulador, assim já incluímos os passos de configuração do BISSatHost para funcionar com o emulador.
- Para funcionar com o Emulador, o BISSatHost deve ter a C:\SAT\SAT.dll dentro da pasta raiz do projeto do BISSatHost.
![]() |
|
- Abra o arquivo config.properties dentro da pasta raiz do BISSatHost e configure as seguintes propriedades para funcionar com o SAT Host:
bisserver.host=localhost bisserver.port=2082 sat.codigoativacao=BynX53JHxvaj9Yb4TJP3lm8Jb7KBggQ9 sat.chaveassociacao=11111111111112222222222222211111111111111222222222222221111111111111122222222222222111111111111112222222222222211111111111111222222222222221111111111111122222222222222111111111111112222222222222211111111111111222222222222221111111111111122222222222222111111111111112222222222222211111111111111222222222222221111111111111122222222222222111111111 system.xmlbackupdir=./SAT/ system.logdir=./LOG/ socket.listen.port=2083 sat.cnpjContrib=11111111111111
![]() |
|
- Inicie o BISERP e o programa BISSatHost. O BISERP deve estar ligado para garantir autenticação do usuário.
- Escolha a opção At para iniciar a ativação do SAT e faça a autenticação.
- Escolha o certificado 1 - AC-SAT/SEFAZ
- CNPJ do Contribuinte deve ser 11111111111111. O Emulador só aceita esse CNPJ para funcionar.
- No estado de ativação informe SP.
Associar Assinatura
- Para associar a assinatura escolha a opção As no BISSatHost.
- Autentique com um usuário que tenha permissão de configurar o SAT.
- Caso tenha o arquivo c:\debug.txt no computador, o BISSatHost detecta que é modo desenvolvedor e oferece para já configurar as opções para o emulador automaticamente. Escolha S.
- Confirme as opções com a opção S.
- O Emulador do SAT deve aceitar a associação e estar pronto para ser utilizado pela aplicação.
Android Studio
![]() |
|
Para desenvolvimento das aplicações para a plataforma Android e necessário preparar o Android Studio
Instalação do Android Studio
- Faça o download do Android Studio aqui.
- Siga os passos para completar a instalação conforme apresentados no wizard.
Instalação de Equipamento para Debug
Para realizar o debug do software em um equipamento com Android é necessário instalar o driver USB para depuração de acordo com o fabricante. Consulte o download aqui.
Depois que ele for reconhecido corretamente, é preciso liberar o aparelho para a realização de depuração via USB. Para isso siga os seguintes passos:
- Abra as Configurações;
- Selecione Sobre o dispositivo;
- Pressione 7 vezes Número de Compilação / Versão Build / Número da versão;
- Volte para as Configurações;
- Escolha Opções do Desenvolvedor e ative-a, bem como extras;
- Habilite Depuração de USB.
Configuração do SVN
![]() |
|
- Vá em File > Settings > Version Control > Subversion e marque a opção Use command line cliente:

- Na instalação padrão o caminho seria c:\Program Files\TortoiseSVN\bin\svn.exe.
- Abra o projeto feito o checkout pelo TortoiseSVN
Explicações Legadas - Guardadas apenas para eventual referência
Instalação do Glassfish
Usado para o BIS2!
- Faça download da versão homologada pelo BIS do Glassfish.
- Descompacte o conteúdo do .ZIP no drive 'C:\'
Configurando JDK Utilizado
A instalação o Glassfish tenta utilizar o "java" que estiver no path do sistema, isso é, ele simplesmente chama por "java" sem se preocupar com caminho para inicia-lo. Se o java padrão for o correto não é preciso fazer nada, embora seja recomendado definir exatamente o caminho a ser utilizado, assim, se no futuro alguma nova versão for instalada o Glassfish não passará a utilizar "outra versão" inadvertidamente.
Para configurar o glassfish edit o arquivo em <installdir>\glassfish\config\asenv.bat e acrescente a linha abaixo no final do arquivo para definir o home do JDK a ser utilizado:
set AS_JAVA=c:\Program Files\Java\jdk1.8.0_40
Domínio BISERP
![]() |
|
Para separar a aplicação, ou mesmo permitir mais de uma aplicação na mesma máquina, podemos criar domínios separados para cada aplicação. Mesmo que ao iniciar o Glassfish crie um domínio padrão chamado 'domain1', para o ambiente de produção é recomendado criar um domínio diferente. Para o BISERP recomendamos criar um domínio nomeado 'BISERP'. Para isso utilize o comando:
c:\glassfish4\glassfish\bin\asadmin create-domain --portbase 9000 BISERP
![]() |
|
- portbase - é o número da porta base. A partir dessa porta todas as outras portas padrão serão somadas. Por exemplo, se passar como porta base "9000", as portas criadas serão 9080 para http, 9048 para a porta administração, e assim por diante. Para o BISERP recomendamos passar como parâmetro o valor: 9000.
![]() |
|
Permitir Acesso Remoto à tela Admin
O Glassfish 4 exige que o acesso remoto seja feito através de https na máquina local. Para permitir que o acesso possa ser feito de outra máquina temos de habilitar o login seguro no domínio. Antes de executar a configuração necessária precisamos primeiramente 'levantar' o domínio:
asadmin start-domain BISERP
Para realizar a liberação do acesso utilize:
asadmin --host localhost --port 9048 enable-secure-admin
- host: endereço da máquina onde está o glassfish, provavelmente localhost se feito da mesma máquina.
- port: porta do admin - domain1 = 4848; BISERP = 9048
Bibliotecas no Servidor de Aplicações
Devemos copiar as bibliotecas existentes no projeto BISERP na pasta etc/containerlibs para a pasta lib do domínio que será usado, pois são bibliotecas genéricas que precisamos que o GlassFish tenha em sua execução, como por exemplo as bibliotecas do JDBC do banco utilizado (atualmente MySQL). Se estiver com o domínio iniciado, reinicie-o para que ele carregue a nova biblioteca.
Configurar pool de conexões no banco de dados
Para que o BISERP funcione é necessário configurar um POOL de conexões com o banco de dados no Glassfish e depois um DataSource com o nome jdbc/BISERPDS.
- Entre na tela de administração do GlassFish, se seguiu os passos deste manual é:
- Para o ambiente de desenvolvimento: http://localhost:4848
- Para o ambiente de produção: http://localhost:9048
- Entre com o login criado durante a criação do domínio BISERP: pelos passos deste manual é biserp/biserp2003.
- Abra a sessão Resources/JDBC/Connection Pools para criar o novo pool
- Clique em criar new
- Dê o nome "MySQLPool", por exemplo
- Em Resource Type defina javax.sql.ConnectionPoolDataSource
- Escolha o banco de dados MySQL e clique em avançar.
- Nesta tela deixe as opções padrão e nas propriedades devemos definir no mínimo as seguitnes:
- User: biserp (usuário criado no mysql para acessar o banco, para desenvolvimento pode acessar diretamente com a conta root)
- Password: biserp2003 Senha do usuário do banco de dados
- Port: 3306 (Ou outra caso tenha trocado a porta do banco de dados)
- DatabaseName: biserp (Ou outra base que queira usar para desenvolvimento/produção)
- Url e URL: jdbc:mysql://localhost:3306/biserp
- Click em Finalizar.
- Agora na sessão Resouces/JDBC/JDBC Resources vamos criar o data source da aplicação
- Clique em New
- Em JNDI Name complete com "jdbc/BISERPDS" este valor não pode ser alterado pois é o resource que a aplicação procura.
- Escolha o Pool que definimos no passo anterior e confirme.
Para confirmar se tudo funcionou bem, pode entrar no JDBC Connection Pool, clicar no Pool que criamos no primeiro passo e clicar em PING. Se não for bem sucedido o erro dará uma pista do que está errado.
![]() |
|
Instalando o Domínio BISERP como serviço do Windows
Para que o BIS levante-se automaticamente com o sistema é preciso configurar o domínio do glassfish como um serviço do Windows e configuração para iniciar automaticamente. Para criar o serviço execute o comando abaixo:
c:\glassfish4\glassfish\bin\asadmin create-service --name biserp biserp
Depois que o serviço for criado, é preciso garantir que está configurado para inicialização automática. Para isso:
- Abra a janela de Serviços[1] do Windows
- Procure o serviço com o nome BISERP GlassFish Server e dê um duplo clique para abrir suas propriedades
- Na opção Tipo de inicialização: garanta que esteja como Automático (Atraso na Inicialização)
- Clique em OK para confirmar.
![]() |
|
Habilitar Debug Externo
Para fazer com que o servidor habilite o modo Debug ao inicializar, realize o seguinte procedimento:
- Entre no console administrativo;
- Abra o caminho Configurations > server-config > JVM Settings ou equivalente onde tenha sido feito o deploy da aplicação;
- Marque a caixa Debug: Enabled;
- Para especificar uma porta diferente para o Debug acrescente/altere a proriedade address=<port-number> na caixa "Debug Options" logo abaixo;
- É recomendável deixar na porta padrão, afinal o Debug só deve ser ligado em ambientes controlados!
![]() |
|
Fazendo o Deploy do BISERP
Agora que o Glassfish já foi configurado corretamente, precisamos colocar a aplicação BISERP para executar. Para isso siga os passos abaixo:
- Entre na tela de administração do domínio BISERP, através do endereço http://localhost:9048, se você seguiu todos os passos deste manual.
- Selecione no menu a opção "Aplications"
- Click no Botão "Deploy"
- Na tela que abrir, click em "selecionar o arquivo" e escolhar o EAR do BISERP
- Após selecionar o arquivo, diversas novas opções aparecem, deixe todas nos seus valores padrão e click em OK. Esse passo pode demorar um pouco, entre subir o arquivo para o servidor e completar o deploy.
Neste ponto o BISERP já deve ser acessível através do endereço http://localhost:9080/BIS/.
Para fazer com que o site principal (raiz) do endereço a ser exibido seja a página do BIS, vá até no menu: "Configurations > server-config > VIrtual Servers > server" e na opção "Default Web Module" escolha a opção "<nome do deploy>#BISPresWAR.war".
![]() |
|
Aplicação WEB Principal
É possível configurar a aplicação para ser acessível da raiz do domínio, isto é, ao invés do endereço http://localhost:9080/BIS/ usar o endereço http://localhost:9080/.
Para isso precisamos configurar o domínio para assumir que o BISWAR da aplicação BISERP é a aplicação web padrão seguindo os seguintes passos:
- Abra a administração do glassfish no endereço https://localhost:9048 e faça login
- Abra o menu-árvore no caminho Configurations > server-config > Virtual Servers > server
- Na tela de configuração que se abre do lado direito, no campo Default Web Module, escolha a opção do WAR padrão. A opção que terminar com BISWAR.war
- Clique em save do lado superior direito
![]() |
|
- ↑ Para abrir a janela de serviços do windows:
- Vá em Painel de Controle > Serviços, ou,
- Digite services.msc na caixa executar.