powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Построение интерфейса приложения из БД
25 сообщений из 336, страница 1 из 14
Построение интерфейса приложения из БД
    #34688110
guest_20072707
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Возможно, баян, но все же.
На каком-то форуме прочитал интересный топик о том, что можно из БД полностью генерить интерфейс приложения. Мне сразу же стала интересна эта тема и вот, что я вижу:
Вся бизнес-логика естессно на уровне БД (хранимые процедуры, функции и т.д.), там же хранится и описание того, как нужно построить интерфейс, то бишь описание объектов, свойств, методов. Exe-модуль содержит только модуль коннекта к БД и сам интерпретатор кода из БД.
Скажем, запускается приложение, производится запуск ХП для чтения информации об объектах системы (Справочники, документы), строится по этому описанию меню. По выбору конкретного пункта меню осуществляется вызов соответствующей ХП для чтения информации о выбранном объекте (описание формы, к примеру), при нажатии, допустим на кнопку производится опять-таки запуск соотв. ХП и "перечитывание" интерфейса из БД + выполняются необходимые действия...

Преимущества, которые сразу же бросаются в глаза:
1) существует возможность построения системы без необходимости частого обновления (оно будет нужно только иногда для обновления интерпретатора) во время этапа внедрения системы и сопровождения
2) интерефейс будет унифицирован

а вопрос следующий:
сталкивался ли кто-нибудь из форумчан с подобного рода системами? какие мнения существуют по этому поводу? только, пожалуйста, конструктивные предложения...

заранее спасибо! :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688256
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проводили в свое время исследования такого подхода. Продержался не долго.:) Сейчас вся эта кухня хранится на сервере приложений (в специальном формате). С теми же +.... преимуществами, только без проблем.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688412
guest_20072707
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmПродержался не долго.:)
Интересно. А какие проблемы были выявлены? И вообще, если можно, какие-то обобщенные принципы работы такой системы узнать у Вас? (возможно схемы)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688479
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> там же хранится и описание того, как нужно построить интерфейс

В соответствии с какой спецификацией Вы собираетесь хранить описание интерфейса?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688547
guest_20072707
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621В соответствии с какой спецификацией Вы собираетесь хранить описание интерфейса?
ну на первый взгляд кажется, что проще сделать описание интерфейса максимально приближенным к среде, в которой будет писаться Интерпретатор (в моем случае продукты Borland). То есть, к примеру, описание формы через классы и т.д. На самом деле этот вопрос меня тоже интересует и если есть какие наработки, то было просто замечательно обсудить их здесь.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688609
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> проще сделать описание интерфейса максимально приближенным к среде

Это понятно, что проще. Вопрос - зачем? Г-н iscrafm совершенно справедливо отметил, что, если нет необходимости иметь полностью переносимый интерфейс - а об этом, насколько я понимаю, речи не идет, - есть смысл привязываться к серверу приложений, а не к базе данных.

> если есть какие наработки, то было просто замечательно обсудить их здесь

Наработок нет, более того, я никогда не видел подобной реализации. На мой взгляд, подобное описание имеет смысл в том случае, если используется стандартная нотация и несколько интерфейсов. Хотя, конечно, побочных плюсов - куча. Во-первых, легко поддерживать мультиязычность интерфейса. Во-вторых, легко использовать интерфейс в соответствии с концепцией ограничения доступа.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688615
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707Преимущества, которые сразу же бросаются в глаза:
Ни одно из названных соображений не является преимуществом этой схемы. То есть: названные цели легко достигаются без этой схемы. Я бы сказал, легче (с меньшей трудоемкостью), нежели при ее использовании.

guest_20072707какие мнения существуют по этому поводу? только, пожалуйста, конструктивные предложения...
1. Такая схема полностью неспособна реализовать нестандартную функциональность, которая случается "в одной форме из ста" в любом серьезном проекте. В результате приходится идти на серьезное ухудшение интерфейса как раз в тех формах, которые часто оказываются ключевыми ("сложные - нестандартные - ключевые" - звенья одной цепи, в отличие от стандартных типа "ввести документ" или "выбрать из справочника")

2. Во всех случаях, которые я видел, генерируемый интерфейс был элементарно некачественным. Происходит это, как мне представляется, по двум причинам:

2.1 Слишком бедный язык описания интерфейса. Формализовать "все возможные случаи" довольно трудно; в результате та функциональность, которую должен делать клиент, переваливается на сервер. Как следствие, ухудшается обратная связь, отображение операций в интерфейсе.

Скажем, моя любимая обработка ошибок ввода - такой интерфейс будет практически не способен сказать пользователю "введенный ИНН неверен, а еще дата начала действия договора должна быть меньше даты завершения", спозиционировав при этом курсор на первую из найденных ошибок. Нет, я согласен, теоретически это можно реализовать, но практически этим никто не занимается - при подобном "драйверном" клиенте реализация оказывается слишком неудобной.

