Trotz all dieser Fachwörter meine ich so halwegs verstanden zu haben, was Du diskutieren möchtest. Anscheinend die Kapselung des Datenzugriffs. Während ich nicht davor zurückschrecke SPs direkt aus dem Code aufzurufen (bei der Pflege und Weiterentwicklung derselben also die Abwärtskompatibilität der SP-Aufrufe beachten muss) möchtest Du anregen eine zusätzliche Schicht einzuziehen, die den Datenzugriff (bspw. auf ein RDBMS) kapselt, d.h. es werden Objekte wie "Server" oder "DB" aufgebaut und dann deren Prozeduren wie bspw. NewContract() oder NewCustomer() aufgerufen.
Dann ist man flexibler, kann also bspw. das RDBMS abhängen und durch ein anderes ersetzen (mit einem anderen SQL-Dialekt und anderer Parametriesierung der SPs (wenn es überhaupt noch SPs sind)) und muss nur die einzelnen Datenzugriffs-Klassen anpassen.
Ist es das was Du meinst? Falls ja, kann ich meine Meinung dazu gerne abrufen und hier schriftlich niederlegen.