Documentação 2A IDE

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.

Aplicação 2A IDE - Desktop

Necessidades da aplicação

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:

  • Gerar código automaticamente a partir de consultas SQL
  • Criar interfaces visuais com drag & drop
  • Editar e compilar projetos Java/Kotlin diretamente no navegador
  • Integrar com bancos de dados PostgreSQL
  • Exportar projetos completos prontos para deploy
Nota: Para utilizar a aplicação web (versão navegador), não é necessário instalar nada. Basta acessar a plataforma através de um navegador compatível.

Requisitos

Para executar a aplicação 2A IDE (versão desktop) ou desenvolver para a plataforma, seu ambiente deve atender aos seguintes requisitos:

Sistema Operacional

Windows 10 ou superior
Windows 11 compatível

Python

Python 3.12.5 ou superior
Recomendado: Python 3.12.x

Navegador Web

Microsoft Edge (versão mais recente)
Atualizações automáticas ativadas

Memória RAM

Mínimo: 4 GB
Recomendado: 8 GB ou mais

Verificação de Requisitos

Para verificar se seu ambiente atende aos requisitos, siga os passos abaixo:

1. Verificar Versão do Windows

Clique no botão Iniciar e digite "Sobre o PC" ou "winver" no campo de busca.

Painel de Controle → Sistema → Versão do Windows
2. Verificar Versão do Python

Abra o Prompt de Comando ou PowerShell e digite:

python --version

Você deverá ver uma mensagem como: Python 3.12.5 ou superior.

3. Verificar e Atualizar o Microsoft Edge

Abra o Microsoft Edge e clique no menu (três pontos) no canto superior direito, depois vá para Configurações e muito maisConfigurações.

Clique em "Sobre o Microsoft Edge" no menu lateral

O navegador verificará automaticamente se há atualizações disponíveis e as instalará.

Dica: Mantenha sempre seu sistema operacional, Python e navegador atualizados para garantir compatibilidade e segurança.
Projeto

Requisitos do projeto

Para desenvolver projetos completos com a 2A IDE e fazer integração com banco de dados, compile e deploy, instale as seguintes ferramentas:

PostgreSQL

Sistema de banco de dados relacional para armazenamento dos dados da aplicação.

Download PostgreSQL
JDK (Java Development Kit)

JDK 17 ou superior. Necessário para compilar projetos Java/Kotlin.

Recomendado: Eclipse Temurin JDK 17 ou Oracle JDK 17+

Download Eclipse Temurin
Maven

Ferramenta 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 Maven
Apache Tomcat

Servidor 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 11
Git

Sistema de controle de versão para gerenciar o código fonte do projeto.

Download Git
VS Code

Editor de código recomendado para editar arquivos do projeto externamente.

Download VS Code
Configuração de Variáveis de Ambiente

Após instalar o JDK e Maven, configure as variáveis de ambiente do Windows:

  1. Clique com o botão direito em Este PCPropriedades
  2. Clique em Configurações avançadas do sistema
  3. Clique no botão Variáveis de Ambiente
  4. Em Variáveis do sistema, clique em Novo:
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
Nota: A conexão com internet não é necessária para o funcionamento da aplicação, mas é recomendada para receber atualizações.
Deploy com Tomcat

Após compilar o projeto na 2A IDE e gerar o arquivo .WAR:

  1. Baixe e extraia o Apache Tomcat 11 para uma pasta (ex: C:\tomcat)
  2. Copie o arquivo .WAR gerado pela 2A IDE para a pasta C:\tomcat\webapps
  3. Inicie o Tomcat executando startup.bat na pasta C:\tomcat\bin
  4. Acesse a aplicação no navegador: http://localhost:8080/nome-do-projeto
Configuração no Compilador: Na 2A IDE, configure o caminho do Tomcat nas configurações do compilador para gerar o .WAR compatível.

Configurar novo projeto

Siga os passos abaixo para criar e configurar um novo projeto na 2A IDE:

1. Criar Novo Projeto

Na interface inicial do Gerenciador de Projetos:

  1. Clique no botão "Novo Projeto" na barra lateral esquerda
  2. Preencha o Nome do Projeto (ex: MeuProjetoApp)
  3. Defina o Package (ex: com.empresa.meuapp) - opcional mas recomendado
  4. Selecione o Caminho da Pasta onde o projeto será criado
  5. Escolha o Tipo de Projeto: Web, API ou Desktop
  6. Clique em "Criar Projeto" para finalizar
