Business Components: Más potencia GeneXus

Los Business Components permiten usar todo el poder de las transacciones desde otros objetos, otorgando aún mayor calidad, productividad y menor costo de mantenimiento en el desarrollo de aplicaciones con GeneXus

Una de las tareas más engorrosas en el desarrollo de aplicaciones es la actualización de la base de datos. GeneXus tiene una solución muy potente para este problema cuando se trabaja a través de una interfase: las transacciones GeneXus. En este escenario, con unas pocas líneas de código, la transacción GeneXus provee de todas las reglas de validación, controles de integridad de datos y todo lo necesario para actualizar la base de datos.

Ahora ¿podemos usar toda la potencia de este objeto GeneXus en otro tipo de escenarios como en procesos batch o Web Services? La respuesta es sí, y la forma de hacerlo se llama Business Components, una propiedad de las transacciones liberada con la versión beta 2 de GeneXus Yi.

Cada transacción GeneXus (TRN) tiene una propiedad denominada "Is Business component" que al ser seleccionada, permite que dicha transacción pueda ser invocada desde otro objeto GeneXus de una manera silenciosa, sin usar un formulario, a través de un nuevo tipo de datos. Además, BC puede definirse como un Web Service -es decir invocar las transacciones como un servicio Web-permitiendo la actualización de la base de datos via SOAP.

Esta propiedad otorga aún mayor calidad, productividad y menor costo de mantenimiento en el desarrollo de aplicaciones con GeneXus.

Más calidad y mayor seguridad porque el manejo de datos a través de BC no sólo asegura la integridad de los datos, también asegura su validez con respecto a las reglas del negocio.

Más productividad, porque son fáciles de usar. Se pueden definir múltiples interfaces de usuario sobre los mismos datos, asegurando su integridad en cada caso

Menor costo de mantenimiento ya que, por ejemplo, al incluir una nueva regla sólo hay que incluirla en el BC y no en cada programa que maneja los datos.

Veamos algunos ejemplos de uso de BC:

1- La actualización a la base de datos vía un procedimiento, donde, en lugar de usar los comandos New o For Each, puede usarse un BC para actualizar directamente la base de datos. De esta forma, se aplicarán los mismos controles de la transacción sin necesidad de duplicar código.

2- La necesidad de proveer una forma más sofisticada de interacción (interfase) que la que ofrece el objeto transacción, por ejemplo, para actualizar dos TRN diferentes en el mismo formulario. En este caso, el uso de BC en un Work Panel o Web Panel hace que la implementación de la lógica del negocio sea muy fácil, ya que todas estas reglas y controles están encapsuladas en cada uno de los BCs invocados.

3- La posibilidad que las aplicaciones permitan una forma de ingreso de datos remoto -además del ingreso de datos via winforms o webforms- para facilitar la interacción con aplicaciones de terceros. Aqui la combinación de Web Services y BC hace que esto sea algo muy simple de implementar.

4- También pueden ser la solución para problemas más complejos, en otros escenarios, como en el caso de un usuario que no está conectado a Internet en forma constante. Este usuario puede ejecutar en forma local una transacción en su PDA, PC o DBMS local y dejarla en espera, de manera que la transacción se ejecute en la DBMS central apenas se conecte a Internet.

Los Business Components pueden utilizarse en los generadores Java y .Net para plataforma Win o Web.


Más información:

http://wiki.gxtechnical.com/wiki/tiki-index.php?page=Business+components  

Mi experiencia usando Business Components
http://wiki.gxtechnical.com/wiki/tiki-index.php?page=My+Experience+using+BC  

 

Relacionadas
Se liberó GeneXus Yi Beta 2