NOTE: This project has been retired, and there will be no more updates. Other future projects may reuse some concepts presented here.
The CA Gen is very good in generating source code in many programming languages targeting many database systems using a single design stored in the Gen Model. It generates faultless code assuming that the design is correct and matches end-user expectations. I would say that CA Gen offers an excellent and very elegant way to construct very complex database queries based on the well-defined data model. You are developing your queries using logical design concepts rather than physical database design leaving the generation process to deal with the specific particulars of technical implementation of a specific database system.
It would be very interesting to utilize that capability outside the rigorous the CA Gen application development process. The idea of action block direct is to use action block implementations generated from the CA Gen Model by the applications developed outside the CA Gen framework. Calling the CA Gen generated source code from the outside was considered as an option in many solutions, but tools supporting such idea
are not really very popular. One of the reasons why such ideas were difficult to deliver was the fact that for many years the CA Technology considers such solutions unsupported because of a subject for change. I am not sure it will prevail if some interesting uses will emerge in the future.
Action Block Direct incubation project is a proposition how to deliver such solution. Idea is that you develop a bit in CA Gen and source code will be delivered for you in the easy to use form. The chart above illustrates the whole concept. We are using CA Gen Toolset as a factory to design and create a number of fragments that they can be turned into components and reused outside the CA Gen Toolset. The CA Gen introduced a concept of proxies. This is the way to wrap server part of the application and invoke from non-Gen application development framework. We are going to do a similar thing but on much lower level – action block level.
You will find here sources of initial efforts to create framework and instrumentation allowing to achieve such solution. More about the solution coming soon.