Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / EF и бизнес-логика / 21 сообщений из 21, страница 1 из 1
15.12.2010, 15:19
    #37016174
JaneKate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
Есть база данных (не важно на какой СУБД) и приложение клиент, как лучше всего из Вашего опыта реализовать биснес-логику - на уровне базы данных или уже в приложении с помощью возможностей EF.
...
Рейтинг: 0 / 0
15.12.2010, 16:45
    #37016508
Бредятина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
JaneKateЕсть база данных (не важно на какой СУБД) и приложение клиент, как лучше всего из Вашего опыта реализовать биснес-логику - на уровне базы данных или уже в приложении с помощью возможностей EF.
Из моего опыта на уровне приложения вообще ничего и никогда не нужно реализовывать. Приложение вообще не нужно программировать. Поэтому, "неважно на какой СУБД" - это заблуждение:)
...
Рейтинг: 0 / 0
15.12.2010, 17:01
    #37016571
JaneKate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
Если я правильно понял, то из Вашего опыта программирования на .net с использованием Entity Framework нельзя реализовывать бизнес-логику на уровне клиента? Так?
...
Рейтинг: 0 / 0
15.12.2010, 17:06
    #37016592
Бредятина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
JaneKateЕсли я правильно понял, то из Вашего опыта программирования на .net с использованием Entity Framework нельзя реализовывать бизнес-логику на уровне клиента? Так?
Нет не так. Не нужно на уровне клиента реализовывать никакой логики. Где вы увидели "нельзя"?:)
Все entity у вас в БД, какая еще Entity Framework.
...
Рейтинг: 0 / 0
15.12.2010, 17:16
    #37016627
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
JaneKateЕсть база данных (не важно на какой СУБД) и приложение клиент, как лучше всего из Вашего опыта реализовать биснес-логику - на уровне базы данных или уже в приложении с помощью возможностей EF.на уровне СУБД или сервера приложений (для трехзвенок)
...
Рейтинг: 0 / 0
15.12.2010, 17:50
    #37016729
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
Вся логика должна быть в SQL.
Приложение просто некий вювер в возможностью вноса данных.
...
Рейтинг: 0 / 0
15.12.2010, 17:53
    #37016735
JaneKate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
БредятинаJaneKateЕсли я правильно понял, то из Вашего опыта программирования на .net с использованием Entity Framework нельзя реализовывать бизнес-логику на уровне клиента? Так?
Нет не так. Не нужно на уровне клиента реализовывать никакой логики. Где вы увидели "нельзя"?:)
Все entity у вас в БД, какая еще Entity Framework.

Так я же спрашивал про ваш опыт в этой системе. Там как раз все и завязано на том, что концептуальная модель (сама объектная суть) базы данных уже В приложении. Я понял Ваш ответ, но имеете ли Вы опыт работы с ЕФ что бы компетентно рекомендовать. Поймите меня правильно, ведь ORM это Вам не это). Спасибо.
...
Рейтинг: 0 / 0
15.12.2010, 18:01
    #37016748
Бредятина
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
JaneKateБредятинапропущено...

Нет не так. Не нужно на уровне клиента реализовывать никакой логики. Где вы увидели "нельзя"?:)
Все entity у вас в БД, какая еще Entity Framework.

Так я же спрашивал про ваш опыт в этой системе. Там как раз все и завязано на том, что концептуальная модель (сама объектная суть) базы данных уже В приложении. Я понял Ваш ответ, но имеете ли Вы опыт работы с ЕФ что бы компетентно рекомендовать. Поймите меня правильно, ведь ORM это Вам не это). Спасибо.
Ну Вы меня окончательно запутали. Да еще объектно-ролевое моделирование (а может даже объктно-реляционный мэппинг).
Я пас:)
...
Рейтинг: 0 / 0
15.12.2010, 18:54
    #37016839
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
на уровне базы данных или уже в приложении с помощью возможностей EF?
Это зависит от класса системы.
Если система data-aware(data-ориентированная), то реализуйте на стороне СУБД, но тогда не понятно зачем вам EF... Только лишь в качестве маппера?

Если система оперирует разветвленными бизнес-объектами и бизнес логика сложная, то реализуйте ее на стороне сервера приложения, но в любом случае ссылочная целостность и реализация простых ограничений (constraints), по-хорошему, должны быть также реализованы и на стороне СУБД.
...
Рейтинг: 0 / 0
15.12.2010, 20:46
    #37016993
JaneKate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
Роман Дынник,

