|
|
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
ChA P.S. Вот такие вот размышления вслух. хорошее настроение на весь день обеспечено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 09:28 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
ChA kilaviзы здесь голосование по поводу места хранения бизнес логикиВы, правда, считаете, что развитие, в частности - технологий, определяется голосованием ? если я где-то упомянул, что развитие, в частности - технологий, определяется голосованием, то прошу прощения, но перечитав свои два с половиной поста, я этого не увидел. Я, всего лишь, привел мнение сообщества РСДН, и приписывать мне чужие мысли не надо :). Еще раз - для меня здесь нет священной войны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 09:33 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
kilaviЕще раз - для меня здесь нет священной войны.Замечательно. Искренне рад за Вас, но тогда совершенно не понимаю смысла ссылки на это голосование. Поясните ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 09:38 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
iscrafmобычный бред на почве плохих знаний многозвенных систем Верно. Напомню, с моей точки зрения большинство коллег пишет вообще "однозвенные" системы - сколько бы они ни считали сами, но закладывают одно "основное" звено и одно-два-три сугубо технических, уровня "драйвера клавиатуры". А дальше - кто-то хорошо знает, допустим, J2EE и пользуется БД как записной книжкой, кто-то хорошо знает БД и не понимает, зачем портить ее дурной мордой. mcureenabЧто то мне подсказывает, что рано или поздно в каждой развивающейся системе должен появиться сервер приложений, хотя бы совсем специализированный. Что-то мне подсказывает наоборот. Список преимуществ многозвенок - в интерпретации собственно апологетов - за последний десяток лет практически неизменен, и на 99% состоит из возможности преодоления конкретных недостатков конкретных СУБД. Пикантная подробность в том, что СУБД в это же самое время более-менее успешно преодолевают те же недостатки, поэтому уже несколько лет, как во всех религиозных войнах звучит "то же самое спокойно делается без многозвенки". Соответственно, многозвенка все больше отползает в область решений "над MySQL". В конце концов, подозреваю, платформы "СУБД" и "серверов приложений" просто сольются. kilavi3. управление исходниками, для managed языков есть прекрасные средства рефакторинга и удобные IDE среды(у нас система из 3000 хранимок - это просто Ж) Используйте пакеты и забудьте про 3000 хранимок. Да и все остальные аргументы - из серии "не думал, но читал". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 09:42 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
всегда полезно рассмотреть ситуацию с разных сторон, понять причины, почему люди предпочитают тот или иной вариант, вынести для себя что-то ценное, а не просто идти по проторенной дорожке не обращая внимания ни на что. В данном случае, это голосование всего лишь показывает, что сообщество РСДН, в большинстве своем, имеет другую точку зрения, чем сообщество SQL, вот и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 09:46 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
softwarerкто-то хорошо знает БД и не понимает, зачем портить ее дурной мордой. ничего страшного. понимание приходит от задач, с которыми приходится сталкиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 09:50 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
мод atv_13Потому тащить расчеты на клиента смысла не вижу. Смысл очень простой - разгрузить процессоры сервера БД.(алтернатива - добавлять процессоры, но тогда перестанет справляться ОС)В конкретно упоминаемой задаче "Расчет з/п" сам расчет есть куча массовых запросов выполняемых, в основном, в строго определенном порядке, логика же расчетов занимает на порядки меньшее время. Конечно все это можно распараллелить разбив десятки тысяч людей на менее крупные объемы (+ некоторую часть расчетов), но при той же задаче расчета з/п результат расчетов все равно будет сохраняться можно сказать практически такими же запросами, какими бы они сохранялись будучи рассчитанными на серве. Потому выигрыш в разгрузке процов ИМХО копеечный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 10:09 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Я чтобы поддержать разговор чиста :) kilaviпричины? 1. легкость масштабирования 2. на ОО языке, проще создавать большие системы 3. управление исходниками, для managed языков есть прекрасные средства рефакторинга и удобные IDE среды(у нас система из 3000 хранимок - это просто Ж) 4. безболезненная смена СУБД 5. увеличение скорости разработки приложения 1. Масштабирование количеством серверов достигается при любом способе - хоть многозвенка, хоть субд, тупое увеличение количества железа 2. Системы какого типа? Клиентские приложения - да. Работа с данными - это с чего на оо лучше работать с таблицами? ;) 3. Для клиентских приложений - да. Какую супер-систему нужно, чтобы писать ХП - не пойму. Причем тут кол-во ХП - вы сразу все правите в одном сеансе? Или сразу все на экран хотите вывести? ;) 4. Миф - никто ни разу не делал этого, более того, система не использует все тонкости СУБД, а потому заранее тормознее и неуклюжее, причем намного. 5. Каким образом? Добавляя дополнительное звено, скорость только уменьшается В общем, эти вопросы давно разобраны в паре тдлинных топиков и серьезных доказательств по ним многозвенщики не смогли привести. kilaviДа и хорошо спроектированную программу написанную на языке высокого уровня, с четкой структурой классов на порядок легче понять, кроме этого хорошо спроектированную программу на порядок легче оптимизировать, таким образом, если вдруг и где возникнуть затыки, никто не мешает перенести этот момент в БД. Так нужно хорошо проектировать систему независимо от того, как ее пишут. :) Тогда и понять можно kilaviЛично для меня священной войны здесь нет, все зависит от конкретного проекта, но уклон в сторону сервера приложений со временем все равно неизбежен имхо. Да и вообще лично у меня нет желания заниматься процедурным программированием, когда есть ООП. Сейчас начинаем новый большой проект, чистая база, с какой радостью натравлю туда ОРМ, и буду работать с объектами. Ну и в чем смысл объектов? Может просто - как и показали те топики - знаний в СУБД не хватает? Тогда конечно - разбираться в селектах/апдейтах/plsql/tsql ни к чему современному программисту, лучше перенести все данные на клиента и там с помощью паскаля или с++ делать свою СУБД Но зато какие понты - не какая-то там к-с, а "распределенная многозвенная система с возможностью масштабирования и т.д. и т.п.", заказчеки аж писчат, когда узнают название, правда потом воют, но это уже другая история. :) =========== Я собственно тоже не против многозвенок, распределенных систем и т.д. Я против пихания их везде, где ни попадя, причем обычно с откровенной безграмотностью заявляя о недостатках к-с и субд и о "крутости" многозвенки. ЗЫ Интересно, а что же такого нельзя сделать на PL/SQL? Я думал, что уж теперь то на нем можно делать все, что угодно (учитывая то, что было раньше), особенно по сравнению с TSQL. В Оракл внутрь СУБД воткнули по-моему все, что только бывает. Или это страшная тайна? :) -- Tygra's -- Мои фотогалереи тут и тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 11:39 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
kilaviВ данном случае, это голосование всего лишь показывает, что сообщество РСДН, в большинстве своем, имеет другую точку зрения, чем сообщество SQL, вот и все.Спасибо за пояснение. У Вас лично есть свое объяснение этому факту ? И, если "да", то не хотите его озвучить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 12:09 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Коллеги, чудо-трава уже отпустила. Позавчера было смешно. Сегодня нет, увы :( Об одном только прошу, как ДБА: проектирование структуры данных доверяйте людям, которые умеют это делать. А дальше хоть 33-х звенку стройте с 77-уровневым кешем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 12:13 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
tygraЯ чтобы поддержать разговор чиста :) 5. Каким образом? Добавляя дополнительное звено, скорость только уменьшается Давайте экперимент. Мне нужно на клиенте показать новую форму, которая работает с другой СУБД. Для этого мне достаточно на СП подключить базу, допустим через ADO и создать форму в которой указать, что она работает с этой базой. Остальное все разрулит сервер приложений. Нажму кнопку ОК и клиент увидит рабочую форму. Занимает минуту времени. А у Вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 12:24 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
p.s. забыл уточнить. в показанном списке не все SQL серверы. XML, CSV, Excel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 12:29 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Навеяло... Вот по поводу масштабирования - т.е., по сути, распределенных вычислений. Очевидно, что разрабатывать такие системы нисколько не проще, а наоборот - гораздо сложнее чем в случае нераспределенных вычислений (достаточно почитать любую литературу по распределенным вычислениям). Вот на том же примере с зарплатой. Когда бы это было выгодно? Когда у нас есть сервер с высокопроизводительным дисковым массивом, который может поднять столько данных, что процессоры сервера не успеют их обработать. Далее, у нас должна быть высокоскоростная сеть чтобы эти данные передавать на внешние узлы для обработки. У нас должно быть достаточно внешних узлов, которые в сумме по производительности процессоров должны в несколько раз превосходить процессоры на сервере (ну чтобы имело смысл заморачиваться + накладные расходы). Далее, сама задача должна хорошо распараллеливаться. Расчет зарплаты - ну вроде поделил, например, по табельным номерам людей между узлами и считай себе столько отработал, столько переработал, тут прогулял, больничный и т.д. И даже, допустим, все написали, и все быстро работает. Но, тут нехорошее руководство издает распоряжение - зарплата руководителя подразделения не может быть выше, чем 3-х кратная средняя зарплата сотрудников подразделения. Опс... теперь расчет не очень хорошо параллелится, и переписывай, чуть ли не все заново и все уже гораздо сложнее будет. К чему это все я. К тому, что распределенные вычисления это хорошо, но к сожалению далеко не везде их можно применить, и есть много факторов, которые этому препятствуют. А вообще - недавно вышла 1С 8.1 с кластером из серверов приложений - посмотрим что и как там у них будет на больших внедрениях работать с этим кластером... но тут пример конечно не чистый... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 13:01 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
2 iscrafm Ну у меня сейчас нет таких потребностей для работы с разными СУБД во внутренней системе. Потому навскидку могу предложить либо делать коннект этой формы к другой СУБД прямо из приложения, либо через линкед сервер уже используемой СУБД. Но если подумать, можно и что-то другое наверное, но пока нет надобности. Другая система, другой вариант, уже обкатанный - ходить через вебсервисы. Клиент идет на вебсервис и дергает нужный метод, а уж тот дергает то, что ему там прописано, хоть СУБД, хоть другой сервис. Вроде как также быстро делается. Только не надо говорить, что это уже многзвенка :) Это коммутирующий слой без всяких вычислений и бизнес-логики, считайте его заменителем ADO :) ---------- Но получается, что вычислений тут нигде нет, бизнес-логики в доп звене нет, это к теме топика мало относится :) -- Tygra's -- Мои фотогалереи тут и тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 13:28 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
tygraНу у меня сейчас нет таких потребностей для работы с разными СУБД во внутренней системе. я об этом и говорил ранее. Просто не сталкиваетесь с задачами, где без сервера приложений напряженно. Поэтому и предлагаете на вскидку: tygra Потому навскидку могу предложить либо делать коннект этой формы к другой СУБД прямо из приложения на каждом клиенте? у меня их сотни. Наверное устал бы следить за всеми. tygra, либо через линкед сервер уже используемой СУБД. Но если подумать, можно и что-то другое наверное, но пока нет надобности. посмотрите на формат файлов, например МПС. Какой линкед сервер с этим будет работать? Правильно. ни-ка-кой. tygra Другая система, другой вариант, уже обкатанный - ходить через вебсервисы. Клиент идет на вебсервис и дергает нужный метод, а уж тот дергает то, что ему там прописано, хоть СУБД, хоть другой сервис. Вроде как также быстро делается. Только не надо говорить, что это уже многзвенка :) неправильные у Вас представления о многозвенке. Web-сервер, на котором живут сервисы - обычный сервер приложений. Зовут его просто по другому. tygra Это коммутирующий слой без всяких вычислений и бизнес-логики, считайте его заменителем ADO :) угу. А что тогда PHP, Perl,Java и прочие скрипты там делают. Заменяют ADO по Вашему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 13:46 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
iscrafm<...> Искру проектировал как многозвенку очень даже осознано, как Вы говорите. Скорее сиутация как раз в обратном. Те кто не имел опыта законченного и отработанного решения многозвенной системы ведут с подобной архитектурой "войну". Сравнить не с чем. А что технически мешает реализовать функциональность Искры по архитектуре "клиент-сервер БД с логикой в ХП", или, на крайний случай, "клиент-баллансировщик-сервер БД с логикой в ХП"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 13:47 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
"мешает" сервисная архитектура. Для решения любой задачи выбирается наиболее подходящий вариант ее реализации. Повторюсь только.. это никак не исключает реализацию бизнес-логики в СУБД. см. рис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 14:25 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
iscrafmнеправильные у Вас представления о многозвенке. Web-сервер, на котором живут сервисы - обычный сервер приложений. Зовут его просто по другому. Это смотря с какой стороны посмотреть. Тут вот люди считают, что апп-сервер - это обязательно в нем бизнес-логика и обработка данных, что никаких других серверов приложений не бывает. У вас вроде не такой, у меня тем более :) авторугу. А что тогда PHP, Perl,Java и прочие скрипты там делают. Заменяют ADO по Вашему. Скрипты там являются клиентским приложением - они заменяют дельфи, с++ и т.д. А АДО они заменяют мне - я же не хожу на html-страницы для того, чтобы дернуть сервис :) авторПовторюсь только.. это никак не исключает реализацию бизнес-логики в СУБД. В этом то и вопрос. -- Tygra's -- Мои фотогалереи тут и тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 14:48 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Алексей К2 mcureenab И почему вы постоянно игнорируете мои мысли про OLAP? 2 или 3 раза уже писал про него. В общем то я не обязан обсуждать каждую мысль... Но раз уж Вас это беспокоит... При чём тут OLAP? ЗП, это не OLAP, а чистой воды OLTP. Только транзакции не пользователи выполняют, а фоновый процесс, этакий робот-бухгалтер специалист по оплате труда. В биллинговых системах основная работа ложиться на процесс тарификатор-телефонных услуг. В банковских, на сервер проводок (по крайней мере во времена моей молодости его так называли). И т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 14:52 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
tygra kilavi4. безболезненная смена СУБД4. Миф - никто ни разу не делал этого, Ну почему ? Делали когда-то, довольно неплохо получилось. tygraболее того, система не использует все тонкости СУБД, а потому заранее тормознее и неуклюжее, причем намного. Это в целом верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 14:59 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
Локшин МаркНавеяло... К чему это все я. К тому, что распределенные вычисления это хорошо, но к сожалению далеко не везде их можно применить, и есть много факторов, которые этому препятствуют. Распределённые и параллельные вычисления - понятия разные. Естественно, когда вычисление хорошо распараллеливается (т.е. разбивается на процессы, которые не пересекаются на общих ресурсах), то его просто сделать распределённым. Если процессы имеют точки пересечения, приходится искать более сложные решения, типа разделяемой памяти, распределённых блокировок, миграции объектов и т.д. и т.п. К сожалению, наиболее популярные языки программирования в основном ориентированы на традиционные локальные вычисления и не содержат в своём лексиконе средств распараллеливания и распределения работы (разве что на уровне команд CPU), так что эта задача ложится на плечи программистов. Но есть и другой пример - SQL запросы, которые в ряде случаев СУБД Оракл могут быть распараллелены и/или распределены по нескольким СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 15:15 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
авторРаспределённые и параллельные вычисления - понятия разные. Конечно, но в контексте беседы - они по большей части совпадают, особенно когда говорится о масштабируемости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 15:45 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
tygra iscrafmнеправильные у Вас представления о многозвенке. Web-сервер, на котором живут сервисы - обычный сервер приложений. Зовут его просто по другому. Это смотря с какой стороны посмотреть. Тут вот люди считают, что апп-сервер - это обязательно в нем бизнес-логика и обработка данных, что никаких других серверов приложений не бывает. У вас вроде не такой, у меня тем более :) заблуждаются, с кем не бывает. Давайте посмотрим на определение, в той же Википедии: ВикипедияAn application server is a software engine that delivers applications to client computers or devices. Moreover, an application server handles most, if not all, of the business logic and data access of the application (A.K.A. centralization ). ключевые слова здесь выделены: delivers - доставляет приложения (сервисы) клиенту, обеспечивает централизованный доступ к ним и источникам данных ( centralization ). handles - управляет бизнес-логикой. Т.е. никто не определяет, что сами процедуры бизнес-логики должны быть реализованы на сервере приложений. Опять же, он предоставляет доступ к процедурам, в каком бы виде они не были оформлены. p.s. я тоже придерживаюсь задач AS описанных в определении. Вы правильно заметили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 15:49 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
ChA kilaviзы здесь голосование по поводу места хранения бизнес логикиВы, правда, считаете, что развитие, в частности - технологий, определяется голосованием ? Естественно. Большинство современных IT стандартов принято голосованием поставщиков решений базирующихся на этих стандартах. Лишь немногие компании могут себе позволить создавать собственные стандарты de'facto. Большинство компаний поменьше входят в группы по стандартизации и общими усилиями устанавливают мировой порядок. Технология, которую никто не принимает и не поддерживает не развивается и умирает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 16:04 |
|
||
|
Тонкий или толстый клиент
|
|||
|---|---|---|---|
|
#18+
tygra<...> авторПовторюсь только.. это никак не исключает реализацию бизнес-логики в СУБД. В этом то и вопрос.<...> Отсюда вывод: реализовать бизнес-логику можно как в ХП, так и на специализированном сервере приложений. А при принятии решений обязательно следует руководствоваться знаниями, навыками и личными предпочтениями разработчиков, опционально - соображениями маркетинга, самообразования и самореализации, а также повышения собственной з/п, должности, важности и труднозаменимости :) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 16:10 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34641561&tid=1544417]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 442ms |

| 0 / 0 |
