Serial | 919 |
Módulos | CENTRO DE INFORMAÇÕES |
Resumo | Novo recurso para procedimentos generalizados |
Alterações | Por favor, considere esta nota como altamente técnica. O modelo de scripts do AICS isola rotinas para cada objeto instanciado, isso permite que um ambiente seja montado para cada tela aberta do sistema, o que gera segurança entre as regras para cada estrutura. Entretanto, alguns problemas podem surgir desta característica, tais como: - Alguns trechos de códigos são replicados em estruturas diferentes, mesmo desempenhando a mesma função - Grandes estruturas de objetos precisam ser montados na estrutura principal para estarem disponíveis para execução a qualquer momento, mesmo que nunca sejam executados O primeiro item pode gerar uma complicação na gestão das regras e o segundo pode gerar lentidão na entrada de algumas telas (máximo de 1 ou 2 segundos), porém, pode gerar maior ocupação de memória do que o efetivamente necessário à sessão. Ainda, o item 2 pode gerar cópias de objetos que poderiam ser únicos entre sessões abertas ao mesmo tempo. Para resolver estes 2 problemas, criamos uma estrutura virtual denominada STORED que poderá receber procedimentos completos na forma de "programa", por exemplo, cada procedimento deverá ser completo e independente. Um exemplo de um procedimento simples seria: begin Mostra('Este é um procedimento simples, '+webfields('nome')); end. Note que a rotina é completa e não tem visibilidade de qualquer outra entidade que a executou, é um procedimento autônomo. Portanto, os procedimentos criados sob a estrutura STORED devem ser chamados com a nova rotina: Function ExecStored(Event,Parameter:string):boolean Por exemplo, poderíamos criar o procedimento acima num evento com nome "Aviso", neste caso, a chamada em qualquer local do AICS do procedimento acima e já com o parâmetro, seria simplesmente: ExecStored('Aviso','nome=Manoel'); O interessante deste modelo é que não haverá cópias do mesmo procedimento em execução simultânea, isso minimiza o gasto de recursos do sistema e deixa os procedimentos mais rápidos. |
Data | 09/12/2009 |