Para
obter uma maior facilidade na conversão das aplicações Windows
Cliente/Servidor tradicionais para Java, como o Visual Basic ou
o Visual FoxPro, implementaram-se várias funcionalidades. A mais destacável é
que se introduz uma alternativa ao diálogo na tela completa que assemelha-se
bastante a validação campo a campo (Mais detalhes referir-se ao documento
Validação
nível de Cliente).
Também foi implementado nesse gerador o
tipo de dados DBConnection
que permite manipular as conexões de forma dinâmica para aplicações Windows duas
camadas.
Exemplo:
Sea
&MyConn de tipo DBConnection
Event 'Conectar'
&myConn = GetDataStore("Default")
&myConn.UserName =
trim(&Usuario)
&myConn.UserPassword = trim(&Password)
&myConn.JDBCDriverName='com.inet.tds.TdsDriver'
&myConn.JDBCDriverURL='jdbc:inetdae:barbanegra:1433?database=testemp2'
&myConn.ShowPrompt = 2
&Res = &myConn.Connect()
Do case
Case &Res = 0
&ConnOk = 'S'
return
Otherwise
&ConnOk = 'N'
msg('Não é possível conectar, tente novamente...')
Endcase
EndEvent // 'Conectar'
Existem
outras novas funcionalidades no gerador que facilitam a conversão , como o
comando submit, o calendário e a calculadora e algumas propriedades do modelo do
grupo de interface win:
?
Maximum workfile lines
? Autocenter objects in (0,0)
? Field Exit =
Enter, Tab, Shift-tab
? Field Exit = Passing last char
? Prompt Key = FX
(por ejemplo F8)
? Menubar = Caller's.
Quanto
->s facilidades introduzidas para as aplicações em três camadas,
destaca-se a possibilidade de executar o evento load de um work panel no
servidor, somente mudando uma propriedade do mesmo.
Ao
trabalhar numa ampliação distribuída, para obter uma boa perfórmance, como regra
geral, deve-se tentar executar a maior quantidade de códigos no servidor;
basicamente passar ao servidor todo o código, salvo o correspondente ->
interface.
Para
os objetos batch como procedimentos e relatórios (sem interface) não existe
problema porque se definem como remotos somente especificando uma propriedade.
Quanto aos objetos que manipulam a interface, para transações e aqueles
relatórios com printblocks enviados -> tela, existem facilidades para a sua
otimização.
No
entanto, para os work panels ficava pendente o evento load, que contém código
que claramente deveria executar-se no servidor e não necessariamente no cliente.
Para otimizar, era necessário reprogramá-lo, por exemplo, passado todo o código
para um procedimento e que este se definisse como remoto.
A
partir desta versão, configurando uma nova propriedade do work panel -
Execute Load Events in the Application Server- pode-se
determinar que também seja executada toda a lógica do evento Load no servidor
automaticamente, além dos acessos -> base de dados.
Estas
são as principais funcionalidades implementadas no gerador
Java na sua versão 8.0.