Хранимые функции и бизнес-логика

На хабре промелькнул очередной холиварный пост про хранимые процедуры и бизнес-логику.

А вот в старом добром ABAP сложилось так, что для этого холивара нет места. Просто внутренняя жизнь устроена совсем иначе:

 

  • Нет размазывания кода между системами – различие между доступом к БД и бизнес-логикой выражается в процедурном разграничении кода, но в рамках одной инфраструктуры
  • Не предлагается никаких инструментов для доступа к БД со стороны разработчиков, доступ к БД – только у администраторов
  • OpenSQL является неотъемлемой частью среды разработки без использования видимых промежуточных объектов (типа DBConnection, DBQuery)
  • Использовать NativeSQL не рекомендуется, хотя в реальной жизни это используется, но при этом всегда редко и точечно (например для интеграции)
  • В ABAP нет постоянной практики динамического склеивания запросов и использования всяческих плейсхолдеров
  • Проблема SQL-инъекций выражена или слабо, или вообще никак
  • Мультиплатформенность есть, но существующие внедрения не мигрируют на другую платформу БД
  • Обычно считается, что сервер БД и сервер приложений находится на одном хосте (или в очень быстрой связке)
  • В ABAP нет никакого толстого клиента

 

Вот такая жизнь. Сложно назвать это достижением или ограниченностью.

Добавить комментарий

Ваш e-mail не будет опубликован.