Да это именно то что я хотел узнать, система более user-aware потому конечно связи, ограничения, ключи и все остальное будет реализовываться на уровне СУБД, все остальное (выборка, операции и т.д.) - на клиенте.
...
Рейтинг: 0 / 0
16.12.2010, 03:02
    #37017250
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
Если с технической точки зрения, то логику надо помещать как можно ближе к данным.
Тогда меньше вероятности что туда кто-нибудь вклинится обойдя проверки или заново реализуя алгоритмы. Плюс можно применять наиболее эффективные методы обработки - оптом, используя все фичи выбранной СУБД.
А вот по деньгам тут все не так однозначно.
Во первых процессор на сервере СУБД совсем не то что процессор на сервере приложений, тут и экономия на лицензиях и нелинейный рост стоимости после определенных значений.
Во вторых разработчиков на Java, .NET и т.п. больше и стоят они дешевле (при одинаковой квалификации) чем специалистов в SQL (TSQL, PL/SQL)
В третьих чем меньше приложение завязано на СУБД тем легче его портировать и шире клиентская база.
В четвертых поддержка изменений только приложения проще чем приложения и базы (причем не в два, а в четыре раза)

Так что где лучше сильно зависит от внешних условий.
...
Рейтинг: 0 / 0
16.12.2010, 10:25
    #37017584
JaneKate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
SERG1257,

Приложение представляет собой виртуальную химическую лабораторию с возможностью вести журнал проведенных экспериментов, учет реактивов, сотрудников и т.д., короче, планы наполеоновские. Платформа .NET, технология WPF, СУБД... сначала хотел взять за основу SQL Server 2008 R2, но меня терзают смутные сомнения по опводу ограничения на размер базы - 10 ГБ (просто в базе нужно будет хранить файли результатов анализов - .пдф, .джейпег и т.д., да и вообще, будет не приятно если в какой-то прекрасный момент все остановится из-за такого ограничения, а бюджет мал) и я решил посмотреть в сторону жарптицы. Программирую на C#, по-этому, в свете новых веяний решил использовать ОРМ-систему - EF. Вот только думаю, что реализовывать на сервере, а что на клиенте. Безопасность, например, - на жарптице не поддерживается RLS, нужно будет делать самому, а не проще ли сделать на клиенте? (хотя я был всегда противником реализации безопасности на клиенте), разве что в 3-й версии FB будет возможность работать с ролями и группами.
...
Рейтинг: 0 / 0
16.12.2010, 16:13
    #37018705
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
JaneKate просто в базе нужно будет хранить файли результатов анализовЗачем в базе
JaneKate все остановится из-за такого ограниченияТогда и деньги найдутся быстро
JaneKate в сторону жарптицыКогда такое пишут монстры типа Dimitry Sibiryakov или kdv это одно. Я верю что они свою СУБД загнут любой буквой зю и выйдут из любого штопора. А вам я посоветую или заключить с ними договор или пойти более натоптанной дорожкой.
JaneKate RLS, нужно будет делать самомуRLS вам не нужно. Вы не совсем понимаете что это такое. Нужна вам скорее всего обычная модель безопастности (пользователи, роли, объекты, разрешения ролям на объекты), но это уже другая тема. (Я не знаю умеет ли FB роли как группы пользователей)
...
Рейтинг: 0 / 0
16.12.2010, 17:53
    #37019071
JaneKate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
SERG1257,

Более натоптаная дорожка - это Вы имеете в виду SQL Server? Конечно, тут я не спорю, просто приложение будет расчитано не на большие лаборатории, а на средние, даже маленькие при ВУЗах и держать там администратора SQL Server'а... Ну, хотя, при желании можно и без него, но все же... (особенно это касается установки MSSQLS). Файлы действительно можно хранить не в базе, но для этого нужны дополнительные работы (в плоть до FTP-сервера).

По поводу RLS, возможно Вы правы, я не доконца понимаю... но для меня это как опредиление возможности реализации безопасности с помощью ролей и/или груп, пользователей (RLS - как-то короче и из статьи на RSDN, по-моему, означает то же).

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

