|
|
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Вопрос в следующем: Есть некая задача, например расчет ЗП. Я пишу ее на MS SQL и С#. Так вот у кого есть какие соображения, какую архитектуру выбрать. Сейчас делаю тонкого клиента, т.е. максимум всех запросов оформлены ввиде хранимых процедур на сервере, есть вариант обратный, но он мне почему-то меньше нравиться. У кого какие предложения. Буду весьма признателен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 14:38 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Мне он тоже мало нравится Тема обсуждения не раскрыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 15:03 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
ИМХО тонкий клиент рулит - снимаем нагрузку с рабочих станций, бизнес-правила сконцентрированы в одном месте и расположены близко к данным и, как следствие, при их исполнении нет бессмысленной пересылки информации между клиентом и сервером БД; отвязываем бизнес-правила от ЯП клиента - упрощается задача построения дополнительных GUI (WEB, Pocket). В минусах только то, что язык ХП СУБД сильно ориентирован на работу с массивами данных и не имеет никакого отношения к ООП (после C# или Паскаля кажется корявым). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 15:27 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Что за приложение-то? Винформс али вебформс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 16:08 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
приложение винформс, а по поводу корявости T-SQL, ну так это решается в MS SQL 2005 по средствам Assembly, пишу пока тонкий клиент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 17:10 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
у кого еще какие мысли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 17:10 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Если хочется гремучей смеси в виде тонкого клиента на винформс и логики не в БД, то только трехзвенка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 17:35 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
izoldov-roskiniВопрос в следующем: Есть некая задача, например расчет ЗП. Я пишу ее на MS SQL и С#. Так вот у кого есть какие соображения, какую архитектуру выбрать. Сейчас делаю тонкого клиента, т.е. максимум всех запросов оформлены ввиде хранимых процедур на сервере, есть вариант обратный, но он мне почему-то меньше нравиться. У кого какие предложения. Буду весьма признателен Для расчёта ЗП тонкий клиент нафиг не нужен (разве что ваш бухгалтер предпочитает вести дела не в офисе, а в непринуждённой обстановке на природе или между прочим в интернет кафе), тем не менее грамотное распределение обязанностей между клиентом и сервером, а может быть и сервером приложений никто не отменял. Не исключено, что имеет смысл создать отдельный сервер для расчёта ЗП, чтобы не нагружать сервер выполнением хранимых процедур. Короче, выбирай архитектуру приложения исходя из решаемой задачи, а не деталей реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 18:10 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
вообщем ясно, ну я решил писать пока тонкий клиент, а руководствовался исключительно простотой администрирования. В плане того, что если внутри процедуры меняется какой нибудь механизм, например происходит еще одна запись в таблицу (другую, например сервисную) то обновлять клиента не нужно и выгонять юзверей тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 18:15 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Есть ли какие-нибудь альтернативы написанию горы хранимых процедур на стандартные действия, типа вставка, удаление, обновление записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 14:44 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
izoldov-roskiniЕсть ли какие-нибудь альтернативы написанию горы хранимых процедур на стандартные действия, типа вставка, удаление, обновление записей? Есть. Написание "горы" "редактируемых" представлений (В Оракле = materialized view) и триггеров типа instead of (т.е. "вместо, взамен")... Вот только стоит ли это делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 15:42 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
izoldov-roskiniЕсть ли какие-нибудь альтернативы написанию горы хранимых процедур на стандартные действия, типа вставка, удаление, обновление записей? Триггеры БД. Но лучше продумать структуру БД так, чтобы обновлять другие таблицы не было надобности. Исключением могут быть операции протоколирования изменений и т.п. однотипные системные действия. Тогда все триггеры можно будет сгенерить по шаблону. Хранимые процедуры (ХП) для стандартных действий тоже можно сгенерить по шаблону, но в свете того, что многие компоненты доступа к данным умеют генерить SQL запросы на лету, я не вижу смысла в их создании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 16:03 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Дело все в том что хранимки подразумеваются не просто select * from Table, а там же еще будут обработки всяческие и генерация стандартных запросов не совсем подходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 16:17 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
izoldov-roskiniДело все в том что хранимки подразумеваются не просто select * from Table, а там же еще будут обработки всяческие и генерация стандартных запросов не совсем подходит Отдели функции ввода-вывода первичных данных от их обработки. Пусть обработка выполняется фоновыми процессами, тогда разработка GUI станет возможной преимущественно на базе готовых компонентов и сложная обработка данных избавится от заморочек связанных с итерактивностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 16:47 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
mcureenabДля расчёта ЗП тонкий клиент нафиг не нужен (разве что ваш бухгалтер предпочитает вести дела не в офисе, а в непринуждённой обстановке на природе или между прочим в интернет кафе), тем не менее грамотное распределение обязанностей между клиентом и сервером, а может быть и сервером приложений никто не отменял. Не исключено, что имеет смысл создать отдельный сервер для расчёта ЗП, чтобы не нагружать сервер выполнением хранимых процедур. Короче, выбирай архитектуру приложения исходя из решаемой задачи, а не деталей реализации. А можно создать еще сервер для предрассчета ЗП, чтобы он снял нагрузку с сервера расчета ЗП - ефиг ему заниматься всякими подготовительными данными, типа скока часов проработали сотрудники и т.д., это все предрассчетный сервер пусть делает авторТриггеры БД. Но лучше продумать структуру БД так, чтобы обновлять другие таблицы не было надобности. Исключением могут быть операции протоколирования изменений и т.п. однотипные системные действия. Тогда все триггеры можно будет сгенерить по шаблону. Хранимые процедуры (ХП) для стандартных действий тоже можно сгенерить по шаблону, но в свете того, что многие компоненты доступа к данным умеют генерить SQL запросы на лету, я не вижу смысла в их создании. авторОтдели функции ввода-вывода первичных данных от их обработки. Пусть обработка выполняется фоновыми процессами, тогда разработка GUI станет возможной преимущественно на базе готовых компонентов и сложная обработка данных избавится от заморочек связанных с итерактивностью. В общем.... Аффтар, пеши исчо. Заодно дай название травы, от которой так прет. 2 izoldov-roskini Пиши через хранимые процедуры и никого с экзотическими рассуждениями не слушай - думаешь все правильно. Так и надо делать, чтобы потом не иметь проблем с изменением бизнес-логики и т.д. Клиент - отдельно, бизнес-логика - отдельно, меняется и то и то независимо. -- Tygra's -- Мои фотогалереи тут и тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 09:13 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
так и делаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 09:57 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
>> поводу корявости T-SQL, ну так это решается в MS SQL 2005 по средствам Assembly особенно не надейся. обрати внимание на то, что в контексте SQL Server классов нет - есть структуры с сериализацией и хранением в XML (производительность и ссылки - проблема). (Ну не ООБД MS SQL Server - не ООБД :) ). в C# для MS SQL Server хорошо реализовывать то, что хорошо укладывается в реляционную тему: агрегаты, хранимки, UDF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 11:28 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
tygra В общем.... Аффтар, пеши исчо. Заодно дай название травы, от которой так прет. SOA PS. Каждому клиенту, по серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2007, 22:00 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
izoldov-roskiniДело все в том что хранимки подразумеваются не просто select * from Table, а там же еще будут обработки всяческие и генерация стандартных запросов не совсем подходит Да какие на фиг обработки? Хранимки, триггера и т.д. - зло. СКЛ Сервера - зло. AS - зло. Все это против честного программера. Корпоративные штучки для закабаления. Бойкот всей этой гадости! Не будем воровать! И на фиг они тады не нужны будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2007, 00:05 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
2: Сахват Юсифов: шутки это хорошо конечно, но topic owner нужно Ваше мнение. Без шуток. В этом и смысл контеренции :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2007, 14:51 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь оргументированно объяснит как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 09:53 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
izoldov-roskini wrote: > Кто-нибудь оргументированно объяснит как быть? "Тонкий" клиент, обработка/расчеты на серваке в виде T-SQL, а не CLR. Аргументов - валом по форуму. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 11:46 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
izoldov-roskiniКто-нибудь оргументированно объяснит как быть? Это тебе самому нужно провести анализ, потому что у каждого варианта есть свои ++ и --, которые в определённом контексте могут оказаться или критичными или несущественными. Ты выбираешь между централизацованной и распределённой обработкой. С моей точки зрения здесь существенны вопросы: безопасности, производительности, администрирования, разработки, масштабируемости. Добавь сюда то, что считаешь нужным, проранжируй список по важности, оцени степень соответсвия той или иной архитектуры установленным требованиям, тогда найдёшь аргументированное решение. Тонкий клиент проще в плане администрирования, но для маленькой организации в одном офисе вопросы администрирования редко бывают существенными. Безопасность для задачи расчёта ЗП является важным аспектом. Передача всех данных для расчёта на клиента (за пределы серверной комнаты) представляет угрозу, с другой стороны нужно учесть, что Web браузеры могут сохранять страницы в кэше на диске, так что данные могут стать доступными посторонним лицам. Про производительность T-SQL ничего не скажу. Знаю что в Оракле PL/SQL машина работает довольно медленно, да библиотека типовых структур данных слабовата, так что сложные критичные по времени расчёты приходится реализовавыть на C++, а соответствующие компоненты разворачивать на специально выделенных серверах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 14:56 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Верно. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2007, 14:59 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
izoldov-roskiniВопрос в следующем: Есть некая задача, например расчет ЗП. Я пишу ее на MS SQL и С#. Так вот у кого есть какие соображения, какую архитектуру выбрать. Сейчас делаю тонкого клиента, т.е. максимум всех запросов оформлены ввиде хранимых процедур на сервере, есть вариант обратный, но он мне почему-то меньше нравиться. У кого какие предложения. Буду весьма признателен И всё бы хорошо, но если логика на триггерах с ХП - сервер БД нагружается несвойственными для него вычислительными задачами. Из-за чего, если объём и сложность вычислительных задач велики, могут возникнуть проблемы в производительности и удобстве поддержки. Т.е. если в компании 100 человек и достаточно простая схема начисления з/п - это одна ситуация, а если 50'000 и з/п начисляется с учётом тысячи факторов и коэффициентов - другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2007, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34608348&tid=1544417]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
81ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 529ms |

| 0 / 0 |
