Um Framework é a denominação dada para um conjunto de instruções que auxilia algum processo relacionado com a área de TI (implantação, suporte, manutenção, gerenciamento, controle, etc.). Este arcabouço pode conter guias, ferramentas, técnicas e qualquer outro componente que possa criar facilidades ou melhorar a qualidade do serviço a ser prestado.
O Framework Basis é tudo isso, à medida que trata-se de um conjunto de componentes que irão facilitar, padronizar, automatizar e melhorar a qualidade dos projetos de desenvolvimento de sistemas, absorvendo uma parcela significativa da complexidade relacionada ao processo de desenvolvimento e proporcionando com isso, mais agilidade e custos menores.
Não é um sistema completo, mas, a estrutura sobre a qual as empresas poderão criar sistemas completos, qualquer que seja a sua natureza.
O Basis é formado pelos seguintes componentes:
- Camada de acesso aos bancos de dados MS SQL Server, Oracle, MySQL e DB2;
- Menu Windows e Web com suporte aos browsers IE, Chrome, Firefox e Opera;
- Menu Dinâmico e Controle de Acessos totalmente configuráveis;
- Controle de Versões centralizado e multicamadas;
- Rotinas prontas de consistência de dados, criptografia, compactação, etc.;
A camada de acessos do Basis permite que uma aplicação desenvolvida utilizando um determinado gerenciador de banco de dados (MS SQL Server, Oracle, DB2 ou MySQL), pode ser executada em um banco de dados usando outro gerenciador, sem alterações na aplicação ou componentes.
Além da possibilidade de trabalhar com vários gerenciadores de bancos de dados, o framework também permite que os dados de controle (Permissões, controle de versão, menus, e tudo o que está relacionado ao Framework) possam ser armazenados em um banco de dados separado dos dados da aplicação, permitindo inclusive a distribuição de carga de processamento, colocando os bancos de dados em servidores distintos (Um servidor para dados da aplicação e outro para os dados de controle);
O Framework também suporta múltiplos ambientes (Desenvolvimento, Homologação, produção, etc.), facilitando os processos de teste e validação dos novos desenvolvimentos ou alteração de programas.
As diferenças de comandos entre os vários gerenciadores de bancos de dados é feita com base na configuração do ambiente, respeitando o tipo de banco de dados daquele ambiente.
A mesma aplicação também poderá executar em Windows e Web (nos browsers: IE, Chrome, Firefox e Opera) exatamente da mesma forma, para isso, basta tomar alguns cuidados na hora de montar o projeto, mantendo cada tela em um projeto específico. Para execução apenas no Windows, esse cuidado não é necessário, mas, recomenda-se que essa prática seja mantida mesmo em aplicações que somente irão ser usadas em desktop, porque a manutenção de cada tela em um projeto cria objetos menores que além de utilizar menos recursos do computador, também facilitarão as correções e liberações de versão.
Com o Menu dinâmico, novas telas e processos podem ser incluídas no sistema a qualquer momento, sem a necessidade de mexer em instalação, sem fazer qualquer tipo de configuração nas máquinas de usuários.
Toda a disposição de módulos e telas do sistema poderá ser alterada, utilizando apenas telas de configuração.
As versões dos objetos do sistema ficam armazenadas no banco de dados do Framework e estarão disponíveis aos usuários assim que liberadas, sem a necessidade de qualquer intervenção nas estações. Os usuários podem inclusive estar com os objetos em uso enquanto a versão é trocada.
Quando uma versão é liberada e tem usuários com a versão antiga aberta, ele não terá nenhum problema em continuar fazendo o seu trabalho. Porém quando ele fechar a tela, ao chamar a função novamente, o sistema fará a identificação que há uma nova versão e automaticamente passará a utilizar a versão nova.
A mesma coisa acontece se uma versão apresentar problemas e for removida. Automaticamente o sistema retornará a versão anterior, sem a necessidade de qualquer intervenção nas máquinas que em algum momento utilizaram a versão com problemas.
O fato da aplicação executar em Desktop (Client/Server) e em Browser (Web Application), permite que as aplicações desenvolvidas usando o Framework Basis sejam usadas por milhares de usuários ao mesmo tempo, apenas adequando a estrutura de hardware conforme o numero de usuários que irão usar o sistema, da seguinte forma:
- Aplicações com poucos usuários pode-se configurar o ambiente para ficar tudo em um único servidor, com esse equipamento realizando as atividade de servidor de dados do Framework, servidor de dados da aplicação e servidor Web;
- A medida que o volume de usuários aumenta, pode-se separar os dados de controle em um servidor, os dados da aplicações em outro e o servidor de aplicações (Web) sendo um terceiro servidor;
- Sistemas com milhares de usuários podem distribuir o processamento entre vários servidores de aplicação;
Além de todas essas funcionalidades que facilitam o desenvolvimento, expansão e gerenciamento das aplicações, o Framework traz uma série de funções prontas para: Consistência de Cgc/Cpf, Inscrição estadual, Rotina de criptografia, rotina de compactação de dados, etc.