|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Но если все таки все хранится в конкретных таблицах, ХП и триггерах то на кой спрашивается для класса обертки наследование, чего он будет там будет спрашивается расширять то ? И не понимаю я, чем доступ к классам для разработчика лучше доступа через SQL к таблицам и ХП ? Отмазы типа "их много" не принимаются - при граммотной проектировке можно и стандарт именования соблюдать и по пакетам или овнерам разделить в БД, в зависимости от возможностей сервера. Так что пока для меня утверждение - лучше работать с классами, чем напрямую с обьектами БД звучит странно - я в своей жизни вынес для себя самое главное правило - чем проще система и чем меньше кода при реализации нужной функциональности, тем она лучше. Ваши классы-обертки усложняют систему и вводят новое кол-во кода, что противоречит моим взглядам на эффективные системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 18:57 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
2ACRUS: Давайте представим, что существует вот такая СУБД (объектно-реляционная): 1. Возможность создавать классы, соответствующие данным 2. Методы классов можно писать на языке а-ля С# + SQL 3. Наследование автоматически включает хранимые [Stored] поля базовых классов, а таблица задается "верхним" классом (для примера ниже все документы, имеющие в базовом списке DocumentBase будут иметь поля Number и Status, а кто унаследован от DocumentSign - Number, Status и SignedBy). Тогда для вымышленной системы документооборота можно иметь следующую иерархию: class DocumentBase //базовые свойства документов { [Stored] string Number; [Stored] int Status; ...... } class DocumentSign : DocumentBase //базовый класс для документов, треб. { // подпись [Stored] SignedBy: CPerson; method Sign( person : CPerson) { SignedBy = person; Save(); } } ...... Тогда в коде приложения на РМ, где происходит операция подписи документа, независимо от типа документа ( накладная, заявление по собств. желанию ....) выполняется код: (DocumentSign)currentDocument.Sign( currentUser); Хотелось бы увидеть, как может выглядеть структура данных + ХП для аналогичный случая на обычной системе КС + РСУБД. P.S. Прошу воспринимать как нормальную дискуссию - действительно интересно, какие есть способы улучшить дизайн КС системы, не изобретая объектные обертки и движки СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 20:45 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Имхо дискуссия сильно сместилась от конкретики в сторону философии и вкусовых предпочтений участников. Предлагаю посмотреть на вопрос не чисто с точки зрения программизма. ВМоисеевДмитрию Сорокину. >В том, что сервера приложений - лишняя трата денег? И с этим согласен.. Я нет. Надо научиться их готовить. С уважением, Владимир.Владимир, как наиболее последовательному защитнику многозвенки, позвольте задать несколько конкретных вопросов к вам о вашей системе. 1)Какова была трудоемкость создания вашей системы в человеко-годах? 2)Что представляет из себя поддержка вашей системы? 2.1) Кто её осуществляет: вы, коллеги, отдел техподдержки, сотрудники заказчика? 2.2) Каков потребный уровень квалификации для осуществления техподдержки? 2.3) Кто и при помощи каких инструментов осуществляет аудит системы, мониторинг показателей её производительности? 2.4) Что представляет из себя система безопасности вашей системы? Как туда заводятся пользователи и как назначаются им права? Интегрирована ли она с другими системами безопасности на вашем предприятии? 2.5) Какой объем данных порождается системой за месяц? 2.6) Каково среднее время безостановочной работы вашей системы? 3)Процесс внесения измений в систему. 3.1)Какое количество изменений приходится реализовывать в вашей системе в течении месяца? 3.2)Кто осуществляет эти изменения? Вы, коллеги, сотрудники заказчика? 3.3)Как происходит деплоймент изменений? Каждый пользователь должен обновить клиента и каждый апп-сервер должен быть остановлен и обновлен? 3.4)Какие инструменты\приемы вы используете при поиске причин нетривиальных ошибок в вашей системе? 4) Интеграция с другими системами 4.1) С какими сторонними системами ваша система интегрирована сейчас и каким образом? 4.2) Какие перспективы в области интеграции вы видите для вашей системы? 4.3) Как вы реализуете пакетные задания в вашей системе? (Я имею в виду некие автоматизированные задания по расписанию, не требующие участия пользователя) 4.4) Каким способом вы генерируете в вашей системе отчеты? 5) Как вы видите перспективу развития вашей системы скажем на 5 лет вперед? 5.1) Какой вы видите перспективу технологий использованных вами сейчас при разработке системы? 5.2) Как повлияет моральное устаревание использованных вами технологий на возможность использования системы? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 21:26 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
В принципе хотелось бы услышать ответы на вопросы из моего предыдущего поста от любого сторонника многозвенки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 21:29 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
ASCRUS авторно как программисту мне милее ООП с его инкапсуляцией? наследованием и прочими фенечками. Вот поэтому то и программисты не должны принимать решения о выборе платформы и используемых технологиях при оценке новых проектов. Слишком часто слова "правильно", "красиво", "милее", "круче" встречаются. Выбирать должен архитектор проекта, ориентируясь на риски, куда входит много чего, кроме вышеперечисленных слов.В принципе, согласен, но вот Туполев, в свое время, глядя на чертеж самолета иногда говорил - "Не полетит! Некрасивый", и всегда оказывался прав. Красивые архитектурные решения, как правило, обеспечивают не только удобную реализацию, но и создают условия для последующего сопровождения. Так что "правильно" и "красиво" - это тоже вполне достойные критерии, которые тоже вносят свой вклад в успех проекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 22:33 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
DrKonito. Спасибо за перенос акцентов. Меня интересуют не споры, что лучше двухзвенка-многозвенка, а варинты построения реальных многозвенных систем. Но на Ваши прямые вопросы по существу я не могу дать столь же прямые и исчерпывающие вопросы. И вот почему - я разрабатываю один из возможных вариантов построения прототипов (типовых моделей) многозвенных защищенных информационных систем для обслуживания многих(тысяч) клиентов. Разрабатываю один и достаточно много лет. Предпоследний вариант был для DCOM, но три года назад узнал о возможностях .Net и все свои знания и опыт попытался воплотить в при построении реальной системы в данной среде. Отчет, о то что и как получилось опубликовано здесь (повторяюсь): http://www.gotdotnet.ru/LearnDotNet/NETFramework/125377.aspx (первая и третья редакции). Если интересует текущее состояние проекта, могу переслать пятую редакции статьи. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2005, 12:10 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
DrKonito. Спасибо за перенос акцентов. Меня интересуют не споры, что лучше двухзвенка-многозвенка, а варинты построения реальных многозвенных систем. Но на Ваши прямые вопросы по существу я не могу дать столь же прямые и исчерпывающие вопросы. И вот почему - я разрабатываю один из возможных вариантов построения прототипов (типовых моделей) многозвенных защищенных информационных систем для обслуживания многих(тысяч) клиентов. Разрабатываю один и достаточно много лет. Предпоследний вариант был для DCOM, но три года назад узнал о возможностях .Net и все свои знания и опыт попытался воплотить в при построении реальной системы в данной среде. Отчет, о то что и как получилось опубликовано здесь (повторяюсь): http://www.gotdotnet.ru/LearnDotNet/NETFramework/125377.aspx (первая и третья редакции). Если интересует текущее состояние проекта, могу переслать пятую редакции статьи. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2005, 12:11 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
DrKonito. Спасибо за перенос акцентов. Меня интересуют не споры, что лучше двухзвенка-многозвенка, а варинты построения реальных многозвенных систем. Но на Ваши прямые вопросы по существу я не могу дать столь же прямые и исчерпывающие вопросы. И вот почему - я разрабатываю один из возможных вариантов построения прототипов (типовых моделей) многозвенных защищенных информационных систем для обслуживания многих(тысяч) клиентов. Разрабатываю один и достаточно много лет. Предпоследний вариант был для DCOM, но три года назад узнал о возможностях .Net и все свои знания и опыт попытался воплотить в при построении реальной системы в данной среде. Отчет, о то что и как получилось опубликовано здесь (повторяюсь): http://www.gotdotnet.ru/LearnDotNet/NETFramework/125377.aspx (первая и третья редакции). Если интересует текущее состояние проекта, могу переслать пятую редакции статьи. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2005, 12:11 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
ASCRUSНо если все таки все хранится в конкретных таблицах, ХП и триггерах то на кой спрашивается для класса обертки наследование, чего он будет там будет спрашивается расширять то ? И не понимаю я, чем доступ к классам для разработчика лучше доступа через SQL к таблицам и ХП ? Отмазы типа "их много" не принимаются - при граммотной проектировке можно и стандарт именования соблюдать и по пакетам или овнерам разделить в БД, в зависимости от возможностей сервера. Тут уже выше г-н ООП привел правильный пример. Я могу еще добавить следующее: иерархия таблиц в системе может быть организована параллельно иерархии классов, наследование на уровне БД может быть реализовано разными способами, чаще всего просто отношением 1 к 1. В результате мы получаем более абстрагированный от сущностей код, который может работать не с одной сущностью, а с иерархией. Помимо абстракций наследования ООП позволяет много других вещей организовывать, невозможных в обычном процедурном программировании, почитайте в конце концов про паттерны проектирования для любого ОО-языка. Да, это действительно больше актуально для других областей, где требования к гибкости и повторному использованию кода больше, но и для бизнес-логики это актуально в случае более-менее большой и сложной (в смысле не сложных алгоритмов, а сложных и/или многочисленных связей между компонентами. Хотя и для алгоритмически сложной задачи ОО-подход актуален, хотя и в меньшей степени) системы. Если взять отдельную, не очень большую, пусть даже алгоритмически сложную задачу типа расчета зарплаты, о которой вы писали, то такой подход может и не понадобиться, или же выигрыш от него будет минимальным. Да, классы обертки в какой-то мере усложняют в систему на начальном этапе, но дают бОльшую гибкость и больше возможностей для повторного использования кода, в конечном итоге при достижении системой определенного размера они начинают наоборот упрощать жизнь, и приводят в результате к меньшему количеству кода, который легче поддерживать. По поводу стандартов именования и разделения по пакетам и овнерам – это тоже не панацея, по крайней мере для MSSQL. Тут нет пакетов, а разделение по овнерам не особо поможет. Количество – это разумеется не главная причина, по которой не стоит строить серверную часть только на ХП, просто одна из причин, которые усложняют жизнь разработчику и тому, кто потом занимается сопровождением системы. VoDAжелательно грамотно именовать ХП впрочем как и классы, так что это относится и к ООП. (поиск нужного класса из 1500 это - забавно наверное). Классов в системе будет на порядок меньше, чем ХП в соответствующей по функциональности базе. Да и потом, иерархию классов, разбиение по namespace и сам код я могу структурировать как угодно, в базе же такого не сделать. Правильно именовать объекты – это само собой, но одно это правило проблемы не решает. Вообще разговор перешел в интересную плоскость – не о том, лучше ли многозвенка двухзвенки, а о том, нужна ли объектная прослойка между СУБД и клиентом. По результатам этого обсуждения у меня сложилось впечатление, что адепты двухзвенок и отказа от объектной прослойки просто занимаются разработкой исключительно серверной части, причем с бОльшим упором на базу данных (вернее база данных и является единственной серверной частью), проблемы разработки клиента к этой серверной части от них немного в стороне находятся. Советую поднабраться опыта разработки клиентов и промежуточного слоя на любом ОО-языке, например веб-приложений или веб-сервисов – промежуточный слой в чистом виде. Тогда вопросов уровня “что лучше, ХП или классы”, поубавится. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2005, 17:03 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
авторВообще разговор перешел в интересную плоскость – не о том, лучше ли многозвенка двухзвенки, а о том, нужна ли объектная прослойка между СУБД и клиентом. По результатам этого обсуждения у меня сложилось впечатление, что адепты двухзвенок и отказа от объектной прослойки просто занимаются разработкой исключительно серверной части, причем с бОльшим упором на базу данных (вернее база данных и является единственной серверной частью), проблемы разработки клиента к этой серверной части от них немного в стороне находятся. Советую поднабраться опыта разработки клиентов и промежуточного слоя на любом ОО-языке, например веб-приложений или веб-сервисов – промежуточный слой в чистом виде. Тогда вопросов уровня “что лучше, ХП или классы”, поубавится. Не очень понятен этот абзац. Если Вы намекаете, что тут собрались исключительно теоретики и проектировщики БД, то смею Вас уверить, предложение Ваше "поднабраться опыта" не выглядит заманчивым - с 90-ого года я слишком много поднабрался опыта начиная с TP3, Clipper, меняя взгляды в сторону ООП на TP5.5, а так же потом всякие FoxPro, Paradox, Delphi, Java ... Так что и свои движки БД делал и с файл-серверными системами плотно работал, даже 3-х звенкой в конце 90-ых баловался через DCOM. Куда уж больше опыта. Лично сейчас я предпочитаю использовать ООП по назначению - рисовать иерархию форм, визуальные компоненты и прочие вещи для интерфейса клиента, парсеры, интерпретаторы и прочие интересные для ООП вещи, руководствуясь простой истиной для проектов с БД - чем меньше клиентского кода, тем меньше ошибок в нем сделают кодеры. А вот что то рисовать на алгоритмических языках, ООП они или процедурные или еще какие - желания никакого абсолютно нет, представляется мне это неэффективным, неудобным и даже скучным. И по многим, голосующим здесь за бизнес-логику на РСУБД могу сказать тоже самое, путь они прошли долгий, пока поменяли мировозрение и выбрали такую схему работы, что частенько давалось тяжело. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2005, 23:28 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Благодаря Дмитрию Сорокину обсуждение перешло именно в то русло, которое и сподвигло меня задуматься о сервере приложений, а последний пост от VladiCh должно расставить точки над и. Я уже один раз осмелился высказать, что БЛ разделиввшихся на две стороны (использование ООП) приницпиально различаются. И здесь не должно быть навязывание друг другу того или иного подхода. В случае биллингов (то бишь расчетов - з/п или ещё чего) этот средий слой с ОО по большому счету не нужен. Если же вы строите ERP-систему, где применяется план счетов со множеством аналитик, где на каждый документ огромное число правил - то сопровождение такой двухуровневой системы очень сложно (что в данный момент у нас в организации и происходит), классы намного бы упростили задачу разработки и сопровождения. Выход я пока видел один - сервер приложений. Здесь Дмитрий предложил обёртки, но хотелось бы это глянуть вживую, не совсем понятно. И вообще мне не понятна проблема с СП. Почему ведущие приозводители не хотят его создать по принципу и подобию СУБД? Что нужно для функционирования СП? 1) Запустить на сервере службу с СП (как запускается, допустим, MSSQLServer) 2) Установить соединение с СП (аналогично соединению с MSSQLSever) 3) Запускать процессы бизнеc-логики аналогично запуску процессов на MSSQLServer 3) Обмен с СП происходит не на уровне запросов и результатов выборки, а на уровне объектов (документ, справочник, отчёт и т.д.). Почему СП должен тормозить? Почему никто не говорит, что СУБД тормозит? Не спорю, что мы проигрываем в скорости из-за дополнительного звена, но выигрываем в удобности поддержки, а сл-но в скорости изменения БЛ, а также уменьшения возникаемых ошибок при изменении. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 08:45 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
авторПочему СП должен тормозить? Почему никто не говорит, что СУБД тормозит? Ну как бы разные порядки величины торможения. На фоне СП тормоза СУБД малозаметны. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 09:25 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
авторЕсли же вы строите ERP-систему, где применяется план счетов со множеством аналитик, где на каждый документ огромное число правил - то сопровождение такой двухуровневой системы очень сложно (что в данный момент у нас в организации и происходит), классы намного бы упростили задачу разработки и сопровождения. Выход я пока видел один - сервер приложений. У меня проект под департамент социальных выплат для крупного холдинга - поддерживается куча аналитических схем (многоуровневых деревьев) планового и фактического учета выплат, настраиваемые правила по документам - от контроля необходимости заполнения различных аттрибутов документов до финансового мониторинга, системы заявок и статусов фактических выплат, аналитики и прочее. Все это еще обвязано в схему работы узлов, где есть дерево с консолидированной вершиной (сам холдинг) и многоуровневым обеспечением хранения, доставки и работы на удаленных узлах (серверах) с помощью оффлайн репликаций, единым централизованным управлением как серверами, так и правами пользователей (вплоть до того, что пользователь имеющий права на нужные узлы спокойно со своим логином и паролем может разьезжать между ними и работать/администрировать с системой). Все это реализовано стандартными средствами: хранимые процедуры и триггера, дополнительные скрипты в таблицах (text), динамический SQL, репликация. Кода вообще копейки, все легко расширяется и интегрируется с другими системами, откуда могут браться дополнительные данные (с той же зп или ERP). Естественно на клиентской части созданы удобные средства управления и администрирования логики проекта, большая часть - это вообще собственные системные обьекты, отработанные не один год, работающие во всех наших проектах и организованные по модульной системе, проекты пишутся командой, соответствующе изменения служебных обьектов БД или иерархий классов в клиентской части идут через систему контроля версий и спокойно собираются для остальных проектов. Никакого 3-его звена, минимальное кол-во кода и достаточно большая гибкость, универсальность и легкость. Есть одна оговорка - на MSSQL все этого бы не получилось в том полном обьеме, что у нас есть. На ASA или Oracle это нормально можно организовать (на ASA правда по легче, для Oracle придется попыхтеть). Так же сейчас у нас в предварительных проектах лежит система документооборота и система организации интернет продаж с требованиями реализации универсальных пользовательских механизмов, позволяющих на уровне блок схем описывать движение документов и правила продаж товаров с возможностью дополнительной логики (например проводимые акции, подарки и прочее). Самое интересное - если эти проекты будут утверждены для разработки, я даже задумываться не буду - не вижу ни одного препятствия для того, чтобы всю эту логику реализовать средствами БД, причем я даже сразу знаю, как. Так может быть просто стоит задуматься о смене сервера, может быть клиентской части и повышении квалификации, чем переходить на ООП, который по любому для РСУБД, что кривой костыль и мешать парадигмы, где все равно от SQL так или иначе никуда не денешься и обвязка данных обьектами все равно не позволит полностью увести приложение на обьектный уровень, а значит какой в этом толк, если все равно те же отчетники будут требовать SQL, расчеты над множествами данных быстрее работать на ХП и прочее. P.S. Да - я еще никак не понимаю акцента на клиентские части. Неужели разово нарисовать иерархию интерфейсной части, отработать ее по самое не хочу, купить и доработать универсальные компоненты доступа и визуализации данных через SQL сложнее, чем писать с нуля свою трехзвенку, а значит по любому что то свое лепить с нуля. Про универсальных саморазворачивающихся клиентов можно забыть - легче мышкой накидать новую формочку, причем даже лучше будет не формочку-класс, а формочку встроенного в клиентское приложение какого либо скриптового языка с визуальным дизайнером, благо их навалом, чем пытаться автоматически их генерить, ущемляя удобство интерфейса и возможности. Очень интересные горизонты открываются с такими скриптовыми движками в клиенте, снимается множество проблем и добавляется куча новых возможностей (то же самое и отчетных систем касается - тот же FastReport со своим FastScript после доработки напильником очень даже приятно выглядит). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 10:27 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
ASCRUSНе очень понятен этот абзац. Если Вы намекаете, что тут собрались исключительно теоретики и проектировщики БД, то смею Вас уверить, предложение Ваше "поднабраться опыта" не выглядит заманчивым Абсолютно не хотел преуменьшать ваш опыт, просто хотел сказать следующее: я много раз наблюдал, что люди, которые долго специализируются на какой-то одной достаточно универсальной технологии, изучают ее настолько, что могут на ней реализовать почти любую задачу. И в принципе понятно, что другие решения, в которых они разбираются не настолько хорошо, начинают вызывать аллергию. Это же я могу сказать и о себе, когда в середине 90-х, являясь приверженцем TP, спорил с адептами C++ о том, какой язык лучше. Некоторая зашоренность мышления возникает, связанная с тем, что именно сейчас данный конкретный человек именно эту задачу может решить быстрее и эффективнее именно своим отработанным способом, поэтому другие его не особенно и беспокоят. ASCRUSТак может быть просто стоит задуматься о смене сервера, может быть клиентской части и повышении квалификации, чем переходить на ООП, который по любому для РСУБД, что кривой костыль и мешать парадигмы, где все равно от SQL так или иначе никуда не денешься и обвязка данных обьектами все равно не позволит полностью увести приложение на обьектный уровень, а значит какой в этом толк, если все равно те же отчетники будут требовать SQL, расчеты над множествами данных быстрее работать на ХП и прочее. Эхх, ладно, чисто теоретически, на форуме, этот вопрос не разразрешить, тем более людям, у которых имеется много наработок в своей области и мышление уже в какой-то мере зациклено на этом (это я про всех участников обсуждения говорю, в том числе и про себя). Тут надо не на пальцах, а на конкретных примерах обсуждать, что лучше для конкретной задачи. В общем виде такой спор бессмысленен. Я абсолютно согласен, что 2-х звенный для определенного класса задач является самым оптимальным, но то, что это панацея для любой подобной задачи - это уж увольте... И ООП для бизнес-логики тоже вполне применимая и удобная концепция, в обратном вы меня тоже не убедите, т.к. я данный подход давно применяю и вполне успешно. Насчет универсальных саморазворачивающихся клиентов тоже забывать не надо, да, в случае автоматической генерации форм теряется определенная гибкость, но никто не мешает вам эту форму создать вручную, подход с автоматической генерацией покрывает 80-90% потребностей, оставшиеся 10-20 пишите вручную - кто же вам мешает. Насчет смены СУБД - да, это актуальный вопрос, но к сожалению он не такой простой и в достаточно большой степени политический, что ли... Да и смена СУБД может упростить собственно написание бизнес-логики в БД, но принципиальных проблем этого подхода не решит. Вот вы все говорите о том, что кода в ХП у вас мало. Это с какой-то точки зрения говорит и об объеме решаемых вами задач. Вы же не будете отрицать, что существуют задачи, для которых количество кода будет достаточно большим, а поддерживать такой код в общем случае все-таки существенно сложнее, чем такой же по объему ООП-шный клиентский или промежуточного слоя. Я допускаю, что сложность поддержки сильно зависит от конкретной СУБД, но скажем для MSSQL это именно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 11:41 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChВообще разговор перешел в интересную плоскость – не о том, лучше ли многозвенка двухзвенки, а о том, нужна ли объектная прослойка между СУБД и клиентом. По результатам этого обсуждения у меня сложилось впечатление, что адепты двухзвенок и отказа от объектной прослойки просто занимаются разработкой исключительно серверной части, причем с бОльшим упором на базу данных (вернее база данных и является единственной серверной частью), проблемы разработки клиента к этой серверной части от них немного в стороне находятся. Советую поднабраться опыта разработки клиентов и промежуточного слоя на любом ОО-языке, например веб-приложений или веб-сервисов – промежуточный слой в чистом виде. Тогда вопросов уровня “что лучше, ХП или классы”, поубавится.На текущий момент занимаюсь поддержкой многозвенки , посему адептом двузвенки быть не могу (по определению). Причем многозвенка (4-х) является как раз веб-приложением. Сделано так, что все звенья, кроме СУБД, построены как слои для преобразования запросов и ответов для следующего звена. Т.е. имеют простую логику и легко поддерживаются одним программистом. Остальной отдел занимается поддержнокой и развитием только серверной части. Причина проведения всей основной работы на СУБД проста - при переносе обработки на СП системы становится тормозом (чугунным). А так все красиво, удобно и быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 12:30 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Простой рабочий Почему СП должен тормозить? Почему никто не говорит, что СУБД тормозит?так у вас один сервер приложений или 10-ть (для распределения нагрузки)? Если один, то смысл еги использования только в том, чтобы создавать дополнительный уровень - наверное на простых задачах это подходит, но на более сложных/ тяжелых в производительности еще один уровень - может оказаться последним гвоздем в крышку гроба этого проекта. А если 10-ть то возникают проблемы параллельного использования и модификации данных (к примеру). И их тоже надо будет разруливать. VladiChЭхх, ладно, чисто теоретически, на форуме, этот вопрос не разразрешить, тем более людям, у которых имеется много наработок в своей области и мышление уже в какой-то мере зациклено на этом (это я про всех участников обсуждения говорю, в том числе и про себя). Тут надо не на пальцах, а на конкретных примерах обсуждать, что лучше для конкретной задачи. В общем виде такой спор бессмысленен. Я абсолютно согласен, что 2-х звенный для определенного класса задач является самым оптимальным, но то, что это панацея для любой подобной задачи - это уж увольте... И ООП для бизнес-логики тоже вполне применимая и удобная концепция, в обратном вы меня тоже не убедите, т.к. я данный подход давно применяю и вполне успешно. ИМХО очень зависит от задачи. Поэтому поддерживаю обсуждение на конкретных задачах, но как это сделать? ---- SAnalis.ru - Just for fun. Но мы растем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 12:59 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Господа разно звенко-писатели: У меня предложение: Может каждый выскажется, в каких ситуациях стоит использовать звено на Сервере Приложений, в каких - нет. От себя: СП стоит применять, если: 1. Система работает через веб. 2. Очень сложная система (мета-система), которая включает в себя другие системы (возможно также много-уровневые). 2.а Система имеет одновременно веб- и клиентский-интерфейсы. Причем тот и друго выполняют одинаковые функции, тогда все общее выносится на промежуточный уровень. В остальных - двух-уровневая архитектура. ---- SAnalis.ru - Just for fun. Но мы растем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 13:43 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Ну к примеру задача такая: Универсальный бизнес-фреймворк, на котором можно создавать различные приложения вплоть до ERP. Есть три режима - пользовательский, разработчика и администратора. В режиме разработчика можно создавать в системе новые сущности, связи и логику. В режиме администратора можно раздавать права на систему, управлять ее физическими/логическими параметрами и ограниченно редактировать список атрибутов сущностей (без изменения при этом структуры базы данных). Должны быть возможности автоматического построения UI на основе метаданных. Клиентская часть реализуется на .NET, база данных - MSSQL. Должна поддерживаться удаленная работа с системой, а также возможность независимой работы на разных базах с последующей репликацией. Критерии разработки - максимальная расширяемость и масштабируемость системы. Описал задачу с минимальными подробностями, чтобы заранее не ограничивать возможные решения. Мне просто интересно, как можно спроектировать подобную систему в 2-хзвенном виде? Есть ли примеры реализации подобных систем? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 13:53 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChКлиентская часть реализуется на .NET, база данных - MSSQL.Если не секрет, а почему выбрана платформа .NET и MSSQL от Microsoft. Интересно, проводилось ли сравнение с J2EE и по каким критериям? С Уважением, VoDA ---- SAnalis.ru - Just for fun. Но мы растем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 13:59 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VoDAЕсли не секрет, а почему выбрана платформа .NET и MSSQL от Microsoft. По историческим причинам :). Это был не мой выбор, так что ничего сказать не могу. Но я выбрал бы ту же технологию, потому что собственно на ней специализируюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 14:06 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Но при рассмотрении данной задачи можно и это требование (.NET / MSSQL) отбросить. Разве это что-то поменяет? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 14:08 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChНу к примеру задача такая: Универсальный бизнес-фреймворк, на котором можно создавать различные приложения вплоть до ERP. Типичный пример отсутствия понимания того, что же в итоге должно получиться. Такие "задачи" интересно решать программистам для оттачивания своего мастерства, но с т.з. руководителя такая, с позволения сказать "постановка задачи" есть первейший признак провальности проекта. Вещь в себе, искусство ради искусства. Вместо того, чтобы долго, кропотливо и тщательно выяснять с заказчиком что ему нужно (чаще всего он сам точно не знает) программисты бросаются писать "универсальный фреймворк", который в итоге не может толком решить ни одну реальную задачу. Вот это все VladiChВ режиме разработчика можно создавать в системе новые сущности, связи и логику. В режиме администратора можно раздавать права на систему, управлять ее физическими/логическими параметрами и ограниченно редактировать список атрибутов сущностей (без изменения при этом структуры базы данных). Должны быть возможности автоматического построения UI на основе метаданных. абсолютно не нужно если вы сразу хорошо представляете ЧТО ИМЕННО должна делать система. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 14:14 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
А с чего вы взяли, что задача ставилась именно так? По существу вопроса есть что сказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 14:21 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Один1 VladiChНу к примеру задача такая: Универсальный бизнес-фреймворк, на котором можно создавать различные приложения вплоть до ERP. Типичный пример отсутствия понимания того, что же в итоге должно получиться. Такие "задачи" интересно решать программистам для оттачивания своего мастерства, но с т.з. руководителя такая, с позволения сказать "постановка задачи" есть первейший признак провальности проекта. Вещь в себе, искусство ради искусства. Вместо того, чтобы долго, кропотливо и тщательно выяснять с заказчиком что ему нужно (чаще всего он сам точно не знает) программисты бросаются писать "универсальный фреймворк", который в итоге не может толком решить ни одну реальную задачу. Вот это все Присоединяюсь к мнению Одного1. Если вы не располагаете ресурсами Микросцофта то залезание в такой проект закочится вечнонедописанной системой, которую никто не понимает. Можно посмотреть на это с другой стороны- почему Микрософт, Оракыл и иже с ними до сих пор не написали "универсальный бизнес-фреймворк"? Наверное фантазии не хватило :) Тогда вы зря пиарите здесь свою идею- украдут :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 14:31 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Да ема е... Я не хочу здесь обсуждать возможность реализации подобного проекта. Разумеется в реальном проекте не все так радужно и он не настолько универсальный, как я написал, я просто не стал в это углубляться чтобы не ограничивать фантазию. Предположим что есть такой проект. А Microsoft кстати упорно пишет свой бизнес-фреймворк, уже скоро он выйдет. вот кстати небольшое описание : http://blogs.msdn.com/kevin_ransom/archive/2004/02/27/81391.aspx , на него в скором времени переведут все продукты Microsoft Busines Solutions как то Axapta, Navision, MS CRM и т.п. Более того, подобных фреймворков существует навалом, возьмем тот же 1С, чем не бизнес-фреймворк? Тот, который мы разрабатываем немного специфический, не для всех задач от подходит и разумеется по возможностям он не конкурент MBF. Просто я немного так скажем глобализировал задачу, чтобы показать некоторым адептам 2-х звенного подхода, что есть действительно большие задачи, в которых не обойтись ни без сервера приложений ни без объектной прослойки. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2005, 14:45 |
|
|
start [/forum/topic.php?fid=33&msg=33313238&tid=1548944]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
132ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 250ms |
0 / 0 |