Dica: O projeto será criado na pasta especificada com a estrutura base do tipo escolhido.
2. Selecionar e Configurar Projeto

Após criar o projeto, selecione-o na lista e configure-o:

  1. Clique no projeto na lista de projetos na barra lateral
  2. Clique no botão "Configurações" no card de ações
  3. Na aba "Configurações", configure:
    • Caminho do Tomcat: Defina o caminho do Tomcat para deploy (WAR Exploded)
    • Host do Banco: localhost ou endereço do servidor
    • Porta do Banco: Porta do PostgreSQL (padrão: 5432)
    • Nome do Banco: Nome do banco de dados
    • Usuário: Usuário do banco de dados
    • Senha: Senha do banco de dados
  4. Clique em "Salvar Alterações" para persistir as configurações
Importante: O caminho do Tomcat deve apontar para a pasta webapps do seu servidor Tomcat instalado (ex: C:\Program Files\Apache Software Foundation\Tomcat 11.0\webapps\app).
3. Configurar Banco de Dados

Na aba "Banco" do projeto, você pode verificar e criar as tabelas necessárias:

  1. Selecione o projeto na lista
  2. Clique na aba "Banco" nos detalhes do projeto
  3. Aguarde a verificação de conexão com o banco
  4. Clique em "Verificar Tabelas" para listar as tabelas existentes
  5. Se as tabelas necessárias para a aplicação não existirem:
    • Clique no botão "Criar Tabelas"
    • As tabelas serão criadas automaticamente baseado no modelo da aplicação
  6. Após criar as tabelas, o banco estará pronto para uso com a aplicação
Prontinho! Com o banco configurado e as tabelas criadas, você pode compilar o projeto e fazer o deploy no Tomcat.

Restaurar arquivos do projeto ou Atualizar para nova versão

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.

Como atualizar o projeto
  1. Selecione o projeto na lista de projetos na barra lateral
  2. Clique na aba "Arquivos" nos detalhes do projeto
  3. Clique no botão "Atualizar Arquivos"
  4. Aguarde a verificação e cópia dos novos arquivos
Importante: Esta função copia arquivos novos da referência para seu projeto. Arquivos que você já personalizou não serão sobrescritos.
Arquivos protegidos (não são sobrescritos)

Os seguintes arquivos e pastas existem no seu projeto mas não serão sobrescritos durante a atualização:

  • ControllerFluxos.kt - Controller de fluxos personalizado
  • ControllerPuzzlePiece.kt - Controller de puzzle piece
  • fluxosController.js - Controller de fluxos JavaScript
  • controllerPuzzlePiece.js - Controller de puzzle piece JS
  • menu.xml - Arquivo de menu do sistema
  • db.properties - Configurações do banco de dados
  • application.properties - Configurações da aplicação
  • config.properties - Configurações gerais
  • resources/ - Pasta de recursos
  • assets/ - Pasta de assets
Dica: Estes arquivos só serão copiados se não existirem no seu projeto. Isso garante que suas personalizações e configurações sejam mantidas.
Arquivos que são atualizados (sobrescritos)

Os seguintes arquivos são sempre atualizados quando uma nova versão está disponível:

  • lookup-system.js - Sistema de lookup/atualização da aplicação
  • execute-dynamic-sql.jsp - Serviço de execução de SQL dinâmico
Observação: Estes arquivos são atualizados automaticamente para garantir que você tenha sempre a versão mais recente da aplicação.
Quando usar esta função
  • Nova versão da aplicação: Quando você receber uma atualização da aplicação Python e quiser aplicar no projeto do cliente
  • Restaurar arquivos: Se algum arquivo do projeto foi deletado acidentalmente
  • Projeto em outro computador: Se você criou o projeto em uma máquina e precisa copiar as atualizações para outra
  • Package diferente: Os arquivos copiados são automaticamente ajustados para o package do seu projeto
Projeto

Sistema de Tenant

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

