|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Добрый день! Не спешите кидать в меня помидоры ;) Хоть тема и заезженная, как я смотрю, но у меня ситуация в которой другого решения я не вижу. Если тема уже обсуждалась - буду очень признателен за информацию, ничего подходящего я пока не нашел. Теперь всё по порядку. Вот что мне нужно: 1) Необходим так называемый "шлюз" к произвольной СУБД, который бы позволял обращаться к данным и редактировать их вне зависимости от типа этой СУБД. Требования к интерфейсу - аналогичны SQL, т.е. чтобы можно было делать запросы к нескольким таблицам, применять фильтрацию и т.п., а так же осуществлять DDL и DML. Основная задача - архитектурно абстрагироваться от привязки к конкретной СУБД. 2) Необходимо разработать систему (пока что склоняюсь к MS Visual Studio, C#), которая позволяла бы настраиваться на СУБД и произвольную структуру таблиц с целью навигации по данным и их редактирования. При этом не требуются какие-то замудрые фичи в интерфейсе, дополнительные функции, отчеты и прочая блажь, за что что их часто критикуют противники данного подхода. Процесс настройки должен позволить подключиться к БД заказчика, заполнить метаданные по ER-модели БД, определить какие сущности и поля будут видны и доступны для редактирования в GUI, и остальное параметры (при необходимости). На основе этих метаданных моя система должна сама строить формы и процедуры обновления данных. Зачем мне это нужно: Необходимо написать систему, которая будет проводить некоторую обработку данных по принципу "прочитал запись - проверил - исправил - записал обратно", при этом система должна быть, как я уже писал, универсальной, т.е. не зависящей от структуры и типа БД. Записи, которые не прошли обработку в автоматическом режиме, должны быть обработаны вручную - для этого и нужен универсальный GUI-интерфейс для навигации и редактирования произвольных таблиц. Что я хотел бы услышать: Буду очень признателен, если посоветуете готовые решения или библиотеки для такого рода задач (желательно бесплатные или недорогие). Или таки лучше всё это писать с нуля? Если кто занимался подобными вещами, очень интересно послушать ваше мнение. Насколько облегчит жизнь использование ORM-средств типа NHibernate (если вообще облегчит :D)? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 09:00 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Павел 1983 Насколько облегчит жизнь использование ORM-средств типа NHibernate (если вообще облегчит :D)? вот-вот, начни с них, и мы тебя дооолго не увидим. Любители универсальности в мире. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 09:22 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Petro123 вот-вот, начни с них, и мы тебя дооолго не увидим. Любители универсальности в мире. Уважаемый Бензин123, вижу что вы ничего не поняли. Либо вам просто лень вникать в суть проблемы, либо вы некомпетентны в данном вопросе. Я не любитель универсальности и в частных случаях тоже против такого подхода, но в моей ситуации она именно необходима, а не является моей тайной страстью или фантазией навроде "хочу шоб всё исразу", как вы могли подумать =) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 10:17 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Междумордие (с) ? По сабжу: В принципе идея востребованная. И вполне реализуемая. Я даже делал попытки(правда СУБД одна) :) По большому счету многие об этом задумывались, когда делали костыли к к-л готовой системе. Неплохо подходит ACCESS. Наблюдал довольно сложные решения ACCESS+DBF+MSSQL (обработка+репортинг из 3-х разных систем). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 10:21 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Павел 1983, только бесплатность не могу обещать. Хотя если в однопользовательском режиме, то бесплатно. А в остальном - берите и решайте свои задачи на любой БД или разных, вместе взятых. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 10:44 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Павел 1983 Либо вам просто лень вникать в суть проблемы Как вы вникаете, и насколько вы трудолюбивы мы увидим после ваших ответов на предложения (уже поступившие). Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 11:14 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
LSVМеждумордие (с) ? Неплохо подходит ACCESS. Наблюдал довольно сложные решения ACCESS+DBF+MSSQL (обработка+репортинг из 3-х разных систем). Спасибо за совет, но полагаю что нужно использовать более гибкие и удобные средства разработки. Как минимум понадобятся механизмы наследования форм, так что пока оставлю этот вариант на крайний случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 12:04 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Павел 19831) Необходим так называемый "шлюз" к произвольной СУБД, Тогда ODBC. Потом сканировать системные таблицы (или сделать метаописание) и строить динамический интерфейс с использованием динамичсеского SQL. Вполне решаемая задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 12:12 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_модТогда ODBC. Потом сканировать системные таблицы (или сделать метаописание) и строить динамический интерфейс с использованием динамичсеского SQL. Вполне решаемая задача. Хм, нужно поподробней посмотреть его возможности... Я слабо представляю как он работает с DDL и нет ли тут подводных камней. А так же насколько это удобно. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 12:49 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Павел 1983LSVМеждумордие (с) ? Неплохо подходит ACCESS. Наблюдал довольно сложные решения ACCESS+DBF+MSSQL (обработка+репортинг из 3-х разных систем). Спасибо за совет, но полагаю что нужно использовать более гибкие и удобные средства разработки. Как минимум понадобятся механизмы наследования форм, так что пока оставлю этот вариант на крайний случай. Тогда возьмите PowerBuilder :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 13:07 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
> Тогда ODBC Лучше jdbc. Но в любом случае геморроя будут полные штаны. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2009, 17:47 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
если предпологается использовать набор операций близкий к ansi sql-92 то задача даже может быть проще чем кажется (манупулирование данными ну уровне строки) и базовые dml. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2009, 10:20 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
guest_20040621> Тогда ODBC Лучше jdbc. Но в любом случае геморроя будут полные штаны. Это точно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2009, 12:00 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Павел 1983<...> 1) Про "шлюз" - присоединяюсь к тем, кто говорит про ODBC/JDBC. Одинаково посредственно работает со всеми "промышленными" РСУБД. Хотите бОльшей эффективности - потребуется бОльшая специализация. В качестве "единообразной и безобразной" админки - напр. EMS SQL Manager'ы . Ну либо действительно hibernate. Видел вполне "шустро" работающие системы на нём - но "готовить" его учились долго. 2) Про систему доступа к данным - ну да, систему на C# определённо можно настроить на работу с любой структурой данных хард кодом на C#, но когда таблиц становится больше 100 - это надоедает. Я такую систему когда-то давно на PHP с PEAR писал: действительно, в конфигурации (не хард-кодом) настраивались метаданные, после чего эта штука сама обеспечивала табличные и детальные формы, поиск, валидацию, связывание. Написал, работало, задача на аккуратность. В принципе, всё, кроме "определить какие сущности и поля будут видны и доступны для редактирования в GUI" замечательно можно делать через саму админку, и самому ничего писать не надо. Павел 1983Petro123 вот-вот, начни с них, и мы тебя дооолго не увидим. Любители универсальности в мире. Уважаемый Бензин123, вижу что вы ничего не поняли. Либо вам просто лень вникать в суть проблемы, либо вы некомпетентны в данном вопросе. Я не любитель универсальности и в частных случаях тоже против такого подхода, но в моей ситуации она именно необходима, а не является моей тайной страстью или фантазией навроде "хочу шоб всё исразу", как вы могли подумать =) Павел, это публичный форум. Здесь никто никому ничего не должен. Если хотите конструктивных ответов, советую быть сдержаннее и не переходить на личности. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2009, 02:00 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
AlexTheRaven 1) Про "шлюз" - присоединяюсь к тем, кто говорит про ODBC/JDBC. Одинаково посредственно работает со всеми "промышленными" РСУБД. Хотите бОльшей эффективности - потребуется бОльшая специализация. В качестве "единообразной и безобразной" админки - напр. EMS SQL Manager'ы . Ну либо действительно hibernate. Видел вполне "шустро" работающие системы на нём - но "готовить" его учились долго. какие-то парадоксы описываются. Значит JDBC "одинаково посредственно" , а прилепленный к JDBC ORM уже "шустро" . p.s. EMS выпускает инструменты для админов, а не для конечных пользователей ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2009, 10:45 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafm<...> какие-то парадоксы описываются. Значит JDBC "одинаково посредственно" , а прилепленный к JDBC ORM уже "шустро" . Никаких парадоксов. Эффективность, которую без ORM я считаю "посредственной", с ORM я считаю "шустрой". За всё надо платить, и за удобства ORM для разработчиков тоже. iscrafmp.s. EMS выпускает инструменты для админов, а не для конечных пользователей Я знаю, но если задача Павел 1983 Записи, которые не прошли обработку в автоматическом режиме, должны быть обработаны вручную - для этого и нужен универсальный GUI-интерфейс для навигации и редактирования произвольных таблиц и такая обработка - явление не очень частое, то админка в руках аккуратного оператора БД - вполне нормальный инструмент. Не хотите, чтобы оператор дел натворил - не давайте ему полномочий, админками можно работать и из-под ограниченных учётных записей. Плюс админки - всё давно отлажено и доступно за вменяемые деньги, с поддержкой, самим писать ничего не надо. Минус - посредственная эргономика ведения данных, как раз из-за универсальности и ориентированности на админа/разработчика. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2009, 13:21 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
неторопливо пытаюсь построить похожую систему... уже год:) все от лени - не люблю рисовать формочки, события расписывать - рутина :) выбрал Python+Qt - бесплатно и кроссплатформенно БД - MySql, SQLite и что угодно через ODBC в двух табличках храню описание БД и куски кода для обработки событий, есть еще описание меню для каждой таблицы из БД все на ходу собирается и отображается интерфейс простой - грид,меню,окна в планах - отчеты в RTF, XLS прикрутить Конечная цель - без кодирования интерфейса делать рабочие системы, т.е. программа цепляется к БД, ищет там "свои" таблицы, формирует систему меню, и дальше работает, читая логику из "своих" таблиц прототип всего этого сделан несколько лет назад на Foxpro (который меня пока кормит:) ), прежде чем начать работу смотрел много чего, в том числе и Iscra впечатлило много, есть чему поучиться ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 02:58 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Все,что перечислено - описание Sculpture ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 03:14 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
SeVaВсе,что перечислено - описание Sculpture особенно из перечисленного в Скульптуре есть "БД - MySql, SQLite и что угодно через ODBC" SeVa, ничего там нет на самом деле. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 12:40 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
вообще amazing = изумительный. В презентации (в 4 частях) долгого создания какого-то примитива, действительно эффектно и изумительно с разворота врывается окошко с четырмя колонками. Жесть какая-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 12:55 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
авторособенно из перечисленного в Скульптуре есть "БД - MySql, SQLite и что угодно через ODBC" SeVa, ничего там нет на самом деле. icrafrm,где Вы там увидели ODBC?В с# его могут применять только бывшие дельфисты.Сейчас трудно найти БД,которую не поддерживает Hibernate или без Linq провайдера.На крайний случай - CSLA и АDO c ODBC.Самое главное чего там нет - черного ящика,все в исходных кодах и за счет продуманной архитектуры,если понадобятся изменения,они будут минимальны. В свою же жестяную крышку гвозди и забиваете. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 14:26 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
SeVaавторособенно из перечисленного в Скульптуре есть "БД - MySql, SQLite и что угодно через ODBC" SeVa, ничего там нет на самом деле. icrafrm,где Вы там увидели ODBC? да не там, а в сообщении предыдущего автора. Ну и кроссплатформенность. Вы же на него ответили. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 15:20 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
на тему MDA, имхо, более интересная система . ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 15:58 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Отвлечённо: vill_agerнеторопливо пытаюсь построить похожую систему... уже год:) Кнопка "Сброс" - это да, круче было бы только "Слив" ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 16:54 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
АнатоЛойОтвлечённо: Кнопка "Сброс" - это да, круче было бы только "Слив" так исторически сложилось ... но спасибо за идею - сделаю текст этих кнопок настраиваемым: эстеты и продвинутые юзеры смогут извращаться: "Круто" и "Отстой" или "Давай" и "Отвали" ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2009, 20:24 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Есть такая сборка linux для военных МС ВС, так вот, мне рассказывали что в одной из версии там реально были на диалогах кнопки: "есть" и "отставить" =)) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2009, 16:15 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
тема интересует многих, по кол-ву просмотров на первой странице в первой десятке... но: полковнику никто не пишет :) пересмотрел еще раз разные системы похоже это надо только нам, бывшим совкам, и то не всем у буржуев вся работа разделена:консультант делает постановку, дизайнер -интерфейс делает, БД - спец по БД, программист кодирует, тестировщик тестирует - куча народа ... поэтому у них упор на совместную разработку. а нам надо в одиночку все это поднять, и полкопейки денег взять... я сам такой :) - все в одном, и все кое-как предлагаю сменить направление темы - вместо поиска универсальной системы будем обсуждать построение универсальной системы - инструменты, интерфейс пользователя, взаимодействие с БД или не будем :) хочу сразу предупредить - мне за 40 и не знаю много умных букв например: iscrafmна тему MDA... так и не смог расшифровать :) и есть еще много разных букв - может мне без них никак, а не я в курсе я вот начал с выбора языка. Сначала было зацепилcя за C#... потом python самым привлекательным для меня стала возможность выполнения кода на лету. string="a=1" exec string это чтобы не встраивать интерпретатор , или не писать свой язык... и чем дальше в лес, тем больше трюков (хотя знаю, что это запутывает код и порождает ошибки) красив, лаконичен... я на C/C++ сейчас без ужаса смотреть не могу - столько скобок {} ::, а начинал на нем, ...ццать лет назад :) бесплатен, работает везде... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2009, 12:46 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
vill_ager хочу сразу предупредить - мне за 40 и не знаю много умных букв например: iscrafmна тему MDA... так и не смог расшифровать :) и есть еще много разных букв - может мне без них никак, а не я в курсе MDA ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2009, 12:49 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Infernal V. Raven, спасибо, когда искал, не дочитал вики до конца :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2009, 13:39 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
vill_agerсамым привлекательным для меня стала возможность выполнения кода на лету. Oracle - динамический pl/sql ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2009, 17:36 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
автору буржуев вся работа разделена:консультант делает постановку, дизайнер -интерфейс делает, БД - спец по БД, программист кодирует, тестировщик тестирует - куча народа ... поэтому у них упор на совместную разработку. а нам надо в одиночку все это поднять, и полкопейки денег взять... я сам такой :) - все в одном, и все кое-как предлагаю сменить направление темы - вместо поиска универсальной системы будем обсуждать построение универсальной системы - инструменты, интерфейс пользователя, взаимодействие с БД И только у нас ищут и обсуждают возможность построения универсальных систем.Не было их и не будет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2009, 19:12 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_мод Oracle - динамический pl/sql кажется pl/sql для создания GUI не используется - я не спец в этом я, например, собираю экран из описания, но перед show() делаю вызов функции, которая извлекает из БД код на python, и выполняет его. В нем имею доступ к еще не показанному экрану и могу его модифицировать. То же делаю на уровне отдельных полей на экране, и по разным поводам(событиям). Зачем это надо - имея одно описание(конфигурацию, как хочешь называй...), у разных заказчиков можно прямо вносить небольшие изменения, не изменяя основы. При обновлении описания эти довески не страдают - лежат в другом месте _модНе было их и не будет ну тот же Access - чем не универсальная оболочка БД... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2009, 20:22 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
vill_agerпотом python самым привлекательным для меня стала возможность выполнения кода на лету. Такое работает в Tcl и в VFP. И эти языки тоже хорошо подходят для создания интерфейсов всяких учетных систем. Я, например, на VFP пишу интерфейс юзера, тикль для этого попробовал, но не было реального проекта под него, поэтому на тикле пишу только динамические хранимки. В конфигурации, которая у меня лежит в БД, есть участки кода как юзерского интерфейса (и тогда язык стоит VFP), так и кода на SQL и кода на TCL. Правда, тикль меня несколько напрягает обилием кавычек-скобочек. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2009, 10:13 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
vill_agerделаю вызов функции, которая извлекает из БД код на python, и выполняет его. Так тоже можно. Но есть недостаток - необходимость использовать два языка: python и sql ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2009, 11:39 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_мод, хм, а как обойтись одним? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2009, 11:43 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Infernal V. Ravenхм, а как обойтись одним? GUI динамически формируем по метамодели, обработчики событий пишем на pl/sqp и выполняем их тоже динамически. Получается такой полный интерпретатор. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2009, 12:03 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_модТак тоже можно. Но есть недостаток - необходимость использовать два языка: python и sql без SQL сегодня никак... но у меня вырисовался такой класс - Таблица. Создаю объект этого класса, задаю ORDER, WHERE затем refresh() - считываю все значения PRIMARY KEY, считаю кол-во строк. Затем можно заниматься навигацией, как в старом добром фокспро, нужная информация извлекается по необходимости. С этим же объектом взаимодействует Grid (в стиле умных букв MVC). Там же методы для извлечения/записи информации это я к тому, что при построении интерфейса SQL не нужен - он спрятан в классе таблицы ну и таблицы живут в классе БД, и в нем же все связи (FOREIGN KEY), они первоначально считываются из физической БД (если там есть- например в SQLite - нету), но потом они же участвуют в построении интерфейса: если есть, например, таблица DOCS(заголовки документов) и к ней INFS (содержание) и описана команда: раскрыть текущий документ, то эта инфа используется для запрета удаления заголовка при наличии соответствующих записей в INFS. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2009, 19:45 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
2 vill_ager, А если в таблице миллионы записей? И что делать с представлениями? Итд., итп. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2009, 09:02 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
stiА если в таблице миллионы записей? И что делать с представлениями? Итд., итп. просто переписать модель (в Qt - на базе QAbstractTableModel) там 4 основных метода - rowCount, columnCount, data, headerData переписать таблицу (без привязки к конкретной БД тут уже не обойтись) просто универсальная вещь не может делать все лучше всех :) кста, даже DBF таблица миллионов на 5 через ODBC открывается шустро и скроллится на ура знаю, что это немного... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2009, 09:48 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
vill_agerзатем refresh() - считываю все значения PRIMARY KEY, считаю кол-во строк. Это опасно - можно нарватся на 10000000 строк :) vill_agerэто я к тому, что при построении интерфейса SQL не нужен - он спрятан в классе таблицы Это не так. Простой пример: после ввода одного поля формы нужно заполнить некотырые другие поля - необходимы запросы к БД (м.б. запрятанные в функции). [/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2009, 10:40 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
vill_agerкста, даже DBF таблица миллионов на 5 через ODBC открывается шустро и скроллится на ура Ключевое слово - скроллится (прямо на месте). Для того, чтобы скроллить таблицу в БД, надо немного подумать и много поработать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2009, 10:42 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_модЭто опасно - можно нарватся на 10000000 строк :) с этим надо и можно бороться _мод Это не так. Простой пример: после ввода одного поля формы нужно заполнить некотырые другие поля - необходимы запросы к БД (м.б. запрятанные в функции). для этого можно не обязательно использовать SQL в лоб делаем одну функцию (у меня метод в объекте БД), в которую отдаем имя таблицы БД, условие WHERE, имя поля для возврата _модДля того, чтобы скроллить таблицу в БД, надо немного подумать и много поработать. тут я не все понял. да и говоря о УИС, все лично я имею ввиду универсальность GUI. А как там выбираются данные - зависит от БД, ее размеров ... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2009, 11:56 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
vill_agerтут я не все понял. В большинстве СУБД курсор скролится только вперед - посему надо куда-то скидывать рез-т для скрола назад. В ИС все взаимосвязано: GUI, поиск, обработка и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2009, 15:34 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_модvill_agerтут я не все понял. В большинстве СУБД курсор скролится только вперед - посему надо куда-то скидывать рез-т для скрола назад. В ИС все взаимосвязано: GUI, поиск, обработка и т.д. само собой: чтение результатов запроса только вперед, сохранение в массиве (есть в python очень классная штука - словари)... согласно MVC этим и занимается класс модели как раз тут все просто :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2009, 19:34 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Павел 1983Добрый день! Не спешите кидать в меня помидоры ;) Хоть тема и заезженная, как я смотрю, но у меня ситуация в которой другого решения я не вижу. Если тема уже обсуждалась - буду очень признателен за информацию, ничего подходящего я пока не нашел. Теперь всё по порядку. Вот что мне нужно: 1) Необходим так называемый "шлюз" к произвольной СУБД, который бы позволял обращаться к данным и редактировать их вне зависимости от типа этой СУБД. Требования к интерфейсу - аналогичны SQL, т.е. чтобы можно было делать запросы к нескольким таблицам, применять фильтрацию и т.п., а так же осуществлять DDL и DML. Основная задача - архитектурно абстрагироваться от привязки к конкретной СУБД. 2) Необходимо разработать систему (пока что склоняюсь к MS Visual Studio, C#), которая позволяла бы настраиваться на СУБД и произвольную структуру таблиц с целью навигации по данным и их редактирования. При этом не требуются какие-то замудрые фичи в интерфейсе, дополнительные функции, отчеты и прочая блажь, за что что их часто критикуют противники данного подхода. Процесс настройки должен позволить подключиться к БД заказчика, заполнить метаданные по ER-модели БД, определить какие сущности и поля будут видны и доступны для редактирования в GUI, и остальное параметры (при необходимости). На основе этих метаданных моя система должна сама строить формы и процедуры обновления данных. Зачем мне это нужно: Необходимо написать систему, которая будет проводить некоторую обработку данных по принципу "прочитал запись - проверил - исправил - записал обратно", при этом система должна быть, как я уже писал, универсальной, т.е. не зависящей от структуры и типа БД. Записи, которые не прошли обработку в автоматическом режиме, должны быть обработаны вручную - для этого и нужен универсальный GUI-интерфейс для навигации и редактирования произвольных таблиц. Что я хотел бы услышать: Буду очень признателен, если посоветуете готовые решения или библиотеки для такого рода задач (желательно бесплатные или недорогие). Или таки лучше всё это писать с нуля? Если кто занимался подобными вещами, очень интересно послушать ваше мнение. Насколько облегчит жизнь использование ORM-средств типа NHibernate (если вообще облегчит :D)? Павел, если это дипломная работа такая, то можно сделать, как решение сугубо технической задачи. Конечно, никакой речи об использовании возможностей БД быть не может в силу требования п1. На мой взгляд, это требование - большой минус для сколько-нибудь серьезной системы, с количеством пользователей больше 300. Насколько может помочь генератор форм по метамодели? Думаю, что мало может помочь. Т.к. формы даже с минимумом полей обладают некоторой логикой работы, проверками, связями с другими формами, вызовами другого кода и прочее. Решение задачи генерации модели данных по метамодели, управлению сохранением объектов в БД и связи их с моделью данных в бизнес логике - возможно вам удастся решить эту задачу легко и непринужденно. И труд окупиться при создании решений на таком фрейморке. В каком-то частном случае, даже быстро можно решить эту задачу. Мне тут почему-то приходят на ум такие системы, как 1С, в Диасофте еще одна такая есть. Только зачем это нужно Вам, я так и не понял. Создание редактора для универсальной структуры БД, описанной метаданными - это требование для меня так и осталось не понятным с практической стороны. В принципе, если нужно поправить данные "в любой базе данных", то есть уже готовые продукты, работающие через ODBC с базами данных, где видна и структура, и данные можно поправить и запрос написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2009, 17:40 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
В принципе, если нужно поправить данные "в любой базе данных", то есть уже готовые продукты, работающие через ODBC с базами данных, где видна и структура, и данные можно поправить и запрос написать.Смеялсо... Вы так и не поняли, о чем одет речь. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2009, 10:19 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
LSVВ принципе, если нужно поправить данные "в любой базе данных", то есть уже готовые продукты, работающие через ODBC с базами данных, где видна и структура, и данные можно поправить и запрос написать.Смеялсо... Вы так и не поняли, о чем одет речь. я понял о чем идет речь. Я не понял, зачем это автору надо. Зачем такие требования к системе. А это был гротеск, крик души об универсальности:) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2009, 11:44 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
РусНасколько может помочь генератор форм по метамодели? Думаю, что мало может помочь. Т.к. формы даже с минимумом полей обладают некоторой логикой работы, проверками, связями с другими формами, вызовами другого кода и прочее. Все это зашивается в метамодель и работает ! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2009, 15:12 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
РусНасколько может помочь генератор форм по метамодели? Думаю, что мало может помочь. Т.к. формы даже с минимумом полей обладают некоторой логикой работы, проверками, связями с другими формами, вызовами другого кода и прочее. просто колосально помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2009, 16:22 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
РусНасколько может помочь генератор форм по метамодели? Думаю, что мало может помочь. Т.к. формы даже с минимумом полей обладают некоторой логикой работы, проверками, связями с другими формами, вызовами другого кода и прочее. Если правильно построить мета модель очень хорошо поможет... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2009, 16:44 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Генерация форм помогает для самых примитивных форм, которых каждой системе намного больше, чем форм со сложно логикой, для тупого редактирования данных в базе. Т.к. не требуется каких-то сложных операций с данными, то вмолне можно написать генератор SQL запросов, который будет генерить SQL код для каждого сервера. С такой системой можно защитить курсовую и даже дипломную, но работать в ней с реальными данными - самоубийство. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 13:51 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий, что по Вашему назвать "примитивной" формой? к примеру, полностью генерируемый по метаописанию интерфейс форм ввода... Если это примитивный, но приведите, если не затруднит, непримитивный интерфейс, который невозможно сгенерировать декларативно (сама постановка вопроса даже немного нелепая, потому что все IDE выполняют генерацию форм по описанию. ). Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:20 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Это что - Delphi+DevExpress? Редактирование данных в гриде - самый простой способ редактирования. Я имел ввиду форму для редактирования 1 записи в которой контролы могу отображаться и вести себя по-разному в зависимости от разных условий, например прав доступа или в зависимости от того, какими данными заполено предыдующее поле или от результатов каких-то расчетов. Да, настроек много, но установка всех настроек по времени сопоставима с работой с формой в Дизайн-тайм. Про отладку я так понимаю речи вообще нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:48 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий, о гриде речь не идет. Ладно, пусть будет форма , какая разница. Контролы отображаются и ведут себя по-разному, в том числе и в зависимости от прав досутупа. Рисование форм уже наверное моветон. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:53 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучийнастроек много, но установка всех настроек по времени сопоставима с работой с формой в Дизайн-тайм. на порядок быстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:54 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
но дело даже не в скорости. Весь вопрос в том, что под динамически генерируемую форму, естественно, есть уже созданные и многократно отлаженные обработчики. Это к вопросу об отладке ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:59 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmно дело даже не в скорости. Весь вопрос в том, что под динамически генерируемую форму, естественно, есть уже созданные и многократно отлаженные обработчики. Это к вопросу об отладке Опять же обработчики обрабатывают только известные им варианты логики. Для каждого навого варианта придется писать новый обработчик. Т.к. со временем будут требоваться все более универсальные обработчики, то придется писать писать обработчики для одного частного случая. Что касается скорости - бросить на форму грид, подключить источник данных, вписать в него запрос на редактирование и настроить поля со списками. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:15 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий Опять же обработчики обрабатывают только известные им варианты логики. Для каждого навого варианта придется писать новый обработчик. нет конечно. смотря что считаете логикой. Перемещение по полям, проверку полей или что? Если проверка, то задача обработчика запустить функцию этой самой проверки или что там еще. А логикой типа "значение этого поле не должно быть менее 5" обработчик не обязан заниматься ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:23 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучий Опять же обработчики обрабатывают только известные им варианты логики. Для каждого навого варианта придется писать новый обработчик. нет конечно. смотря что считаете логикой. Перемещение по полям, проверку полей или что? Если проверка, то задача обработчика запустить функцию этой самой проверки или что там еще. А логикой типа "значение этого поле не должно быть менее 5" обработчик не обязан заниматься Это почему же? Если товара на складе уже нет, вы позволите его выписать? Или товар упакован в коробки по 6 штук, то можно продать 5 штук? (это для оптовиков) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:26 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий Это почему же? Если товара на складе уже нет, вы позволите его выписать? Или товар упакован в коробки по 6 штук, то можно продать 5 штук? (это для оптовиков) потому что этим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:35 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучий Это почему же? Если товара на складе уже нет, вы позволите его выписать? Или товар упакован в коробки по 6 штук, то можно продать 5 штук? (это для оптовиков) потому что этим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. но эти процедуры надо написать (кстати, где они находятся?), вызвать из формы и желательно не в момент транзакции, когда пользователь уже все заполнил, а тот момент, когда ввел неправильную цифру. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:44 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучийэтим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. но эти процедуры надо написать (кстати, где они находятся?), вызвать из формы и желательно не в момент транзакции, когда пользователь уже все заполнил, а тот момент, когда ввел неправильную цифру.[/quot] конечно. Пользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. p.s. подчеркнутое - то чем занимается автомат, а синим выделено то, что определяет разработчик. Выражение "чему-то" означает то, что под этим может быть или скрипт или формула или SQL процедура или... То что подчеркнуто и не переписывается при каждом изменении логики (по крайней мере у нас уже 5 лет). Но времени и сил реально экономит на порядок. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 16:18 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
сорри, цитирование съехало ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 16:19 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучийэтим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. но эти процедуры надо написать (кстати, где они находятся?), вызвать из формы и желательно не в момент транзакции, когда пользователь уже все заполнил, а тот момент, когда ввел неправильную цифру. конечно. Пользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. p.s. подчеркнутое - то чем занимается автомат , а синим выделено то, что определяет разработчик. Выражение "чему-то" означает то, что под этим может быть или скрипт или формула или SQL процедура или... То что подчеркнуто и не переписывается при каждом изменении логики (по крайней мере у нас уже 5 лет). Но времени и сил реально экономит на порядок.[/quot] Автомат только занимается Передачей управления. Я правильно понял? все остальное определяет разработчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 16:31 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий Автомат только занимается Передачей управления. Я правильно понял? все остальное определяет разработчик. все что касается бизнес-логики - да (мы же о ней сейчас говорим?), автомат ничего не понимает в бизнесе. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 16:33 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучий Автомат только занимается Передачей управления. Я правильно понял? все остальное определяет разработчик. все что касается бизнес-логики - да (мы же о ней сейчас говорим?), автомат ничего не понимает в бизнесе. Я тоже говорю о том, что форма предназначена для редактирования записей. Логика наверное в триггерах прописана, которые надо постоянно дописывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 17:11 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
НевезучийiscrafmНевезучий Автомат только занимается Передачей управления. Я правильно понял? все остальное определяет разработчик. все что касается бизнес-логики - да (мы же о ней сейчас говорим?), автомат ничего не понимает в бизнесе. Я тоже говорю о том, что форма предназначена для редактирования записей. Логика наверное в триггерах прописана, которые надо постоянно дописывать. в тригерах, процедурах, функциях, скриптах и т.п. Конечно, если логика изменяется, то разработчик меняет эти самые "перечисленные выше", а как же. Генерации форм это не касается. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 17:22 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafm, сам интерфей формы, к примеру, реализует поиск, фильтрацию, пакетные процедуры редактирования, запрос данных, импорт, связывание всех компонентов, отображение, передачу управления и т.п. Т.е. то, на что время тратить нельзя, лучше заняться этой самой логикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 17:25 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Такая система есть в Softline Megapolis ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 18:03 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучийэтим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. но эти процедуры надо написать (кстати, где они находятся?), вызвать из формы и желательно не в момент транзакции, когда пользователь уже все заполнил, а тот момент, когда ввел неправильную цифру. конечно. Пользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. p.s. подчеркнутое - то чем занимается автомат, а синим выделено то, что определяет разработчик. Выражение "чему-то" означает то, что под этим может быть или скрипт или формула или SQL процедура или... То что подчеркнуто и не переписывается при каждом изменении логики (по крайней мере у нас уже 5 лет). Но времени и сил реально экономит на порядок.[/quot] Согласен, возможно создать базовые классы, которые будут связывать представление (форму) и таблицы БД, используя данные метамодели. Действительно, время тратится больше на логику, а не на создание модели данных и связывание полей формы с моделью. Свой комментарий про генерацию форм в таком контексте снимаю. Действительно помогает, когда модель простая (типичный случай при работе с БД учетной системы). Правда, я думаю, что при таком подходе нужно, чтобы затраты на ведущего разработчика, который корректно напишет основные классы работающие с метамоделью, транзакциями в БД и прочее окупили экономию на эффективность создание последюющих прикладных решений. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 13:20 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Рус Правда, я думаю, что при таком подходе нужно, чтобы затраты на ведущего разработчика, который корректно напишет основные классы работающие с метамоделью, транзакциями в БД и прочее окупили экономию на эффективность создание последюющих прикладных решений. Еще окупаемость дальновидного аналитика, который опишет иерархию классов, чтобы не пришлось потом вносить изменения в базовые классы со все вытекающем отсюда геморе. Я так понял, что iscrafm потратил 5 лет на создание этих классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 13:40 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Рус Свой комментарий про генерацию форм в таком контексте снимаю. Действительно помогает, когда модель простая (типичный случай при работе с БД учетной системы). что такое "непростая" модель по Вашему? Объясните в двух словах плз. Рус Правда, я думаю, что при таком подходе нужно, чтобы затраты на ведущего разработчика, который корректно напишет основные классы работающие с метамоделью, транзакциями в БД и прочее окупили экономию на эффективность создание последюющих прикладных решений. окупают конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 13:42 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafm что такое "непростая" модель по Вашему? Объясните в двух словах плз. простейший случай "непростой" модели (не удержался от каламбура, простите:) это, например, когда в результате редактирования значения в поле на форме изменяются значения нескольких полей модели. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 13:55 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
авторПользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. Описан функционал Модели паттерна Active Record.Есть готовые frimework'и и кодогенераторы,умный аналитик не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 14:03 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmпотому что этим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. Вы уже сказали А, надо сказать и Б, т.е. процедуры бизнес-логики прицепляются прямо к формам в качестве обработчиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 14:45 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_модiscrafmпотому что этим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. Вы уже сказали А, надо сказать и Б, т.е. процедуры бизнес-логики прицепляются прямо к формам в качестве обработчиков. Я так понял, что есть некая прослойка между формами и процедурами. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 14:53 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_мод, Бизнес объект (макротип) может визуализироваться в нескольких формах методы приписываются к типам и макротипам, а показываются (если интерфесные) в указанных формах, или автоматом выполняются по событиям типов, макротипов, форм ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 15:35 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
vill_agerнеторопливо пытаюсь построить похожую систему... уже год:) все от лени - не люблю рисовать формочки, события расписывать - рутина :)..... Конечная цель - без кодирования интерфейса делать рабочие системы, т.е. программа цепляется к БД, ищет там "свои" таблицы, формирует систему меню, и дальше работает, читая логику из "своих" таблиц прототип всего этого сделан несколько лет назад на Foxpro (который меня пока кормит:) ) Очень заинтересовал подобный подход. Ибо тоже - не люблю рисовать формочки . Не могли бы Вы поделиться прототипом на FoxPro ? Если не секрет, разумеется. E-mail в профиле. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 15:45 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
НевезучийЯ так понял, что есть некая прослойка между формами и процедурами. Ну, да ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 16:04 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Сахават Юсифовметоды приписываются к типам и макротипам, а показываются (если интерфесные) в указанных формах, или автоматом выполняются по событиям типов, макротипов, форм Скорее не методы, а функции, т.к. для поведения формы важен результат их вычисления. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 16:07 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Русiscrafm что такое "непростая" модель по Вашему? Объясните в двух словах плз. простейший случай "непростой" модели (не удержался от каламбура, простите:) это, например, когда в результате редактирования значения в поле на форме изменяются значения нескольких полей модели. а что здесь? возможно не понял о чем Вы, но это вроде действительно простейший случай ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 16:12 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
SeVaавторПользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. Описан функционал Модели паттерна Active Record.Есть готовые frimework'и и кодогенераторы,умный аналитик не нужен. описано, обобщенно, как работает один из штатных сервисов Искры. Действительно, готовый framework. Аналитик, действительно, нужен для бизнес-логики, а не для подобного ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 16:15 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
_модiscrafmпотому что этим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. Вы уже сказали А, надо сказать и Б, т.е. процедуры бизнес-логики прицепляются прямо к формам в качестве обработчиков. немного не так. Процедура бизнес-логики оформляется как сервис. Может работать самостоятельно, а может, действительно, в качестве обработчика к форме прицепляться ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 16:17 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafm_модiscrafmпотому что этим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. Вы уже сказали А, надо сказать и Б, т.е. процедуры бизнес-логики прицепляются прямо к формам в качестве обработчиков. немного не так. Процедура бизнес-логики оформляется как сервис. Может работать самостоятельно, а может, действительно, в качестве обработчика к форме прицепляться p.s. нашел ролик на эту тему (не совсем презентационный, для другого делался) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 18:16 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Могу предложить средство для визуальной разработки web приложений. Достоинства - работа с любой базой данных. Наличие визуального средства разработки. Требование к разработчику - знание языка размертки HTML и навыки разработки базы данных. Подробнее можно посмотреть здесь www.soabit.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 23:54 |
|
|
start [/forum/topic.php?all=1&fid=33&tid=1548383]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
119ms |
get tp. blocked users: |
2ms |
others: | 298ms |
total: | 505ms |
0 / 0 |