Реализовать бизнес-сервисы на PL / SQL или Java? Favor / Cons? - PullRequest
8 голосов
/ 07 января 2011

Я работаю на предприятии, которое будет создавать архитектуру стека веб-сервисов (основанную на вероятности, основанную на вероятности), я занимаюсь техническим лидером. Эта архитектура будет создаваться с использованием платформы Java, но у меня есть проблема с некоторыми членами команды: они из старой школы Oracle (то есть они унаследовали использование PL / SQL, и в их голове бизнес-логика должна быть только в базе данных, с небольшим java-слоем, вызывающим это), у меня есть некоторые аргументы по этому поводу, но я хотел бы знать ваши аргументы в пользу или минусы по этому вопросу.

Java Favor (на мой взгляд)

  • Масштабируемость
  • Мониторинг
  • Объектно-ориентированный язык
  • Синхронизация / Асинхронный процесс
  • Богатый домен
  • Тестируемость

Ответы [ 4 ]

3 голосов
/ 07 января 2011

Я работал над таким проектом, используя MS SQL, а не Oracle. Это был не приятный опыт. Проблема в том, что T-SQL не очень современный язык, и поэтому мы не были настолько продуктивными, как могли бы, и было больше дублирования кода, чем было бы в противном случае.

Есть аргумент, что производительность разработчика важнее, чем язык, так что, если эти парни такие хорошие, ну и что. Но вы не найдете много молодых разработчиков, которые захотят работать таким образом.

1 голос
/ 07 января 2011

Это немного сложный вопрос, но очень провокационный.

Начиная с Oracle 9i, он имеет полную поддержку хранимых процедур Java, то есть вы можете хранить классы Java на сервере базы данных и выполнять их при выполнении процедур Pl / Sql.

Это всегда был бы хороший выбор, чтобы выбрать идеального работника, а не придерживаться настроений! Как вы уже сказали, Java имеет присутствие и поддержку универсальных концепций в разных областях.

Здесь я могу придумать следующие варианты оптимального решения, приемлемого для всех.

  • Напишите необходимые процедуры в Java, сохраните их на сервере
  • Напишите хотя бы основные требования, которые действительно снижают сложность задачи по сравнению с Pl / Sql, и назовите их в Pl / Sql
  • Без загрязнения окружающей среды поддерживайте отдельные слои, что является вторым лучшим вариантом
1 голос
/ 07 января 2011

Это должно быть судебное решение.Любой из них может быть более подходящим в зависимости от варианта использования.Для простого примера

Если у вас есть бизнес-правило, которое говорит, что требует данных из ряда таблиц и на основе полученных данных, оно решает выполнить окончательную операцию с базой данных (вставка или обновление), тогда, на мой взглядПроцедура pl / sql - место, где это сделать.Так как это сэкономит время и ширину полосы пропускания и будет быстрее на ощупь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...