|
Универсальная ИС
|
|||
---|---|---|---|
#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 |
|
|
start [/forum/topic.php?fid=33&msg=36267613&tid=1548383]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 170ms |
0 / 0 |