Hi!
Wenn die Programmiersprache verschlüsselte/komprimierte Verbindungen zu Deiner Datenbank beherrscht, dann würde ich darüber nachdenken welchen zwingenden Grund es gibt für die Übermittlung der Daten eine (rechenintensive) Zwischenschicht einzubauen. Selbst wenn die Verbindung Client -> Datenbank unverschlüsselt abläuft kann man über ein VPN nachdenken.
Ein sehr guter Gedanke, den ich unbedingt in meine Überlegungen mit einschließen werde.
Ganz ohne Zwischenschicht würde ich das aber nicht in Angriff nehmen, denn dann müssten die Clients alle Informationen zum Datenschema haben und im ungünstigsten Fall alle gleichzeitig geändert werden. Zumindest Kapslungen in Stored Procedures und Views sollten in Betracht gezogen werden.
Das ist übrigens kein Sicherheitsfeature, denn das EXECUTE-Recht allein reicht nicht, SELECT usw. sowie Zugriffrechte auf die von den SPs und Views angesprochenen Tabellen braucht man trotzdem. Und dann kann man auch direkt zugreifen. Es geht lediglich darum, diszipliniert diesen Direktzugriff zu vermeiden und eine nach außen hin gleich bleibende beziehungsweise zu älteren Client-Versionen kompatible API zu schaffen.
Lo!