As part of GeneXus 16 upgrade 5 you can package and distribute modules that access the database. So now you can create an API that can be integrated directly into another KB using the functionality of Modules Distribution in GeneXus.
The following assumptions apply
- The database is being maintained by the KB that defines the API
The following draft shows a KB that generates programs and a database of an ERP. It contains a module with objects that have the Object Visibility property set to 'Public', which define the API that is packaged.
After installing the module in the other KB, there it is included as a referenced module. Other objects defined in this 2nd KB may define a new data model or not, anyway this new data model will have no references to the one defined and maintained by the ERP, so the programs generated by this KB will access their own tables. When deploying this 2nd KB, the packaged programs of the referenced module will be included automatically if required.
- Only Data Providers, Procedures, External Objects, Structured Data Types, and Domains can be part of the module's interface
- If the module references another module that is not part of it (or of its descendants), that other module must be packaged first
- GeneXus 16 upgrade 5: Only Net and NetCore Generators support this feature.
- GeneXus 16 upgrade 6: Java Generator supports this feature too.
- The name of the data store of the original and target KBs to which the generated programs of the module connect is the same by default. This can be changed with a special configuration SAC 46831