|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
ДжекНепотрошительНу как идентично... "Порог вхождения" для специалистов выше, соответственно, разработчик должен быть более высокооплачиваемым. Сейчас даже самый простодушный разработчик, работающий за хлеб с солью, умеет работать с WCF и ASMX, знает что такое REST, http- и tcp-байдинги для привязки клиентов к сервису, наслышан про варианты хостинга сервиса (windows сервис, IIS, консоль), краем уха знает о новомодном OData. Этого достаточно, чтобы запилить с ним честный сервер приложений. А там через месяцок втянется и будет делать правильные вещи. ДжекНепотрошительОпять же, делая SOA-приложение, нужно какое-то время потратить на продумывание архитектуры, хотя бы, какие функции и как распределить между сервисами. Ок, дома вечерком за чашечкой чая разрешаю подумать, осмыслить и по утру в бой - начать писать код. Критично? ДжекНепотрошительВ то же время двухзвенка делается на коленках... Не нужно нам коленок... Они, как правило, потом боком вылазят. Даже если сначала ты ну пусть целую неделю форы возьмешь, потом на пол-пути точно споткнешься и просрешь все полимеры. Ну что мне тебе рассказывать, и сам всё знаешь. ДжекНепотрошительТ.е. тут надо все-таки смотреть на текущую жадностьплатежеспособность и перспективы дальнейшего роста клиента. Может быть, наоборот есть смысл дать ему сегодня сэкономить на двухзвенке, а через несколько лет продать ему новый проект :) Жадность жадностью, но скоро ты сам попадешь в свои же расставленные по полю грабли. Я думаю, понятно, о чем идет речь... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 16:11 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
МСУСейчас даже самый простодушный разработчик, работающий за хлеб с солью, умеет работать с WCF и ASMX, знает что такое REST, http- и tcp-байдинги для привязки клиентов к сервису, наслышан про варианты хостинга сервиса (windows сервис, IIS, консоль), краем уха знает о новомодном OData. Этого достаточно, чтобы запилить с ним честный сервер приложений. А там через месяцок втянется и будет делать правильные вещи. Вот не надо так оптимистично о грустном. Я в начале года безнадежно искал себе джуниора-дотнетчика. Слово MVC слышали почти все. Зато из двух десятков собеседований половина хлопнулась на вопросе: "заполните массив случайными числами и отсортируйте по возрастанию", а из оставшихся только два прошли задание: "Выберите из таблицы записи, для которых нет связанных записей в подчиненной таблице". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 16:25 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
МСУДжекНепотрошительНу как идентично... "Порог вхождения" для специалистов выше, соответственно, разработчик должен быть более высокооплачиваемым. Сейчас даже самый простодушный разработчик, работающий за хлеб с солью, умеет работать с WCF и ASMX, знает что такое REST, http- и tcp-байдинги для привязки клиентов к сервису, наслышан про варианты хостинга сервиса (windows сервис, IIS, консоль), краем уха знает о новомодном OData. Этого достаточно, чтобы запилить с ним честный сервер приложений. если у админа заказчика не Linux и зарплата у программиста за 100к ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 16:25 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
ДжекНепотрошительВот не надо так оптимистично о грустном. Тут вопрос где искать, в столице с этим попроще :) Petro123если у админа заказчика не Linux и зарплата у программиста за 100к Ага, за опыт работы с WCF планка с 30 донецких тыщ поднимаются до двухсот. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 16:33 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
ДжекНепотрошительЗато из двух десятков собеседований половина хлопнулась на вопросе: "заполните массив случайными числами и отсортируйте по возрастанию", это называется "собеседование ради собеседования". Не думал что в наше время еще где-то задают такие глупые вопросы ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 18:45 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
iscrafmДжекНепотрошительЗато из двух десятков собеседований половина хлопнулась на вопросе: "заполните массив случайными числами и отсортируйте по возрастанию", это называется "собеседование ради собеседования". Не думал что в наше время еще где-то задают такие глупые вопросы Вопрос может быть и глупый, но если половина собеседуемых показала неспособность написать две строчки кода - таки небесполезный. Впрочем, возникает вопрос к процедуре отбора, благодаря которой они дошли до собеседования с этим вопросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 18:52 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
softwareriscrafmпропущено... это называется "собеседование ради собеседования". Не думал что в наше время еще где-то задают такие глупые вопросы Вопрос может быть и глупый, но если половина собеседуемых показала неспособность написать две строчки кода - таки небесполезный. Впрочем, возникает вопрос к процедуре отбора, благодаря которой они дошли до собеседования с этим вопросом. возможно они могли написать 5 строчек более приближенного к жизни кода, чем это академический прикол с бестолковой сортировкой. Возникает вопрос к соискателям, если они получив этот вопрос не повернулись, сказав "давай, до свидания" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 18:56 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
iscrafmвозможно они могли написать 5 строчек более приближенного к жизни кода, чем это академический прикол с бестолковой сортировкой. Они? Те, кто не смог написать вызов Array.Sort() ? Не смешите мои тапочки. iscrafmВозникает вопрос к соискателям, если они получив этот вопрос не повернулись, сказав "давай, до свидания" Да, тоже метод, когда вопрос слишком сложен :) Помню, когда я был джуниором, один соискатель, получив вопрос типа "написать селект с джойном" вспомнил про срочное дело и убежал, пообещав через час вернуться. Руководство решило, что если он за час выучит SQL, то мы возьмём его на работу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 19:53 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
softwarer, не вижу толку в споре на эту тему. Но вижу качество многого ПО, которое создается программистами, умеющими прекрасно писать вызовы Array.Sort. Только они нафиг никому не нужны, эти вызовы ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 19:57 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
LINQ OrderBy повкуснее будет :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 20:09 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
Насколько я понимаю, не существует никаких причин для третьего звена, если БД предоставляет пользователям только интерфейс из ХП, и каждому пользователю назначены права на запуск определенных процедур и функций, то вроде с безопасностью должен быть полный порядок? Понимаешь правильно. Но кол-во звеньев на самом деле никак не связано с безопасностью. Тем не менее я слышал о том, что в банках часто делают именно трехзвенные приложения, обосновывая это тем, что давать права на коннект к БД пользователям небезопасно. Насколько это обосновано? Нинасколько. Также интересует как подходят к безопасности систем, где используется ОРМ, тут интерфейс из ХП не годиться - требуется доступ к таблицам или вью. Как выходят из этой ситуации, используют трехзвенку? Контролируют генерируемые запросы. Урезают права на среднем звене. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2013, 22:57 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
MasterZivПонимаешь правильно. Но кол-во звеньев на самом деле никак не связано с безопасностью. Очень даже связано. Сервис запускается под учеткой с минимально необходимыми правами, БД помещают за firewall'ом, доступ к ней по другому протоколу. Если повышенные требования к безопасности, то возможны более сложные варианты, например, с применением DDD,CQRS,ESB: - сервис - это обобщенная точка входа с одним единственным методом для передачи команд - при поступлении команды делаются определенные телодвижения в результате которых сообщение с нужными данными помещается в очередь с гарантированной доставкой - обработчики могут быть за тридевять земель и их может быть несколько(например, помимо записи в БД может быть отправлен еmail и тд) За счет готовых фреймворков, кодогенераторов и прочих радостей сложность гораздо меньше, чем привычное вам ковыряние в формочках. С быстродействием тоже все в порядке. Для этого есть параллельная и ленивая загрузки данных. В настоящий момент вашим 2х-звенкам нет никакого оправдания кроме наличия готовых систем. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 08:38 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
SeVaС быстродействием тоже все в порядке. Для этого есть параллельная и ленивая загрузки данных LINQ-to-SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 09:26 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
MasterZivТем не менее я слышал о том, что в банках часто делают именно трехзвенные приложения, обосновывая это тем, что давать права на коннект к БД пользователям небезопасно. Насколько это обосновано? 1. Пользователь может зайти на SQL сервер в обход программы, например через Management Studio. Открыть свои доступные ресурсы и заблокировать - открыть транзакцию, начать изменять ресурс, не закоммитить транзакцию. И уйти покурить на часок. Как тебе такая ситуация? 2. Как тебе вообще ситуация, когда пользователь в обход основной системы ковыряется своими грязными руками в боевой БД? Пусть даже он оперирует доступными для себя объектами. Он может идти в разрез логики ПО, имея прямой доступ к данным. Например, у ПО есть ограничение на кол-во отображаемых данных с целью оптимизации (TOP 1000 записей). Все остальные данные - через отдельный механизм в виде сводных отчетов и прочей красоты. С помощью сторонних средств типа Management Studio пользователь может обойти все эти программные ограничения и слить всю базу, получив блокировки и прочие гадости по планам выполнения запросов. Кому надо это счастье? 3. БД - это черный ящик для пользователя. Никакого хранилища, оно спрятано за семью печатями. Сегодня одна БД, завтра другая, послезавтра источник - это разносолость в виде БД, NoSQL хранилища, веб-сервисов, файлов и почтовых голубей. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 09:28 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
Алексей КSeVaС быстродействием тоже все в порядке. Для этого есть параллельная и ленивая загрузки данных LINQ-to-SQL. 1. В LINQ-to-SQL нет параллельной загрузки 2. Для 3х звенки ленивая загрузка не применима Твоя 2х звенка - совершенно левый вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 09:42 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
SeVa1. В LINQ-to-SQL нет параллельной загрузкиЗапустить одновременно два параллельных запроса невозможно? SeVa2. Для 3х звенки ленивая загрузка не применимаЭтого не понял. SeVaТвоя 2х звенка - совершенно левый вариантПочему 2-х звенка стала "моей"? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 09:48 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
МСУMasterZivТем не менее я слышал о том, что в банках часто делают именно трехзвенные приложения, обосновывая это тем, что давать права на коннект к БД пользователям небезопасно. Насколько это обосновано? 1. Пользователь может зайти на SQL сервер в обход программы, например через Management Studio. Открыть свои доступные ресурсы и заблокировать - открыть транзакцию, начать изменять ресурс, не закоммитить транзакцию. И уйти покурить на часок. Как тебе такая ситуация? 2. Как тебе вообще ситуация, когда пользователь в обход основной системы ковыряется своими грязными руками в боевой БД? Пусть даже он оперирует доступными для себя объектами. Он может идти в разрез логики ПО, имея прямой доступ к данным. Например, у ПО есть ограничение на кол-во отображаемых данных с целью оптимизации (TOP 1000 записей). Все остальные данные - через отдельный механизм в виде сводных отчетов и прочей красоты. С помощью сторонних средств типа Management Studio пользователь может обойти все эти программные ограничения и слить всю базу, получив блокировки и прочие гадости по планам выполнения запросов. Кому надо это счастье? 3. БД - это черный ящик для пользователя. Никакого хранилища, оно спрятано за семью печатями. Сегодня одна БД, завтра другая, послезавтра источник - это разносолость в виде БД, NoSQL хранилища, веб-сервисов, файлов и почтовых голубей.4. Тратить драгоценные вычислительные ресурсы СУБД на шифрование данных, наверное, неразумно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 09:49 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
Тем не менее я слышал о том, что в банках часто делают именно трехзвенные приложения, обосновывая это тем, что давать права на коннект к БД пользователям небезопасно. Наблюдал картину в банке: Кассир заходит в терминальную сессию и оттуда запускает... веб-приложение. Это я так понял, 4-х звенка. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 10:24 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
softwareriscrafmпропущено... это называется "собеседование ради собеседования". Не думал что в наше время еще где-то задают такие глупые вопросы Вопрос может быть и глупый, но если половина собеседуемых показала неспособность написать две строчки кода - таки небесполезный. Впрочем, возникает вопрос к процедуре отбора, благодаря которой они дошли до собеседования с этим вопросом. Дык собеседование на джуниора же, входные "фильтры" минимальные. Резюме нормальное, эйчару понравилось, приглашаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 10:32 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
LSVНаблюдал картину в банке: Кассир заходит в терминальную сессию и оттуда запускает... веб-приложение. Это я так понял, 4-х звенка. Это же не предел В свое время очень позабавило - http://ru.thedailywtf.com/Articles/Monstr.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 12:07 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
МСУMasterZivТем не менее я слышал о том, что в банках часто делают именно трехзвенные приложения, обосновывая это тем, что давать права на коннект к БД пользователям небезопасно. Насколько это обосновано? 1. Пользователь может зайти на SQL сервер в обход программы, например через Management Studio. Открыть свои доступные ресурсы и заблокировать - открыть транзакцию, начать изменять ресурс, не закоммитить транзакцию. И уйти покурить на часок. Как тебе такая ситуация? 2. Как тебе вообще ситуация, когда пользователь в обход основной системы ковыряется своими грязными руками в боевой БД? Пусть даже он оперирует доступными для себя объектами. Он может идти в разрез логики ПО, имея прямой доступ к данным. Например, у ПО есть ограничение на кол-во отображаемых данных с целью оптимизации (TOP 1000 записей). Все остальные данные - через отдельный механизм в виде сводных отчетов и прочей красоты. С помощью сторонних средств типа Management Studio пользователь может обойти все эти программные ограничения и слить всю базу, получив блокировки и прочие гадости по планам выполнения запросов. Кому надо это счастье? 3. БД - это черный ящик для пользователя. Никакого хранилища, оно спрятано за семью печатями. Сегодня одна БД, завтра другая, послезавтра источник - это разносолость в виде БД, NoSQL хранилища, веб-сервисов, файлов и почтовых голубей. 1. a) зайдёт только со своими правами, например к ХП - ДайСписокДолжников(дата) хоть из Excell'я б) повторяемся...есть СУБД неблокирующие рессурсы, и есть ХП в которых не нужны клиентские транзакции 2. см. п.п. 1 3. Для гетерогенных сред и замены БД как перчатки - 3-х звенка нужна. Никто не спорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 12:48 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
Пользователь может зайти на SQL сервер в обход программы, например через Management Studio.Ну тут можно придумать ряд мер, чтобы пользователь не знал реальный логин-пароль. Это не есть проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 13:08 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
Petro1231. a) зайдёт только со своими правами, например к ХП - ДайСписокДолжников(дата) хоть из Excell'я б) повторяемся...есть СУБД неблокирующие рессурсы, и есть ХП в которых не нужны клиентские транзакции 2. см. п.п. 1 3. Для гетерогенных сред и замены БД как перчатки - 3-х звенка нужна. Никто не спорит. 1. а) Кто-то запрещает запустить транзакционный скоуп до вызова хп и забыть закоммитить? б) А есть СУБД блокирующие ресурсы, есть эскалация и укрупнение блокировки. Много чего есть, и что дальше? 2. см. п.п. 1 3. Для любых сред нужна 3-х звенка, даже для тех, в которых БД постоянна. Источником данных могут служить внешние веб-сервисы, различный объектные модели (например, саповский недешевый ERPConnect40.dll, объектная модель SharePoint и т.д.). Ты куда, в хранимую процедуру будешь вкрячивать эти вызовы? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 13:15 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
Infernal V. RavenLSVНаблюдал картину в банке: Кассир заходит в терминальную сессию и оттуда запускает... веб-приложение. Это я так понял, 4-х звенка. Это же не предел В свое время очень позабавило - http://ru.thedailywtf.com/Articles/Monstr.aspx Быстрее всего это делалось во времена царя Гороха Net 1.0. Сейчас вместо этих 23 пунктов достаточно будет двух: 1. Пользователь вводит данные и нажимает на кнопочку "Сделайте мне красиво" 2. После чего вызывается соответствующая команда, которая обычно содержит незамысловатый код a'la MyBusinessObject.Save() or MyBusinessObject.Update(), etc. При этом при нормальной архитектуре нет зависимости от того, где хранятся данные, 2х или 3х-звенка и тд ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 13:17 |
|
2-х звенка vs. 3-х звенка и безопасность
|
|||
---|---|---|---|
#18+
МСУ, 1. a) давай код с данной проблемой. Которая поставит БД раком. А также версию данной БД. Могу свой Оракл на сайте открыть для тестов. б) Дальше то, что не сгущай краски о том, что один коннект повесит всю СУБД (какую именно?). Учитывая то, что 2-х звенка пишется в _локальной_ сети. авторДля любых сред нужна 3-х звенка, не люблю слова "любых". Все китайцы тоже на одно лицо, пока не займёшься конкретным проектом. 3) Не шарик вкорячивается в ХП, а Шарик - делает запросы в СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2013, 13:42 |
|
|
start [/forum/topic.php?fid=33&msg=38424003&tid=1547650]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 288ms |
total: | 525ms |
0 / 0 |