A Softwell nos últimos anos tem se empenhado em homologar todas as versões do Oracle liberadas por seu fabricante tão logo elas sejam consideradas “versões estáveis”. Atualmente são suportadas para desenvolvimento e produção as seguintes versões do Oracle:
O Maker (IDE) faz diversas consultas aos metadados do Oracle para identificar tabelas, colunas, tipos de dados, restrições de PK, FK, UNQ, entre diversas outras, para conseguir obter essas informações do SGDB é necessário permissão de leitura (SELECT) nas seguintes tabelas/views do SGDB:
São feitas consultas diretas às tabelas e views do sistema do banco por questões de performance, já que em testes internos obtivemos melhorias de performance muito grandes, em média conseguimos recuperar as informações 9,8 vezes mais rápido que usando as VIEWS mais comumente usadas como “ALL_TABLES”, “USER_VIEWS” e similares.
O Maker tentará modificar os seguintes atributos da sessão:
Dica: Ao criar um formulário, caso exista um campo do tipo CLOB, que serve para gravar texto longo, o componente que dá suporte é Texto Longo. Se o usuário desejar utilizar este campo em uma Grade, não será possível editar.
Na configuração padrão do Webrun, para cada usuário conectado ao sistema é criado uma conexão com o Oracle que será usada exclusivamente para executar os comandos do usuário, essa conexão é liberada assim que a sessão do usuário é encerrada na aplicação, as sessões de usuário expiram automaticamente após 30 minutos de inatividade (parâmetro configurável). Há ainda a possibilidade de utilização de pool de conexões discutido adiante.
Por questões de retrocompatibilidade com versões legadas (de projetos criados com as versões iniciais do Maker 2.6/2.7 e anteriores), O Maker realiza uma consulta com "Max" na coluna VER_CODIGO para obter o próximo ID para versionamento de um objeto. Esta operação atende a maioria dos casos e não é necessário intervenção do desenvolvedor Maker.
Caso durante o desenvolvimento do projeto apresente erros constantes (geralmente ORA-00001 restrição exclusiva ou Field 'VER_TIPO' must have a value), recomendamos o uso de uma trigger para efetuar o gerenciamento do campo VER_CODIGO.
Siga as instruções abaixo:
Aqui considerado como o ambiente (Hardware e Softwares) onde a aplicação final ficará hospedada depois de concluída, e também o ambiente utilizado para homologação de novas versões do software. Neste ambiente somente o Webrun é instalado e utiliza um driver JDBC fornecido pela própria Oracle para realizar a comunicação com os bancos de dados, não sendo necessárias as permissões de DBA, ou qualquer tipo de privilégio especial. Os requisitos de permissões devem se basear nas necessidades das aplicações desenvolvidas, liberando-se o acesso de SELECT, UPDATE, INSERT, DELETE entre outros somente sobre os objetos que a aplicação usa.
Tabelas necessárias para a publicação das aplicações com JAR ou WAR.
Controle de acesso |
FR_SISTEMA | Lista de sistemas |
FR_USUARIO | Lista de usuários do sistema | |
FR_GRUPO | Grupos de usuário | |
FR_USUARIO_GRUPO | Usuários x Grupos | |
FR_USUARIO_SISTEMA | Usuários x Sistemas | |
FR_PERMISSAO | Permissões | |
Log de atividades |
FR_LOG | Usada para gravar um log de alterações, identificando o usuário, data e hora e valores antigos e novos. |
FR_LOG_EVENT | ||
Agendador de tarefas |
FR_TAREFA | Permite agendar tarefas que são executadas temporariamente pelo sistema. |
FR_TAREFA_TEMPO | ||
FR_REGRAS | ||
Identificação do usuário no SGBD | FR_SESSAO | Usada para identificar o usuário em procedures e outros objetos do banco de dados. |
Observações:
<item>
<item-name> CaseSensitive</item-name>
<item-param>1</item-param>
</item>
Abaixo, script para criação de usuário/banco.
CREATE USER "<nome do usuário>"
IDENTIFIED BY "<senha do usuário>"
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE "DEFAULT"
ACCOUNT UNLOCK;
GRANT UNLIMITED TABLESPACE TO "<nome do usuário>";
GRANT "CONNECT" TO "<nome do usuário>";
GRANT DBA TO "<nome do usuário>";
GRANT "RESOURCE" TO "<nome do usuário>";
Desempenho
[MAKER] OptimizeOracle=1
No WFRE, adicione o parâmetro SchemaList e como valor informe o nome do(s) esquema(s) que será(ão) utilizado(s).
Exemplo:
WFRE
SchemaList=MAKER,SYSTEM,SYS
Veja: Versões Homologadas
____________________________________________________________________________
Caso este tópico não tenha comentário satisfatório, envie e-mail para documentacao@softwell.com.br