O que é um Tenant?

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.

  • Isolamento: Cada tenant tem seu próprio banco de dados
  • Configuração independente: Host, porta, usuário e senha específicos por tenant
  • Suporte a desenvolvimento e produção: Configurações separadas para cada ambiente
  • Seleção via URL: O tenant pode ser definido via parâmetro ?empresa=nome-do-tenant
Como adicionar um Tenant

Siga os passos abaixo para adicionar um novo tenant ao seu projeto:

  1. Selecione o projeto na lista de projetos na barra lateral
  2. Clique na aba "Banco" nos detalhes do projeto
  3. Na seção "Tenants", clique no botão "Adicionar Tenant"
  4. Preencha os dados do tenant:
    • Nome do Tenant: Identificador único (sem espaços, ex: empresaabc)
    • Host: Endereço do servidor do banco (ex: localhost)
    • Porta: Porta do PostgreSQL (padrão: 5432)
    • Nome do Banco: Nome do banco de dados do tenant
    • Usuário: Usuário de conexão
    • Senha: Senha do banco
  5. Configurações de Produção (opcional):
    • Informe os dados do banco de produção para deploy
  6. Clique em "Salvar Tenant" para persistir as configurações
Nota: O arquivo de configuração db_[nome-do-tenant].properties será criado automaticamente na pasta src/main/resources/ do projeto.
Arquivos gerados

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
Acessando com Tenant

Para acessar o sistema como um tenant específico, utilize uma destas formas:

  1. Via URL:
  2. http://seu-sistema.com.br?empresa=nome-do-tenant
  3. Via parâmetro no sistema de login:
  4. http://seu-sistema.com.br/login.jsp?empresa=nome-do-tenant
  5. Via cookie:
  6. Após o primeiro acesso, um cookie chamado last_tenant é salvo automaticamente (validade de 30 dias) para lembrar a seleção.

Arquivos Implementados no Backend

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ões
  • LoginServlet.java - Processa parâmetro empresa e salva na sessão
  • AuthenticationFilter.java - Mantém o tenant entre requisições
  • LogoutServlet.java - Preserva o tenant ao fazer logout
Integração com Token de Interoperabilidade

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

Prontinho! Com o tenant configurado, você pode gerenciar múltiplas empresas/clientes no mesmo projeto, mantendo isolation entre os dados de cada um.
Integração

Token de Interoperabilidade

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.

1. Tabela de Tokens

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.

2. Criar um Token

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');
  • token: String única de identificação (pode ser qualquer valor único)
  • id_usr: Código do usuário no banco (refere-se a fr_usuario.usr_codigo)
  • expiracao: Data/hora até a qual o token é válido
3. Acessar com Token

Para acessar o sistema automaticamente usando o token, utilize uma destas formas:

  1. Via URL:
  2. http://seu-sistema.com.br?token=meu-token-unico
  3. Via URL com tenant:
  4. http://seu-sistema.com.br?token=meu-token-unico&empresa=nome-da-empresa
  5. Via Cookie:
  6. Após o primeiro acesso via URL, um cookie chamado INV_INTEROP_TOKEN é armazenado no navegador automaticamente, permitindo acesso automático em acessos subsequentes.

4. Renovar Token

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().

5. Segurança
  • Tokens expiram automaticamente após a data de expiração definida
  • O sistema redireciona para expired.jsp quando o token é inválido
  • O cookie INV_INTEROP_TOKEN tem validade de 12 horas
  • Em ambientes seguros (HTTPS), o cookie usa SameSite=None para permitir acesso cross-site em iframes
6. Arquivos Implementados

O sistema de token é composto pelos seguintes arquivos:

  • TokenInteropDAO.java -DAO para manipulação de tokens
  • TenantContext.java - Contexto de tenant por thread
  • AuthenticationFilter.java - Filtro de autenticação com suporte a token
  • expired.jsp - Página exibida quando token expira
Prontinho! Com o token configurado, sistemas externos podem acessar automaticamente sua aplicação sem necessidade de login manual.

Próximos passos

Instalação

Aprenda como instalar a aplicação corretamente.

Ver Guia
Primeiros Passos

Comece a usar a aplicação em poucos minutos.

Ver Guia
FAQ

Perguntas frequentes e soluções.

Ver Guia

Precisa de Ajuda?

Entre em contato com nossa equipe de suporte para assistência.

Fale Conosco