Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Тонкий или толстый клиент / 25 сообщений из 217, страница 1 из 9
19.06.2007, 14:38
    #34604974
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
Вопрос в следующем: Есть некая задача, например расчет ЗП. Я пишу ее на MS SQL и С#. Так вот у кого есть какие соображения, какую архитектуру выбрать. Сейчас делаю тонкого клиента, т.е. максимум всех запросов оформлены ввиде хранимых процедур на сервере, есть вариант обратный, но он мне почему-то меньше нравиться. У кого какие предложения. Буду весьма признателен
...
Рейтинг: 0 / 0
19.06.2007, 15:03
    #34605068
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
Мне он тоже мало нравится
Тема обсуждения не раскрыта
...
Рейтинг: 0 / 0
19.06.2007, 15:27
    #34605188
bpost
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
ИМХО тонкий клиент рулит - снимаем нагрузку с рабочих станций, бизнес-правила сконцентрированы в одном месте и расположены близко к данным и, как следствие, при их исполнении нет бессмысленной пересылки информации между клиентом и сервером БД; отвязываем бизнес-правила от ЯП клиента - упрощается задача построения дополнительных GUI (WEB, Pocket). В минусах только то, что язык ХП СУБД сильно ориентирован на работу с массивами данных и не имеет никакого отношения к ООП (после C# или Паскаля кажется корявым).
...
Рейтинг: 0 / 0
19.06.2007, 16:08
    #34605364
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
Что за приложение-то? Винформс али вебформс?
...
Рейтинг: 0 / 0
19.06.2007, 17:10
    #34605666
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
приложение винформс, а по поводу корявости T-SQL, ну так это решается в MS SQL 2005 по средствам
Assembly, пишу пока тонкий клиент
...
Рейтинг: 0 / 0
19.06.2007, 17:10
    #34605668
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
у кого еще какие мысли
...
Рейтинг: 0 / 0
19.06.2007, 17:35
    #34605750
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
Если хочется гремучей смеси в виде тонкого клиента на винформс и логики не в БД, то только трехзвенка.
...
Рейтинг: 0 / 0
19.06.2007, 18:10
    #34605874
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
izoldov-roskiniВопрос в следующем: Есть некая задача, например расчет ЗП. Я пишу ее на MS SQL и С#. Так вот у кого есть какие соображения, какую архитектуру выбрать. Сейчас делаю тонкого клиента, т.е. максимум всех запросов оформлены ввиде хранимых процедур на сервере, есть вариант обратный, но он мне почему-то меньше нравиться. У кого какие предложения. Буду весьма признателен

Для расчёта ЗП тонкий клиент нафиг не нужен (разве что ваш бухгалтер предпочитает вести дела не в офисе, а в непринуждённой обстановке на природе или между прочим в интернет кафе), тем не менее грамотное распределение обязанностей между клиентом и сервером, а может быть и сервером приложений никто не отменял. Не исключено, что имеет смысл создать отдельный сервер для расчёта ЗП, чтобы не нагружать сервер выполнением хранимых процедур.
Короче, выбирай архитектуру приложения исходя из решаемой задачи, а не деталей реализации.
...
Рейтинг: 0 / 0
19.06.2007, 18:15
    #34605894
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
вообщем ясно, ну я решил писать пока тонкий клиент, а руководствовался исключительно простотой администрирования. В плане того, что если внутри процедуры меняется какой нибудь механизм, например происходит еще одна запись в таблицу (другую, например сервисную) то обновлять клиента не нужно и выгонять юзверей тоже.
...
Рейтинг: 0 / 0
20.06.2007, 14:44
    #34607912
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
Есть ли какие-нибудь альтернативы написанию горы хранимых процедур на стандартные действия, типа вставка, удаление, обновление записей?
...
Рейтинг: 0 / 0
20.06.2007, 15:42
    #34608203
Тонкий или толстый клиент
izoldov-roskiniЕсть ли какие-нибудь альтернативы написанию горы хранимых процедур на стандартные действия, типа вставка, удаление, обновление записей?
Есть. Написание "горы" "редактируемых" представлений (В Оракле = materialized view) и триггеров типа instead of (т.е. "вместо, взамен")... Вот только стоит ли это делать...
...
Рейтинг: 0 / 0
20.06.2007, 16:03
    #34608287
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
izoldov-roskiniЕсть ли какие-нибудь альтернативы написанию горы хранимых процедур на стандартные действия, типа вставка, удаление, обновление записей?

Триггеры БД. Но лучше продумать структуру БД так, чтобы обновлять другие таблицы не было надобности. Исключением могут быть операции протоколирования изменений и т.п. однотипные системные действия. Тогда все триггеры можно будет сгенерить по шаблону.

Хранимые процедуры (ХП) для стандартных действий тоже можно сгенерить по шаблону, но в свете того, что многие компоненты доступа к данным умеют генерить SQL запросы на лету, я не вижу смысла в их создании.
...
Рейтинг: 0 / 0
20.06.2007, 16:17
    #34608348
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
Дело все в том что хранимки подразумеваются не просто select * from Table, а там же еще будут обработки всяческие и генерация стандартных запросов не совсем подходит
...
Рейтинг: 0 / 0
20.06.2007, 16:47
    #34608467
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
izoldov-roskiniДело все в том что хранимки подразумеваются не просто select * from Table, а там же еще будут обработки всяческие и генерация стандартных запросов не совсем подходит

Отдели функции ввода-вывода первичных данных от их обработки. Пусть обработка выполняется фоновыми процессами, тогда разработка GUI станет возможной преимущественно на базе готовых компонентов и сложная обработка данных избавится от заморочек связанных с итерактивностью.
...
Рейтинг: 0 / 0
21.06.2007, 09:13
    #34609535
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
mcureenabДля расчёта ЗП тонкий клиент нафиг не нужен (разве что ваш бухгалтер предпочитает вести дела не в офисе, а в непринуждённой обстановке на природе или между прочим в интернет кафе), тем не менее грамотное распределение обязанностей между клиентом и сервером, а может быть и сервером приложений никто не отменял. Не исключено, что имеет смысл создать отдельный сервер для расчёта ЗП, чтобы не нагружать сервер выполнением хранимых процедур.
Короче, выбирай архитектуру приложения исходя из решаемой задачи, а не деталей реализации.
А можно создать еще сервер для предрассчета ЗП, чтобы он снял нагрузку с сервера расчета ЗП - ефиг ему заниматься всякими подготовительными данными, типа скока часов проработали сотрудники и т.д., это все предрассчетный сервер пусть делает
авторТриггеры БД. Но лучше продумать структуру БД так, чтобы обновлять другие таблицы не было надобности. Исключением могут быть операции протоколирования изменений и т.п. однотипные системные действия. Тогда все триггеры можно будет сгенерить по шаблону.

Хранимые процедуры (ХП) для стандартных действий тоже можно сгенерить по шаблону, но в свете того, что многие компоненты доступа к данным умеют генерить SQL запросы на лету, я не вижу смысла в их создании.
авторОтдели функции ввода-вывода первичных данных от их обработки. Пусть обработка выполняется фоновыми процессами, тогда разработка GUI станет возможной преимущественно на базе готовых компонентов и сложная обработка данных избавится от заморочек связанных с итерактивностью.
В общем.... Аффтар, пеши исчо. Заодно дай название травы, от которой так прет.

2 izoldov-roskini
Пиши через хранимые процедуры и никого с экзотическими рассуждениями не слушай - думаешь все правильно. Так и надо делать, чтобы потом не иметь проблем с изменением бизнес-логики и т.д. Клиент - отдельно, бизнес-логика - отдельно, меняется и то и то независимо.


-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
21.06.2007, 09:57
    #34609635
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
так и делаю
...
Рейтинг: 0 / 0
21.06.2007, 11:28
    #34610033
bpost
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
>> поводу корявости T-SQL, ну так это решается в MS SQL 2005 по средствам
Assembly

особенно не надейся. обрати внимание на то, что в контексте SQL Server классов нет - есть структуры с сериализацией и хранением в XML (производительность и ссылки - проблема). (Ну не ООБД MS SQL Server - не ООБД :) ). в C# для MS SQL Server хорошо реализовывать то, что хорошо укладывается в реляционную тему: агрегаты, хранимки, UDF.
...
Рейтинг: 0 / 0
22.06.2007, 22:00
    #34614947
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
tygra
В общем.... Аффтар, пеши исчо. Заодно дай название травы, от которой так прет.