Одним словом, блажен кто верует. Вам спасибо за предметный комментарий.
...
Рейтинг: 0 / 0
17.12.2010, 03:01
    #37019661
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
JaneKate это Вы имеете в виду SQL Server?Я имею в виду базу которую вы лучше знаете. То есть программу действий если что либо будет работать не так как ожидалось
У скуля пользовательская база шире, вероятность наткнуться на неизвестный баг меньше. Связываться с FB (при всем моем уважении к разработчикам), особенно если вы ее не знаете, без поддержки - экстрим еще тот.
Но безумству храбрых поем мы песню (с)
JaneKate держать там администратора SQL Server'аА FB типа администратора не требует, устанавливается сам и работает всегда. Пользователи тоже сами заводятся, патчи скрипты тоже сами накладываются, с производительностью проблем никогда не бывает и из бакапа никогда не надо будет восстанавливаться.
JaneKate но для этого нужны дополнительные работы (в плоть до FTP-сервера).Зачем? В простейшем случае расшарьте папку.
JaneKate По поводу RLS, возможно Вы правы, я не доконца понимаю ROW level security - организация доступа на уровне строк - то есть эту строку показываем эту скрываем. Это отличается от АНСИ доступа на уровне столбцов, которые выполняются во время парсинга запроса. Зачем вам такие сложности непонятно.
JaneKate Программирую на C#, по-этому, в свете новых веяний решил использовать ОРМ-систему - EF. Вот только думаю, что реализовывать на сервере, а что на клиенте.Хотите бесплатный совет - реализуйте ВСЕ на сервере - клиент только отображает результат хранимых процедур и перечитывает набор данных (или обновляемую строку)
...
Рейтинг: 0 / 0
17.12.2010, 03:10
    #37019662
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
SERG1257,

Блин, ну что за огульные советы - все на сервере
...
Рейтинг: 0 / 0
17.12.2010, 05:13
    #37019680
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
ViPRos Блин, ну что за огульные советы - все на серверетрехзвенкой ТС не увлекается, я ДБА, коробочных приложений никогда не делал, какой еще совет я могу дать?
...
Рейтинг: 0 / 0
17.12.2010, 05:56
    #37019682
StalkerS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
вон лучше к Роману Дыннику прислушайтесь - если дата-ориентированная система - то в БД, если накрученная бизнес-логика - то в доменной модели
...
Рейтинг: 0 / 0
17.12.2010, 11:33
    #37020171
JaneKate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
SERG1257А FB типа администратора не требует, устанавливается сам и работает всегда. Пользователи тоже сами заводятся, патчи скрипты тоже сами накладываются, с производительностью проблем никогда не бывает и из бакапа никогда не надо будет восстанавливаться.

Ну Вы и сравнили! Одна установка SQL Server чего стоит по сравнению с ФБ. К тому же, я хочу что бы программу мою вместе с СУБД мог установить любой более-менее уверенный пользователь ПК, но без всяких знаний о администрации СУБД. Все остальное (создание БД, выполнение скриптов, бэкапы) - все должно лечь на плечи приложения.

Что касается совета "все на сервере", то я с Вами согласен, ибо это более общее решение, но так как БД действительно более расчитана на пользователя (химика, часто не знакомого с аспектами функционирования ПО), к тому же, используется ОРМ-система, то возможно и проще реализовать разумную часть бизнесс-логики в приложении.

Почему Вы так насторожено относитесь к связке жарптици и EF? Действительно ли там так много проблем?
...
Рейтинг: 0 / 0
18.12.2010, 05:43
    #37022149
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
JaneKate так как БД действительно более расчитана на пользователяА это здесь причем?
JaneKate к тому же, используется ОРМ-система, то возможно и проще реализовать разумную часть бизнесс-логики в приложении.Реализовывайте где хотите, слабые места логики на клиенте озвучены.
JaneKate Почему Вы так насторожено относитесь к связке жарптици и EF? Действительно ли там так много проблем?Я довольно давно работал с FB (версии 1 с копейками) и совсем не работал с EF, про проблемы не слышал, но аргументы вы приводите довольно сомнительные.
...
Рейтинг: 0 / 0
18.12.2010, 21:08
    #37022733
JaneKate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EF и бизнес-логика
SERG1257,

Почему сомнительные?
1. Установка FB, и это всем известно, проходит намного проще чем SQL Server'a, в моем приложении это довольно существенно, так как оно не data-ориентированное, а следственно желательно минимизировать действия по ее администрации.

2. Максимальный размер базы данных в FB значительно превышает оный у SQL Server, что тоже не маловажно...

3. ...это все уже из другой темы.

Нужно найти золотую середину, особенно в данном случае, когда оба звена (БД и ее объектная модель) могут послужить хорошим инструментом реализации бизнес-логики.

С данной темой все предельно понятно. Если никто не против - можно ее закрывать.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / EF и бизнес-логика / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]