Ambiente Desenvolvimento e Produção

De BIS Wiki
Revisão de 19h33min de 26 de julho de 2023 por Rodrigogml (discussão | contribs)
Ir para navegação Ir para pesquisar

Ambiente e Versões Homologados

Registro das versões e sistema utilizados durante o processo de certificação do ambiente:

  • IDEs para Desenvolvimento
    • Eclipse: eclipse-jee-2023-06-R-win32-x86_64.zip
    • MySQL Workbench: 8.0.18
  • Versionamento
    • Deixamos de utilizar o SVN próprio e utilizar os repositórios privados do GitHub.
    • O Eclipse já vem com o EGit (plugin da própria eclipse instalado e com suporte)


BIS2

  • 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).
  • Servidor de Aplicações
    • GlassFish Server Open Source Edition 4.0 (build 89)


BIS2 não está preparado para além do Java 1.8
Note que o BIS2 não está preparado para o Java além do 1.8, logo as bibliotecas RFW também não podem ser migradas do java 1.8.


Java do Maven
Vale notar que o Maven dará problemas se ele não utilizar a versão 1.8 para compilar o código. Cuidado com o ambiente configurado para Javas mais recentes para não utilizar a versão incompatível ao compilar o código

BIS10

  • 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).
  • Servidor de Aplicações
    • wildfly-24.0.1.Final

Instalação do JDK

  1. Baixe a versão do JDK homologada;
  2. 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:

  1. Abra o Painel de Controles > Java
  2. Na Aba Atualizar, desmarque a caixa Verificar se Há Atualizações Automaticamente.
  3. Ao desmarcar aparece um diálogo de confirmação, clique em Não Marcar
  4. Confirme clicando em OK


Instalação do MySQL

Utilizando o Instalador para Windows

  1. Execute o Instalador e escolha a opção de instalação apenas do Servidor.
Microsoft Visual C++ Redistributable
Caso o sistema ainda não tenha instalado o componente da Microsoft, faça a instalação a partir do próprio instalador do MySQL
  1. Ao fim da instalação o será iniciado o processo de configuração do Servidor, escolhas as seguintes opções:
    1. Standalone MySQL Server / Classic MySQL Replication, next;
    2. Config Type: Server Machine, next;
    3. Configure a senha do banco como biserp2003, não adicione nenhuma outra conta, next;
    4. Configure o serviço com o nome mysql, e deixe rodar como Standard Service Account, next;
    5. Em Plugins e Exceptions não há nada para alterar, next;
    6. Clique em Execute para configurar o servidor.
  1. Finalize o Wizard principal de instalação.
Ambiente de Produção
Verifique as configurações do serviço criado para ter certeza que o serviço foi configurado para ligar automaticamente com o Windows ao iniciar.

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
secure-file-priv
Esse atributo deve ser definido caso haja a intenção de exportar o conteúdo das tabelas em arquivos de texto, como por exemplo usando o parâmetro --tab do mysqldump.exe.

No entanto, se esse atributo for definido, a pasta deve existir! Caso contrário o MySQL não inicializa!

  • 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>
Nome do Serviço Opcional
Caso o nome do serviço seja omitido, o serviço será instalado com o nome padrão 'mysql'. Só é necessário informar outro nome caso haja mais de uma versão do mysql instalada. Neste caso lembre-se de não permitir os serviços iniciando automaticamente para evitar conflito com a porta de conexão.


  • 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


Usuário Root
Para conseguir se conectar no banco é obrigatório passar o parâmetro do usuário (-uroot) e o de senha (-p<seha>).


Caso seja passado apena o "-p" sem informa a senha, ela será perguntada com um campo hidden, útil para não exibir a senha quando alguém estiver próximo.

  • 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;


Escape Caracters
Não se esqueça que o MySQL utiliza escape caracters na sua sintaxe, logo se o caminho para o script for e:\BISInstaKit\biscore_basescript.sql você deve usar e:\\BISInstaKit\\biscore_basescript.sql ao digitar o caminho no comando SOURCE.


Script Base
Os scripts de base costumam ser versionados no projeto BISEAR em /etc/resources/dbbasescripts. Esses scripts não são armazenados junto com os scripts de atualização porque não são empacotados junto com a aplicação, eles fazem parte da configuração do ambiente.


Usuário Próprio
Para o ambiente de produção é bom restringir o acesso a base de dados e não usar a conta root. Para isso vamos criar um usuário exclusivo para acesso ao banco de dados 'biserp' com o comando abaixo:
CREATE USER 'bis'@'%' IDENTIFIED BY 'biserp2003';

