|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
Есть информационная система. На данный момент она двухзвенная: WinForms Client + MS SQL Server. Работает только во внутренней сети. Количество пользователей обычно 5-30, windows authentication. Заказчик хочет переделать ее в трехзвенную. То есть нужно написать сервер приложений и механизм общения сервера с клиентами. В будущем возможно потребуется поддержка работы через web. Хотелось бы заложить реализацию такой возможности в архитектуру, но только если это не скажется существенно на увеличении объема работы сейчас. Подскажите какие технологии на сегодня для этого актуальны? А так же если смысл переходить на WPF c WinForms? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 13:29 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
guest_12112Заказчик хочет переделать ее в трехзвенную. Выкати ему шестизначный счёт и его хотелка резко скукожится. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 13:55 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
>guest_12112 ... Подскажите ... 1. Приглядись к сервисам WCF (3-й слой). 2. Попробуй сам написать приложение на WPF - начнёшь спотыкаться, то сюда и сюда . С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 15:28 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
guest_12112Есть информационная система. На данный момент она двухзвенная: WinForms Client + MS SQL Server. Работает только во внутренней сети. Количество пользователей обычно 5-30, windows authentication. Заказчик хочет переделать ее в трехзвенную. То есть нужно написать сервер приложений и механизм общения сервера с клиентами. В будущем возможно потребуется поддержка работы через web. Хотелось бы заложить реализацию такой возможности в архитектуру, но только если это не скажется существенно на увеличении объема работы сейчас. Подскажите какие технологии на сегодня для этого актуальны? А так же если смысл переходить на WPF c WinForms? Спасибо. Зачем городить посредника, если всю логику проще и быстрее выполнять на СУБД через хранимые процедуры. В той же 1с сервер приложений полезен только из-за бедности языка запросов и отсутствия хранимых процедур на уровне СУБД. Недавно экспериментировал с 1с, оказалось, что вызов процедуры с простым выражением "А=1+1" на сервере приложения в 3 раза медленнее запроса "ВЫБРАТЬ 1+1 КАК А" в файловой СУБД на этой же платформе ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 22:15 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
>sereginseregin > ... всю логику проще и быстрее выполнять на СУБД через хранимые процедуры Не могу с Вами согласиться. Многое зависит от задачи. Вот фрагмент листинга работы со списками объектов, имеющих географические координаты: Полученная по запросу из базы данных выборка представлена на компьютере рабочего места (сервера приложений) в форме списка (List<>) или ObservableCollection<>. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Как Вы это реализуете хранимой процедурой? С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 23:54 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovguest_12112Заказчик хочет переделать ее в трехзвенную. Выкати ему шестизначный счёт и его хотелка резко скукожится. В какой валюте? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 09:13 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
sereginsereginguest_12112Есть информационная система. На данный момент она двухзвенная: WinForms Client + MS SQL Server. Работает только во внутренней сети. Количество пользователей обычно 5-30, windows authentication. Заказчик хочет переделать ее в трехзвенную. То есть нужно написать сервер приложений и механизм общения сервера с клиентами. В будущем возможно потребуется поддержка работы через web. Хотелось бы заложить реализацию такой возможности в архитектуру, но только если это не скажется существенно на увеличении объема работы сейчас. Подскажите какие технологии на сегодня для этого актуальны? А так же если смысл переходить на WPF c WinForms? Спасибо. Зачем городить посредника, если всю логику проще и быстрее выполнять на СУБД через хранимые процедуры. В той же 1с сервер приложений полезен только из-за бедности языка запросов и отсутствия хранимых процедур на уровне СУБД. Недавно экспериментировал с 1с, оказалось, что вызов процедуры с простым выражением "А=1+1" на сервере приложения в 3 раза медленнее запроса "ВЫБРАТЬ 1+1 КАК А" в файловой СУБД на этой же платформе Сейчас все так и работает, через хранимые процедуры. 3 уровень нужен по нескольким причинам. 1. заказчик получил такую рекомендацию от аудитора безопасности. Аудитор утверждает что двухзвенная архитектура не достаточно безопасна в сравнении с трехзвенной. 2. параллельная работа нескольких пользователей с одним объектом. 3. доступ через веб(возможно в будущем) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 11:01 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
guest_12112, п 3 - может быть реализован и без перекройки ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 12:34 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
>guest_12112 >... Аудитор утверждает что ... Если возможно, то что конкретно. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 12:38 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
guest_121123 уровень нужен по нескольким причинам. 1. Аудитор бредит. Добавь один нолик к сумме. 2. Трёхзвенка никак этому не помогает. 3. Совершенно не нуждается в третьем звене: уэб-приложения работают непосредственно с базой не хуже, чем через кривую прокладку. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 13:51 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov1. Аудитор бредит. Добавь один нолик к сумме. +1 )) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:37 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovguest_121123 уровень нужен по нескольким причинам. 1. Аудитор бредит. Добавь один нолик к сумме. 2. Трёхзвенка никак этому не помогает. 3. Совершенно не нуждается в третьем звене: уэб-приложения работают непосредственно с базой не хуже, чем через кривую прокладку. Можно подробней про 2 и 3? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:39 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
guest_12112Можно подробней про 2 - чем больше прослоек от скретных данных к клиенту, тем больше потенциальных ошибок и ниже безопасность. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:40 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
guest_12112и 3 Веб проект это новый отдельный проект дажу у MS с его сильвером. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:42 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
Аудитор вполне здравомыслящий. проверка двухзвенной системы = Х денег. проверка трехзвенной системы еще = Х+У денег. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 14:44 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
Petro123guest_12112Можно подробней про 2 - чем больше прослоек от скретных данных к клиенту, тем больше потенциальных ошибок и ниже безопасность. п2 был про параллельную работу нескольких пользователей с одним объектом. Как без сервера приложений всех пользователей просматривающих какой то объект уведомить о том что объект вдруг кем то изменен? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 15:00 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
guest_12112п2 был про параллельную работу нескольких пользователей с одним объектом. Как без сервера приложений всех пользователей просматривающих какой то объект уведомить о том что объект вдруг кем то изменен? т.е. как? Такой простой вопрос? - куча вариантов: 1) Нужно назвать не объект - а Бизнес объект (сущность). Т.к. например "Адрес" может быть сущностью, а может быть просто строкой. 2) Напр. Бизнес объект адрес можно заблокировать (методы блокировки). Уведомления в 3-х звенке абсолютно те же что и в двух звенке. -------- Вы уверены что хотите чтобы сервер САМ уведомлял? (нагрузка в разы). А не по требованию клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 15:23 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
ВМоисеев>sereginseregin Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Как Вы это реализуете хранимой процедурой? Если я правильно понял листинг: Из одного списка получаем другой, группируя по округленным координатам (int)(lat * 10 + 0.5) и (int)(lng * 10 + 0.5), указывая флаг blm в true, если записей с похожими координатами > 1 Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2016, 22:54 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
>sereginseregin >Если я правильно понял ... Вы правильно поняли. Спасибо за ответ, Вы мне помогли. С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 00:10 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
Petro123guest_12112Можно подробней про 2 - чем больше прослоек от скретных данных к клиенту, тем больше потенциальных ошибок и ниже безопасность. Э-э-э с точностью до наоборот. Количество ошибок не зависит от количества слоев в приложении. А вот безопасность - зависит. Грубо говоря если слой вообще не знает о существовании каких-то секретных данных, то злоумышленник не сможет их получить. А когда все данные в БД и к нему напрямую обращаются из приложения с которым работают пользователи, то получение секретных данных это вопрос выковыривания логина и пароля к БД. :-) Плюс SQL-injection. Это не говоря уже о том, что РМД это ограниченная модель и она не всегда точно отражает предметную область. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 07:06 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
guest_12112Как без сервера приложений всех пользователей просматривающих какой то объект уведомить о том что объект вдруг кем то изменен?Сервер приложений нужен для конкретных целей. Да, вот если нужно уведомлять пользователей об изменении объектов, то он нужен (точнее, без него это реализовать сложнее, и это + в пользу сервера приложений). Хотя, конечно, в реальности такое требование встречается редко. Вот тут мы обходимся без уведомления о изменении ветки, которую смотрим, и слава богу. Соответственно, обычно пользователи работают параллельно с одним объектом и вполне успешно обходятся без уведомлений. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 09:28 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
mad_nazgulА когда все данные в БД и к нему напрямую обращаются из приложения с которым работают пользователи, то получение секретных данных это вопрос выковыривания логина и пароля к БД. :-) Плюс SQL-injection.Если так писать трёхуровневые приложения (то есть у всех один логин с админскими полномочиями, и запросы склеиваются из строк), то безопасности будет ещё меньше, чем в двухуровневом :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 09:48 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
Да, вот если нужно уведомлять пользователей об изменении объектов, то он нужен точнее, без него это реализовать сложнееДа неужели!! Какая проблема раз в хх_сек перезапросить какую-нить крошечную табличку со списком измененных объектов ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 12:27 |
|
Подскажите с технологиями.
|
|||
---|---|---|---|
#18+
всё таки прав Dimitry Sibiryakov во втором посте)) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 12:37 |
|
|
start [/forum/topic.php?fid=33&fpage=8&tid=1547342]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 278ms |
total: | 413ms |
0 / 0 |