SOA

PS. Каждому клиенту, по серверу.
...
Рейтинг: 0 / 0
23.06.2007, 00:05
    #34615019
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
izoldov-roskiniДело все в том что хранимки подразумеваются не просто select * from Table, а там же еще будут обработки всяческие и генерация стандартных запросов не совсем подходит
Да какие на фиг обработки? Хранимки, триггера и т.д. - зло. СКЛ Сервера - зло. AS - зло.
Все это против честного программера. Корпоративные штучки для закабаления.
Бойкот всей этой гадости!
Не будем воровать! И на фиг они тады не нужны будут.
...
Рейтинг: 0 / 0
23.06.2007, 14:51
    #34615318
bpost (+1,5 beer)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
2: Сахват Юсифов: шутки это хорошо конечно, но topic owner нужно Ваше мнение. Без шуток. В этом и смысл контеренции :)
...
Рейтинг: 0 / 0
26.06.2007, 09:53
    #34619125
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
Кто-нибудь оргументированно объяснит как быть?
...
Рейтинг: 0 / 0
26.06.2007, 11:46
    #34619543
locky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
izoldov-roskini wrote:
> Кто-нибудь оргументированно объяснит как быть?
"Тонкий" клиент, обработка/расчеты на серваке в виде T-SQL, а не CLR.
Аргументов - валом по форуму.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
26.06.2007, 14:56
    #34620295
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
izoldov-roskiniКто-нибудь оргументированно объяснит как быть?