Em seguida precisamos garantir acesso total deste novo usuário ao banco de dados. Precisamos dar acesso que inclua criar novos bancos de dados, uma vez que ele precisará criar quando o sistema cadastrar novas empresas no sistema:

GRANT USAGE ON *.* TO 'bis'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'bis'@'%' WITH GRANT OPTION;

Por fim force o reload das permissões:

FLUSH PRIVILEGES;


MySQL 8
No MySQL 8 o plugin de autenticação foi substituído. E a autenticação feita pelo Glassfish dará problema. Para corrigir o problema de autenticação, é necessário utilizar o seguinte comando para atualizar a senha do usuário que o Glassfish vai usar para o plugin antigo de autenticação:
ALTER USER 'bis'@'%' IDENTIFIED WITH mysql_native_password BY 'biserp2003';

O problema foi detectado utilizando o GlassFish 4, com o MySQL Connector 5.1.43 e o MySQL 8.0.11.


Usuário Leitura
Para cliente com usuários mais avançados, podemos permitir um acesso a nossa base de dados somente de leitura, permitindo que o cliente extraia dados diretamente da base de dados e gere seus próprios relatórios.
CREATE USER 'cliente'@'%' IDENTIFIED BY 'cliente';
GRANT SELECT ON `bis_bis`.* TO 'cliente'@'%' identified by 'cliente';

Para efetivar o usuário execeute:

FLUSH PRIVILEGES;


Instalação do WildFly

  1. Faça o 'download' da versão homologada pelo BIS em https://www.wildfly.org/downloads/
  2. 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

Adicionando Usuário Administrador

  1. Execute o comando WILDFLY_HOME\bin\add-user'
  2. Escolha a opção 'Management User'
  3. Crie o usuário 'bis'
  4. Senha 'biserp2003'
  5. Deixe em branco os grupos adicionais do usuário (apenas pressione ENTER)
  6. Confirme com 'Yes' as próximas perguntas


Erro de JAVA no add-user
Se tiver problemas relacionado a versão do Java provavelmente é por estar utilizando uma versão do Java não compatível com o WildFly. Para executar o script, ou troque sua versão padrão do java para executar esse script, ou edite o arquivo add-user.bat e inclua a linha:
set "JAVA_HOME=c:\Program Files\Java\jdk-20"

antes do código que testa o Java Home:

if "x%JAVA_HOME%" == "x" (



Incluindo o Driver JDBC do MySQL

  1. Baixe o JDBC homologado pelo BIS
    1. 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
    2. Descompacte com
      sudo tar -xvf mysql-connector-java-8.0.11.tar.gz
  2. Cria a pasta 'WILDFLY_HOME\modules\system\layers\base\com\mysql\main'
  3. Copie o JAR do JDBC para esta pasta
  4. 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'.


Standalone Vs. Domain
Diferentemente da definição do Glassfish, o modo Domínio é utilizado para rodar múltiplas instâncias do WildFly distribuído em Cluster, Servidores, Etc.

O BIS por enquanto não tem necessidade de rodar em um ambiente dividido em múltiplos servidores e domínios, por isso é executando no modo standalone tanto no ambiente de Homologação quanto de Produção.


Configuração do Datasource

Configuração do Driver JDBC

  1. Com o servidor já em execução, acesse o 'Painel de Administração'.
  2. Acesse 'Configuratoin -> Subsystem -> Datasources & Drivers -> JDBC Drivers'.
  3. Clique no botão de '+' para adicionar uma nova configuração do Driver do MySQL
  4. Complete os campos com as seguintes informações:
    1. Driver Name - MySQL
    2. Driver Module Name - com.mysql
    3. Driver Class Name - com.mysql.cj.jdbc.Driver
    4. Driver XA Datasource Class - com.mysql.cj.jdbc.MysqlXADataSource


Configuração do DataSource BIS10

  1. Acesse 'Configuratoin -> Subsystem -> Datasources & Drivers -> Datasources'.
  2. Clique no Botão '+' e escolha a opção 'Add Datasoruce para adicionar um novo DataSource. (Não seleciona a opção XA!)
  3. Escolha a opção 'Custom'. Apesar de existir uma opção do MySQL, ela não permite as configurações necessárias.
  4. Em Atributes preencha com:
    1. Name - BISDS
    2. JNDI Name - java:/jdbc/BISDS
  5. Em JDBC Driver apenas escolha o driver que configuramos anteriormente MySQL
  6. Em Connection complete com:
    1. Connectino URL - jdbc:mysql://localhost:3306?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=America%2FSao_Paulo
    2. User Name - Usuário do MySQL
    3. Password - Senha do MySQL
    4. Security Domain - deixar em branco
  7. Teste a conexão e finalize a criação do DS


Falha no Teste da Conexão
Algumas vezes, por algum erro, a conexão com o banco de dados falha. Mesmo voltando, arrumando e tentando realizar um novo teste a conexão com o banco falha. Parece que o WildFly tem algum BUG neste sentido. Pois já tive casos de o teste da conexão falhar, e concluí a configuração - apertando finish - e depois que a conexão foi inserida e o servidor 'reloaded', o teste de conexão resultar em sucesso.

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

  1. Exclua o NTP atual:
    sudo yum erase 'ntp*'
  2. Instale o Chrony:
    sudo yum install chrony
  3. 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
  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.

  1. Abra o arquivo /etc/sysconfig/clock
    sudo nano /etc/sysconfig/clock
  2. Altere seu conteúdo conforme abaixo:
    ZONE="America/Sao_Paulo"
    UTC=true
  3. Crie um symLink para o arquivo de TimeZone correspondente, conforme exemplo abaixo:
    sudo ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
  4. Reinicie a instância
    sudo reboot
  5. Verifique a data com
    date

Eclipse

Instalação

  1. Baixe o eclipse diretamente do site Eclipse Fundation.
  2. Instale descompactando o .zip em seu local de preferência.


Definição da VM para Execução do Eclipse

Se precisar definir a VM para execução (inicialização) do Eclipse. Edite o arquivo eclipse.ini na raiz do eclipse, e inclua/modifique os parâmetros como o exemplo abaixo:

-vm
c:/Program Files/Java/jdk-19/bin/javaw.exe


Quebra de Linha
Observe que a quebra de linha é obrigatória, cada parâmetro em uma linha separada. A definição da JVM de execução normalmente só é necessária caso o Eclipse apresente erros durante sua inicialização.


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

  1. Vá em 'Help -> Eclipse Marketplace' e procure por 'JAutoDoc'.
  2. Clique em Instalar siga os passos e Reinicie quando solicitado


Configuração do Módulo

  1. 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.
  2. O arquivo com as opções salvas ficam no projeto 'BIS' no arquivo 'etc\Environment Setup\jautodoc-eclipse.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.


Versão x64 e x32
Embora o BIS esteja homologado para rodar na versão 64bits, alguns módulos e aplicações externas podem requerer a versão 32bits. Um exemplo é o BISPDV que por questões de compatibilidade com DLLs de SAT, Impressoras, PinPads e etc., precisam rodar em 32Bits.

Para estes casos a cada vez que o Eclipse recarregar o pom.xml do Maven, é necessário configurar manualmente que desejamos que o projeto rode no JDK de 32bits homologado.


  1. Vá em 'Windows -> Preferences -> Java -> Installed JREs'
  2. Adicione a instalação do JDK homologado apontando para a pasta do JDK de 64 bits homologado.
  3. Repita o passo anterior para a versão do JDK de 32 bits homologado.
  4. Vá em 'Windows -> Preferences -> Java -> Installed JREs -> Execution Environment e em JavaSE-1.8 escolha o JDK 64bits homologado.


Maven
Desde a adoção do Maven para controlar as bibliotecas de cada projeto não é mais necessário realizar configurações extras de bibliotecas no Eclipse


Configurando o WildFly

Antes de configurar o Servidor é necessário baixar o plugin do servidor.

  1. Vá na aba 'Servidor e click para criar um novo servidor.
  2. Na tela que se abre, escolha 'JBoss AS, WildFly, & EAP Server Tools' e clique em Next. Este passo pode demorar.
  3. Termine os passos do Wizard até finalizar. Aguarde o fim da instalação e reinicie se for solicitado.
  4. Após o término e reinicio do Eclipse, volte à aba 'Servers' e clique em adicionar um novo servidor novamente.
  5. Desta vez escolha a opção 'WildFly27+', e deixe o Server Name como 'WildFly'.
  6. Clique em 'Next.
  7. 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.}}
  8. Na definição de RunTime, selecione o ambiente conforme homologado.
  9. 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:


Incompatibilidade de Versões
Durante o processo de migração da versão 2019 para a 2021, ao importar o arquivo de formatação e outras configurações automaticamente o Eclipse passou a apresentar diversos problemas. Como se tivesse importado alguma configuração incompatível que o fazia travar.

Caso isso ocorra, será necessário refazer as configurações manualmente na nova versão da IDE e gerar um novo arquivo de configurações. Por isso o arquivo passou a ter um sufixo com a versão do Eclipse em que ele foi gerado.


  1. Vá em 'Window -> Preferences'
  2. Depois em 'Java -> Code Style -> Formatter' e 'Import...'
  3. Escolha o arquivo 'Eclipse Code Style Formatter.xml' disponível no caminho RFW.Kernel\etc\Eclipse Setup

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:

Organização de Imports no Eclipse
Organização de Imports no Eclipse

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 3.0.0 (${date})
 */
  1. Troque o nome do autor para o nome do desenvolvedor
  2. 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

Falha ao Autenticar com Usuário e Senha
Antes de começar, tive diversos problemas para autenticar com usuário e senha utilizando o GitHub, não sei se é limitação do site ou do Eclipse.


É possível fazer o checkout do código e navegar no repositório, mas no momento de fazer os Pushs o eclipse não autentica e segue perguntando usuário e senha.

Por isso, sempre faça o checkout do código já utilizando chave SSH. No modelo que é sugerido configurar aqui.


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
Criação/Importação de Chave SSH
Criação/Importação de Chave SSH
  • 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
Link do Repositório por SSH
Link do Repositório por SSH
  • Cole no campo URI da tela Import Projects from Git
Checkout do Código por SSH no Git Hub
Checkout do Código por SSH no Git Hub
  • 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.


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.


Versão do Workbench
A versão do MySQL Workbench deve ser a mesma utilizada por toda a equipe de desenvolvimento. Isso porque os arquivos salvos nas versões mais recentes da ferramenta não podem ser abertos nas anteriores. A atualização da versão deve ser conversada com toda a equipe.


Emulador do SAT

Desinstalar Versões Anteriores antes de Atualizar
O instalador do emulador não suporta atualizações corretamente, por isso, caso tenha uma versão do emulador já instalado é recomendável realizar a desinstalação antes. Para isso utilize o Painel de Controle do Windows para desinstalar o "Emulador SAT". As demais instalações não geram entrada na tela de programas instalados, neste caso apague a pasta C:\Program Files (x86)\SAT-CFe e todo o seu conteúdo.


  • Faça o Download do Emulador do SAT aqui. Na ocasião da escrita a versão do emulador é a 2.9.4.


Manual de Instalação
Na mesma página de download, na seção de 'Manuais' é possível encontrar o manual de procedimentos para instalação do Emulador. Embora seguir aqui seja mais "rápido", alguma mudança na versão pode ter trocado os procedimentos e ser necessário a realização de outros procedimentos.


  • 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.


Maiúscula x Minuscula
O Emulador envia a DLL com o SAT maiúsculo e a extensão minúscula, para o BIS encontrar a biblioteca corretamente o nome da DLL deve estar toda em minuscúlo.


  • 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


Código de Ativação
O código de ativação inicial do emulador é 12345678, no arquivo de properties o código de ativação fica criptografado.


  • 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

Desatualizado
Este trecho da documentação foi migrado desde o BIS2 sem atualização. Está aqui somente por referência, mas provavelmente precisa de atualização.


Para desenvolvimento das aplicações para a plataforma Android e necessário preparar o Android Studio

Instalação do Android Studio

  1. Faça o download do Android Studio aqui.
  2. 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:

  1. Abra as Configurações;
  2. Selecione Sobre o dispositivo;
  3. Pressione 7 vezes Número de Compilação / Versão Build / Número da versão;
  4. Volte para as Configurações;
  5. Escolha Opções do Desenvolvedor e ative-a, bem como extras;
  6. Habilite Depuração de USB.

Configuração do SVN

Instalação do TortoiseSVN
O Android Studio necessita de um cliente para realizar as funções de SVN, caso ainda não tenha instalado, execute a instalação do TortoiseSVN antes de continuar.


  1. Vá em File > Settings > Version Control > Subversion e marque a opção Use command line cliente:
    1. Na instalação padrão o caminho seria c:\Program Files\TortoiseSVN\bin\svn.exe.
  1. Abra o projeto feito o checkout pelo TortoiseSVN