2.2 Отсутствие готовых средств описания такого интерфейса приводит к использованию некачественных самоделок с некачественными же результатами.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688675
guest_20072707
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторsoftwarer
Да, с п.1 я полностью согласен. Однако с п.2 не совсем. Например, ту проблему, которую Вы описали решить можно довольно просто при такой схеме (ну Вы это и сами уже сказали). "Особенный" функционал, конечно, придется писать на клиенте. Тогда получаем комбинированного "монстра" "интерпретатор стандартного функционала" и "исполнитель нестандартного" :) Но ведь это тоже вариант, хотя и не очень привлекательный для разработчика :) Спасибо за комментарий. И все же, неужели никто, кроме iscrafm (чьи доводы против/за мне все-таки хотелось бы услышать), не писал подобного рода системы?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688714
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707
Для разминки советую попробовать сделать динамическую расстановку таб ордера на форме с произвольным интерфейсом.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34688769
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЯ бы сказал, легче (с меньшей трудоемкостью), нежели при ее использовании.

Я бы сказал, легче (с меньшими трудозатратами), нежели при ее использовании
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689074
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707iscrafm (чьи доводы против/за мне все-таки хотелось бы услышать)
для примера, чтобы построить на клиенте сложную форму, описание которой хранится с БД, нужно проделать множество действий по расстановке контролов, связывании их между собой, назначение обработчиков и т.д. Представьте себе хотя-бы структуру данных для хранения всего этого и процедуры интерпретации. Я согласен с тем, что унификация интерфейса,возможность централизованного хранения и отсутствие необходимости компиляций дает множество преимуществ. Но если хранить описание, например, в объектном виде, на сервере приложений, то создание нового экземпляра формы, допустим, сводится к простому NewForm.Assign(....).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689101
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В среду была на предзащите докторской диссертации на тему автоматизация разработки пользовательского интерфейса на основе онтологического подхода. Если интересует, поищите статьи Грибовой В. в журналах Информационные технологии. Совсем скоро на сайте ВАК выложат реферат по техническим наукам. И сам реферат можно прочесть и там будут ссылки на ее статьи. В основном применяется в системах, где тербуется ввод многих параметров, при этмо параметры дополняются - меняются. В частности реализованы сситема для медицины, для автомото предприятия и для косметологии. Там текстовые данные вводятся, выводятся статические рисунки и простая динамика.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689131
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KudinovДля разминки советую попробовать сделать динамическую расстановку таб ордера на форме с произвольным интерфейсом.
Эту задачу нетрудно решить на неплохом уровне.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689149
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, задачу с проверкой корректности ввода на уровне интерфейса тоже можно решить с помощью онтологического описания ограничений на атрибуты.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689152
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707Скажем, запускается приложение, производится запуск ХП для чтения информации об объектах системы (Справочники, документы), строится по этому описанию меню. По выбору конкретного пункта меню осуществляется вызов соответствующей ХП для чтения информации о выбранном объекте (описание формы, к примеру), при нажатии, допустим на кнопку производится опять-таки запуск соотв. ХП и "перечитывание" интерфейса из БД + выполняются необходимые действия...представьте себе генерацию HTML кода для сложного приложения из БД.
Дело неблагодарное и плохомасштабируемое.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689173
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> автоматизация разработки пользовательского интерфейса на основе онтологического подхода

Полагаете, на эту тему стоит писать диссертации?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689180
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707Однако с п.2 не совсем. Например, ту проблему, которую Вы описали решить можно довольно просто при такой схеме (ну Вы это и сами уже сказали).
Любую "одну конкретную проблему" решить можно. А практический результат, тем не менее, оказывается очень далек от "решены все проблемы".

guest_20072707Тогда получаем комбинированного "монстра" "интерпретатор стандартного функционала" и "исполнитель нестандартного" :) Но ведь это тоже вариант, хотя и не очень привлекательный для разработчика :)
Это бессмысленный вариант, поскольку требует делать двойную работу при отнюдь не удвоенном качестве в результате. Как только признается необходимость доставки на клиента нестандартного функционала, как только эта задача легко и хорошо решается, остается большой вопрос - а нафига нам теперь наше кривенькое чудо под названием "интерпретатор стандартного"?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689201
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> автоматизация разработки пользовательского интерфейса на основе онтологического подхода
Полагаете, на эту тему стоит писать диссертации?

Сомнения были и есть именно из-за темы (пользовательский интерфейс никогда с наукой не ассоциировался).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689207
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Alexey KudinovДля разминки советую попробовать сделать динамическую расстановку таб ордера на форме с произвольным интерфейсом.
Эту задачу нетрудно решить на неплохом уровне. Вот я и советую попробовать. Такая штука, да сделанная должным образом, ни в каком проекте не помешает.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689254
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Сомнения были и есть именно из-за темы (пользовательский интерфейс никогда с наукой не ассоциировался).

