Database updates are one of the most bothersome tasks in
application development. GeneXus has a very powerful solution to this problem:
GeneXus transactions. GeneXus transactions provide all the validation rules,
data integrity controls, and other transactional components needed to update the
database - in just a few lines of code.
But can we use all the power of this GeneXus object in a
different scenario, such as batch processes or Web Services? Yes! And the way to
do it is called Business Components, a transaction feature released with GeneXus
Yi beta 2.
Each GeneXus transaction (TRN) has a feature called "Is
Business Component". When selected, a transaction can be invoked from another
GeneXus object silently through a new data type, without requiring any
additional lines of code. In addition, a BC can be defined as a Web Service;
that is, invoking the transactions as a Web service, which enables database
updates via SOAP.
This feature provides higher quality:
Higher quality and security because data
is managed through the BC, ensuring not only data integrity but also its
validity regarding business rules.
Higher developer productivity because it
is developer-friendly. Multiple user interfaces can be defined on the same data,
ensuring its integrity in every case.
Lower maintenance costs because new rules
are added just in the BC, not in every program that manages the data.
Let's see some examples of BC use:
1- Database updates using a procedure. Instead of using
the commands New or For Each, a BC can directly update the database. In that
way, the same transaction controls are applied without duplicating code.
2- Provide a more sophisticated way of interaction
(interface) than the one offered by the transaction object. For example, to
update two different TRN in the same form. In this case, the use of a BC in a
Work Panel or Web Panel makes the implementation of the business logic very
easy, as all these rules and controls are encapsulated in each one of the BCs
invoked.
3- Third-party integration using transactions. Thanks to
the combination of Web Services and BC this is very easy to
implement.
4- Solving complex scenarios, such as when users are only
occasionally connected. This user may execute a transaction locally on his/her
PDA, PC, or local DBMS. The transaction is executed in the central DBMS as soon
as s/he is back online.
The Business Components can be used in both the Java and
.Net generators for Windows or Web platforms.
For more information, please visit:
http://wiki.gxtechnical.com/wiki/tiki-index.php?page=Business+components
My experience using Business Components
http://wiki.gxtechnical.com/wiki/tiki-index.php?page=My+Experience+using+BC