In application development beyond Domino, the preference has been for looser coupling. In Notes Client there is a lot of tight coupling. Composite Applications aimed to address this, but they were complex, tied to Eclipse, and crucially required hard-codings between NSFs that were tied to implementation and environment.
- Forms are tied to documents in a 1-1 relationship, although form formulas and computed subforms give some flexibility for the UI layer to be manipulated. (A little creativity is needed for rich text fields!)
- Forms cannot easily display a document from another database.
- Embedded views can be pointed to a different database, but database B cannot be defined programmatically. This is required to handle different environments.
- Outline entries can also pick from a different database, but not programmatically.
This means that although applications can be split into multiple databases:
- Each database's UI resides in the same database as the design
- Shared code needs copying and maintaining across multiple databases
- Workspace icons get added for all databases
Many XPages developers have moved to having a UI NSF and data database(s). For Java or JavaScript developers, looser coupling is standard.
Having the UI and business logic in a separate database would also make sense in the context of LotusScript REST services, to have all your REST services in a single NSF and re-using client business logic, while restricting web access to all the data NSFs.
Moving idea to product : Domino Designer