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 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