Добрый день.
Вот в этой ветке
http://gzip.rsdn.ru/forum/Message.aspx?mid=1104791&only=1Автор: BaZa
Дата: 03.04.05
высказывались мнения о том, что вся бизнес-логика должна находиться в СУБД. В частности, в этом сообщении
http://gzip.rsdn.ru/forum/Message.aspx?mid=1108107&only=1Автор: Sinclair
Дата: 05.04.05
Sinclair писал:
>> С моей точки зрения, ООБД — это не столько хранилище, сколько средство создания серверов приложений.
Хотя, это частные случаи, важна тенденция, а я наблюдаю то, что все больше и больше разработчиков стараются размещать бизнес логику на сервере баз данных, в том числе и реляционном. Более того, разработчики СУБД (Oracle, MS, IBM) в новых версиях продуктов стараются предоставить пользователям СУБД все больше возможностей для достижения этих целей.
А в чем смысл ? Почему вдруг стали плохи сервера приложений ?
Итак:
1) отдельный сервер баз данных + отдельный сервер приложений
2) сервер баз данных и сервер приложений в одном флаконе.
Пока что я вижу только преимущества первого варианта над вторым.
Во-первых масштабируемость. Я могу определить, что является узким местом — СУБД или Application Server и соответственно масштабировать нужную мне составляющую.
Во-вторых — возможность выбора. Я могу выбирать сервер приложений независимо от выбранной СУБД.
В-третьих — я могу использовать всевозможные коомбинации, которые мне только могут понадобиться. Например:
— 2 Application Server (каждый со своим приложением) работают с одной СУБД (с разными базами естественно).
— 1 Application Server работает с разными СУБД (более экзотичный случай, но мало ли).
В-четвертых, мне, честно говоря, страшно помещять логику на сервер баз данных, так как в случае неграмотной реализации я рискую завалить весь сервер баз данных, в то время как на нем может работать несколько баз. В том числе и не связанных с данным Application Server.
В чем прелесть варианта 2) ?
И еще один сопутствующий вопрос. Насколько я заметил, в мире Java существует достаточное большое число Application Server-ов. А что в данном отношении предлагает net ? Remoting и Web Services ?
Правильно я понимаю, что в случае web services, сервером приложений как бы является IIS ?
Правильно ли я понимаю, что в случае Remoting сервером приложений является само приложение, реализующее определенные интерфейсы ? То есть, каждый разработчик сам реализует свой сервер приложений ?
Если это не так — поправьте меня. Если прав — поясните почему в net такая напряженка с серверами приложений.
Заранее спасибо.