From the Ceibo version of GeneXus all objects can be generated with Java, as the support for transactions has been added to the generator. Up to this point, transactions could be used to define the knowledge base and the tables, but they could not be executed.
As in the other visual generators, transactions will be generated. The natural execution environment for the Java applications is the Internet. But the usual two-layer architecture of the client server applications is not the best for the execution, so the way of executing TRNs was redesigned to optimize the efficiency in the network.
It is very important to minimize the traffic between client and server when executing in limited bandwidth environments. Due to this, the generated applications group all the accesses to the application server in a unique requirement.
As a consequence of this design, all the attribute validations are made together when confirming the transaction; the opposite happens in VB or VFP applications, where the validations are done every time an attribute is executed. Plus, in multiple-level transactions the database will be updated when the whole transaction is confirmed, instead of updating by level. This means, for example, that the user will enter all the rows of an invoice before updating the data, which makes working with transactions more intuitive.
The Java generator allows the existent applications to execute in an Internet environment with optimum performance.
A Java generator that supports one-level transactions is distributed with the Ceibo beta; the functionality will be completed in future betas.