Да, в общем, дело даже не в формальном названии. Я не очень понимаю, чего здесь принципиально нового. Берем модель, добавляем к уже описанным элементам стереотипы - и вуаля, "онтологический" интерфейс готов. Причем, существенное ограничение imho одно и оно касается структуры данных: необходима возможность явным образом получить часть имен непосредственно из базы данных. На мой взгляд, маловато для диссертации. Не находите?

Понятно, что я утрировал, будет куча атрибутов элементов интерфейса и прочей ботвы, но на мой взгляд - ничего такого, что делало бы такой подход принципиально новым. Поправьте, если я ошибаюсь.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689394
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707Здравствуйте!

Возможно, баян, но все же.
На каком-то форуме прочитал интересный топик о том, что можно из БД полностью генерить интерфейс приложения. Мне сразу же стала интересна эта тема и вот, что я вижу:
Вся бизнес-логика естессно на уровне БД (хранимые процедуры, функции и т.д.), там же хранится и описание того, как нужно построить интерфейс, то бишь описание объектов, свойств, методов. Exe-модуль содержит только модуль коннекта к БД и сам интерпретатор кода из БД.
Скажем, запускается приложение, производится запуск ХП для чтения информации об объектах системы (Справочники, документы), строится по этому описанию меню. По выбору конкретного пункта меню осуществляется вызов соответствующей ХП для чтения информации о выбранном объекте (описание формы, к примеру), при нажатии, допустим на кнопку производится опять-таки запуск соотв. ХП и "перечитывание" интерфейса из БД + выполняются необходимые действия...

Преимущества, которые сразу же бросаются в глаза:
1) существует возможность построения системы без необходимости частого обновления (оно будет нужно только иногда для обновления интерпретатора) во время этапа внедрения системы и сопровождения
2) интерефейс будет унифицирован

а вопрос следующий:
сталкивался ли кто-нибудь из форумчан с подобного рода системами? какие мнения существуют по этому поводу? только, пожалуйста, конструктивные предложения...

заранее спасибо! :)
Интерфейс зависит от данных, сделайте данные унифицированными и проблема интерфеса приятно удивит вас своей простотой.
Сможете придумать универсальную структуру данных - решите свою задачу.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689772
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Kudinovguest_20072707
Для разминки советую попробовать сделать динамическую расстановку таб ордера на форме с произвольным интерфейсом.В Делфи это примерно 2-3 строки кода + пару простых функций.
На входе строка с именами контролов в нужном порядке.

По сабжу. Хоть нетривиальная задача, но посильная по крайней мере в Делфи. Часть логики лежит в динамически загружаемых DFM, часть на скл-сервере, часть в виде исполняемых скриптов, например ФастСкрипт. Плюс ко всему настраиваемая форма, отображающая произвольные списки, а это 70% форм. Плюс к этому механизм докинга одной формы в другую для получения композитных форм.
Динамические DFM создаются к-л рунтайм-редактором форм, например eControl.
Совсем нестандартные формы - в DLL или BPL.
В итоге: приложение можно развивать не модифицируя ЕХЕ.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689823
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KudinovТакая штука, да сделанная должным образом, ни в каком проекте не помешает.
Это факт. Давно использую и доволен.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689828
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVВ Делфи это примерно 2-3 строки кода + пару простых функций.
На входе строка с именами контролов в нужном порядке.
Фи.
Модератор: Ну дал бы сразу ссылку по существу, чем писать малосодержательные сообщения
http://softwarer.ru/tab_ordering.html
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34689905
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая программа СКИФ, компании ФИНТЕКС
служит для ведения отчётности...
куча разных бланков...
В ней частично реализованно то, о чём пишете
на сколько я понял, устройство у неё следующее...
часть на СУБД - MSDE
часть в виде EXE файла
часть blankPrint

EXE-шник - общая оболочка, в которой реализованны общие функции системы - экспорт, импорт, печать....и т.д.
Есть несколько "задач" - логика их выполнения загружается в БД скриптом
К задачам есть куча "шаблонов" - по сути описание структуры документов в этих задачах, "шаблоны" хранятся в БД и загружаются через exe из xml файлов.
На основании этих шаблонов, у пользователя выстраивается часть интерфейса, в основном Grid

Когда что-нить меняется в формах документах - импортируются в системы через xml файлы...
Когда что-нить в логике меняется, - новый скрипт БД
И довольно редко меняется EXE клиент.

Из плюсов - наверное разработчику так гараздо проще делать обновления, а они очень частые, в месяц по 2..5 раз. Вероятно у разработчика есть свой "конструктор".. приходят изменения от заказчика - они визуально там всё меняют - на выходе XML файлы которые рассылают клиентам...
переписывать логику и изменять exe - приходится намного реже

Из минусов - геморные обновления для клиентов... аж три вида обновлений:
- импорт XML форм
- проведения sql скрипта
- замена exe и замена exe и бланков excel
...
Рейтинг: 0 / 0
25 сообщений из 336, страница 1 из 14
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Построение интерфейса приложения из БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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