Bem-vindo à documentação oficial da aplicação 2A IDE. Aqui você encontrará todas as informações necessárias para preparar seu ambiente de desenvolvimento e utilizar a plataforma de forma eficiente.
A 2A IDE é uma plataforma de desenvolvimento que visa automatizar e simplificar a criação de sistemas web completos. A aplicação permite que desenvolvedores:
Para executar a aplicação 2A IDE (versão desktop) ou desenvolver para a plataforma, seu ambiente deve atender aos seguintes requisitos:
Windows 10 ou superior
Windows 11 compatível
Python 3.12.5 ou superior
Recomendado: Python 3.12.x
Microsoft Edge (versão mais recente)
Atualizações automáticas ativadas
Mínimo: 4 GB
Recomendado: 8 GB ou mais
Para verificar se seu ambiente atende aos requisitos, siga os passos abaixo:
Clique no botão Iniciar e digite "Sobre o PC" ou "winver" no campo de busca.
Painel de Controle → Sistema → Versão do Windows
Abra o Prompt de Comando ou PowerShell e digite:
python --version
Você deverá ver uma mensagem como: Python 3.12.5 ou superior.
Abra o Microsoft Edge e clique no menu (três pontos) no canto superior direito, depois vá para Configurações e muito mais → Configurações.
Clique em "Sobre o Microsoft Edge" no menu lateral
O navegador verificará automaticamente se há atualizações disponíveis e as instalará.
Para desenvolver projetos completos com a 2A IDE e fazer integração com banco de dados, compile e deploy, instale as seguintes ferramentas:
Sistema de banco de dados relacional para armazenamento dos dados da aplicação.
Download PostgreSQLJDK 17 ou superior. Necessário para compilar projetos Java/Kotlin.
Recomendado: Eclipse Temurin JDK 17 ou Oracle JDK 17+
Download Eclipse TemurinFerramenta de automação de compilação para gerenciar dependências e build de projetos Java.
Configure as variáveis de ambiente após a instalação
Download MavenServidor web para deploy de aplicações Java (.WAR). Versão 10.1 ou superior (compatível com JDK 17+).
Configure no compilador da 2A IDE para gerar o .WAR
Download Tomcat 11Após instalar o JDK e Maven, configure as variáveis de ambiente do Windows:
Nome da variável: JAVA_HOME
Valor da variável: C:\Program Files\Java\jdk-17
Nome da variável: MAVEN_HOME
Valor da variável: C:\apache-maven-3.9.x
Edite a variável Path e adicione:
%JAVA_HOME%\bin
%MAVEN_HOME%\bin
Após compilar o projeto na 2A IDE e gerar o arquivo .WAR:
C:\tomcat)C:\tomcat\webappsstartup.bat na pasta C:\tomcat\binhttp://localhost:8080/nome-do-projetoSiga os passos abaixo para criar e configurar um novo projeto na 2A IDE:
Na interface inicial do Gerenciador de Projetos:
Após criar o projeto, selecione-o na lista e configure-o:
C:\Program Files\Apache Software Foundation\Tomcat 11.0\webapps\app).
Na aba "Banco" do projeto, você pode verificar e criar as tabelas necessárias:
Se você já possui um projeto criado e deseja atualizar para uma nova versão da aplicação ou restaurar arquivos faltantes, utilize esta funcionalidade.
Os seguintes arquivos e pastas existem no seu projeto mas não serão sobrescritos durante a atualização:
ControllerFluxos.kt - Controller de fluxos personalizadoControllerPuzzlePiece.kt - Controller de puzzle piecefluxosController.js - Controller de fluxos JavaScriptcontrollerPuzzlePiece.js - Controller de puzzle piece JSmenu.xml - Arquivo de menu do sistemadb.properties - Configurações do banco de dadosapplication.properties - Configurações da aplicaçãoconfig.properties - Configurações geraisresources/ - Pasta de recursosassets/ - Pasta de assetsOs seguintes arquivos são sempre atualizados quando uma nova versão está disponível:
lookup-system.js - Sistema de lookup/atualização da aplicaçãoexecute-dynamic-sql.jsp - Serviço de execução de SQL dinâmicoO sistema de tenant permite que um mesmo projeto utilize múltiplos bancos de dados independentes. Cada tenant representa uma empresa/cliente diferente que acessa o sistema com suas próprias configurações de banco de dados.
Um tenant é uma instância isolada do banco de dados para uma empresa ou cliente específico. O sistema redireciona automaticamente as conexões com base no tenant selecionado, permitindo que múltiplas empresas utilizem o mesmo código da aplicação.
?empresa=nome-do-tenantSiga os passos abaixo para adicionar um novo tenant ao seu projeto:
db_[nome-do-tenant].properties será criado automaticamente na pasta src/main/resources/ do projeto.
Ao adicionar um tenant, o sistema cria automaticamente o arquivo de configuração do banco:
src/main/resources/db_[nome-do-tenant].properties
Este arquivo contém as configurações de conexão:
db.url=jdbc:postgresql://localhost:5432/nome_do_banco
db.user=usuario
db.password=senha
Para acessar o sistema como um tenant específico, utilize uma destas formas:
http://seu-sistema.com.br?empresa=nome-do-tenant
http://seu-sistema.com.br/login.jsp?empresa=nome-do-tenant
Após o primeiro acesso, um cookie chamado last_tenant é salvo automaticamente (validade de 30 dias) para lembrar a seleção.
O sistema de tenant é composto pelos seguintes arquivos no projeto:
TenantContext.java - Gerencia o tenant atual por thread (ThreadLocal)DatabaseUtil.java - Carrega propriedades específicas do tenant e cria conexõesLoginServlet.java - Processa parâmetro empresa e salva na sessãoAuthenticationFilter.java - Mantém o tenant entre requisiçõesLogoutServlet.java - Preserva o tenant ao fazer logoutO sistema de tenant funciona em conjunto com o sistema de Token de Interoperabilidade para permitir acesso automático de sistemas externos:
http://seu-sistema.com.br?token=meu-token&empresa=nome-da-empresa
Combine o token de acesso com o parâmetro de empresa para automaticamente logar como o tenant correto.
O sistema de token de interoperabilidade permite que sistemas externos autentiquem automaticamente em sua aplicação sem necessidade de login manual. Ideal para integração entre sistemas legados e novos.
O sistema utiliza uma tabela no banco de dados para armazenar os tokens de acesso:
CREATE TABLE IF NOT EXISTS token_interop
(
token VARCHAR(255) PRIMARY KEY,
id_usr INTEGER NOT NULL,
expiracao TIMESTAMP NOT NULL
)
Esta tabela é automaticamente criada quando você clica em "Verificar Tabelas" → "Criar Tabelas" na aba Banco do projeto.
Para criar um token de acesso, insira diretamente no banco de dados:
INSERT INTO token_interop (token, id_usr, expiracao)
VALUES ('meu-token-unico', 1, NOW() + INTERVAL '24 hours');
fr_usuario.usr_codigo)Para acessar o sistema automaticamente usando o token, utilize uma destas formas:
http://seu-sistema.com.br?token=meu-token-unico
http://seu-sistema.com.br?token=meu-token-unico&empresa=nome-da-empresa
Após o primeiro acesso via URL, um cookie chamado INV_INTEROP_TOKEN é armazenado no navegador automaticamente, permitindo acesso automático em acessos subsequentes.
Para estender a validade de um token sem alterar seu valor:
UPDATE token_interop SET expiracao = NOW() + INTERVAL '24 hours' WHERE token = 'meu-token-unico';
Você também pode implementar a renovação automática no DAO TokenInteropDAO.refreshToken().
expired.jsp quando o token é inválidoINV_INTEROP_TOKEN tem validade de 12 horasSameSite=None para permitir acesso cross-site em iframesO sistema de token é composto pelos seguintes arquivos:
TokenInteropDAO.java -DAO para manipulação de tokensTenantContext.java - Contexto de tenant por threadAuthenticationFilter.java - Filtro de autenticação com suporte a tokenexpired.jsp - Página exibida quando token expira