Это тебе самому нужно провести анализ, потому что у каждого варианта есть свои ++ и --, которые в определённом контексте могут оказаться или критичными или несущественными.

Ты выбираешь между централизацованной и распределённой обработкой.

С моей точки зрения здесь существенны вопросы: безопасности, производительности, администрирования, разработки, масштабируемости. Добавь сюда то, что считаешь нужным, проранжируй список по важности, оцени степень соответсвия той или иной архитектуры установленным требованиям, тогда найдёшь аргументированное решение.

Тонкий клиент проще в плане администрирования, но для маленькой организации в одном офисе вопросы администрирования редко бывают существенными.

Безопасность для задачи расчёта ЗП является важным аспектом. Передача всех данных для расчёта на клиента (за пределы серверной комнаты) представляет угрозу, с другой стороны нужно учесть, что Web браузеры могут сохранять страницы в кэше на диске, так что данные могут стать доступными посторонним лицам.

Про производительность T-SQL ничего не скажу. Знаю что в Оракле PL/SQL машина работает довольно медленно, да библиотека типовых структур данных слабовата, так что сложные критичные по времени расчёты приходится реализовавыть на C++, а соответствующие компоненты разворачивать на специально выделенных серверах.
...
Рейтинг: 0 / 0
26.06.2007, 14:59
    #34620317
izoldov-roskini
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
Верно. Спасибо.
...
Рейтинг: 0 / 0
27.06.2007, 12:42
    #34622764
AlexTheRaven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тонкий или толстый клиент
izoldov-roskiniВопрос в следующем: Есть некая задача, например расчет ЗП. Я пишу ее на MS SQL и С#. Так вот у кого есть какие соображения, какую архитектуру выбрать. Сейчас делаю тонкого клиента, т.е. максимум всех запросов оформлены ввиде хранимых процедур на сервере, есть вариант обратный, но он мне почему-то меньше нравиться. У кого какие предложения. Буду весьма признателен
И всё бы хорошо, но если логика на триггерах с ХП - сервер БД нагружается несвойственными для него вычислительными задачами. Из-за чего, если объём и сложность вычислительных задач велики, могут возникнуть проблемы в производительности и удобстве поддержки. Т.е. если в компании 100 человек и достаточно простая схема начисления з/п - это одна ситуация, а если 50'000 и з/п начисляется с учётом тысячи факторов и коэффициентов - другая.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Тонкий или толстый клиент / 25 сообщений из 217, страница 1 из 9
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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