|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Любая попытка автогенерации пользовательского интерфеса приводит к его бедности и технологиям обхода (я не говорю о тех известных случаях, когда форма получается из струкутуры данных простыми преобразованиями). Либо пользуетесь стандартным браузерам, либо пишите полноценный интерфейс. Если нет сил писать, то нечего городить огород. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 18:36 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Сама идея моглы бы быть блестяще разрешена, если бы был принят соответствующий стандарт хотя бы на отдельные компонеты ОС! Весь необходимый набор контролов должен содержаться в оси как API. Но при капитализьме такого не случится... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 19:12 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Сиоко АсахараВесь необходимый набор контролов должен содержаться в оси как API. Но при капитализьме такого не случится... Загляни в commctrl.h. Это и есть API, содержащий около 20 стандартных контролов оси. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 19:33 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Сиоко АсахараВесь необходимый набор контролов должен содержаться в оси как API. Чем-то это мне напоминает "армейскому парикмахеру достаточно уметь делать одну прическу". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 19:36 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Сиоко АсахараСама идея моглы бы быть блестяще разрешена, если бы был принят соответствующий стандарт хотя бы на отдельные компонеты ОС! Не в ту степь, имхо. Включить "все необходимые компоненты" можно и в "интерпретатор", новые добавляются редко. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 19:41 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Александр Гoлдун Сиоко АсахараВесь необходимый набор контролов должен содержаться в оси как API. Но при капитализьме такого не случится... Загляни в commctrl.h. Это и есть API, содержащий около 20 стандартных контролов оси. Эти ни на что скрьезное не годны. Должны быть умные контролы, умеющие работать с БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 19:49 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Сиоко Асахара Александр Гoлдун Сиоко АсахараВесь необходимый набор контролов должен содержаться в оси как API. Но при капитализьме такого не случится... Загляни в commctrl.h. Это и есть API, содержащий около 20 стандартных контролов оси. Эти ни на что скрьезное не годны. Должны быть умные контролы, умеющие работать с БД. Ну и функция более высокого уровня, для построения всей формы по значениям свойств, на лету. Остается нормальная структура данных в базе. Технически всё решаемо и не очень сложно, но юмор весь в том, что ни одна из фирм производящих ОС до сих пор не сделал этого, хотя пользителю это пошло бы на пользу. Налицо притиворечие. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 19:52 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Мне кажется, что самая суть противоречия в том, что если пользователю дать возможность слишком многое делать самому, то ему очень мало продашь. А ведь отрасль должна развиваться, нужны деньги, вышибленные из того же пользователя...В рамках нынешней концепции развития софта - это не возможно, постоянно появляются блуждающие мысли по поводу свободного софта...На самом деле негатива, по-крупному и очень сильно мешающему прогрессу, - очень много. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 19:58 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Сиоко АсахараНу и функция более высокого уровня, для построения всей формы по значениям свойств, на лету. Если перевести на более простой язык - Вы хотите, чтобы производитель ОС решил задачу, которую мы здесь называем нормально не решаемой. Этакая вера в Билли как в Бога. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 19:59 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Сиоко АсахараНу и функция более высокого уровня, для построения всей формы по значениям свойств, на лету. Такая функция в дельфе существует уже двенадцать лет, называется TStream.ReadComponent. Вот только дело совсем не в этом....... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 20:01 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
softwarer Сиоко АсахараНу и функция более высокого уровня, для построения всей формы по значениям свойств, на лету. Такая функция в дельфе существует уже двенадцать лет, называется TStream.ReadComponent . Вот только дело совсем не в этом....... Вы не поняли, это должно быть в ядре ОС! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 20:04 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Думаю. причина в деньгах! Модератор: Начал резать оффтопики ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 20:14 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
авторНа каком-то форуме прочитал интересный топик о том, что можно из БД полностью генерить интерфейс приложения. А чем не подходит Bold, ECO III? Вроде все уже сделано... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2007, 20:38 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
guest_20040621 Да, в общем, дело даже не в формальном названии. Я не очень понимаю, чего здесь принципиально нового. Берем модель, добавляем к уже описанным элементам стереотипы - и вуаля, "онтологический" интерфейс готов. Причем, существенное ограничение imho одно и оно касается структуры данных: необходима возможность явным образом получить часть имен непосредственно из базы данных. На мой взгляд, маловато для диссертации. Не находите? Понятно, что я утрировал, будет куча атрибутов элементов интерфейса и прочей ботвы, но на мой взгляд - ничего такого, что делало бы такой подход принципиально новым. Поправьте, если я ошибаюсь. Я работу только слушала, автореферат и саму диссертацию не читала. Видела результаты -приложения - аспирант сделал. Поэтому мой ответ, наверное, будет не корректным. Ваш вопрос прозвучал и не раз на предзащите - в чем собственно научная новизна работы. Ответ соискателя - в применении онтологического подхода к области автоматизации пользовательского интефрейса. Мы все в той или иной мере автоматизируем пользовательский интерфейс. Ну например, в своем хранилище, мы отображаем элементы описания материала на основании шаблона, который естественно может меняться (удаляться-добавляться характеристиким), типы данных тоже могут меняться и соответственно поля отображения меняются - (даты и время, числа, строки, области текста - генерируем интерфйес на основе состава шаблона и типов данных в шаблоне и некоторых других характеристик - вроде группировок, зависимостей и т.п.). Я не считаю это чем-то новым, тем более научно новым - по-моему, так делают очнеь многие и наверняка большинство систем типа документооборота в обязательном порядке (ну может им не нужны группировки и зависиомсти, не знаю, а так - все есть). Хотя такие вещи как упарвляющие элементы - кнопки, подсказки и т.п. мы не делаем через описание. В работе были еще вопросы преобразования из онтологического описания в некую прмоежуточную модель (я бы назвала ее канонической), на собственном языке, а затем преобразование из этого описания в код на С# или Java. были опсианы интерфйесы с результатом генерации кода интерфйеса и собственно логикой обработки. Были так же решения по генерации контекстно-азивисмой помощи и т.п. По сути вопроса - работа не является принципиально новой, но а все ли работы - это принципиально новое? Может быть движение идет маленькими шагами, а потом , когда накопится критическая масса, делается скачок. Но скачка бы не было, не будь этих маленьких шагов. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2007, 03:59 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
> а все ли работы - это принципиально новое? Да нет, конечно. Мне казалось, что диссертация - это более значительная работа. Впрочем, это частное мнение. Спасибо за комментарий. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2007, 05:07 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
guest_20040621> а все ли работы - это принципиально новое? Мне казалось, что диссертация - это более значительная работа. Мне тоже, пока не прочитал реферат одного новоиспеченного доктора т.н. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2007, 06:02 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
guest_20072707 iscrafmПродержался не долго.:) Интересно. А какие проблемы были выявлены? И вообще, если можно, какие-то обобщенные принципы работы такой системы узнать у Вас? (возможно схемы) проблем много встретилось, например как восстановить приложение, если в этой же БД и данные размещаются. Сложный маппинг, неподъемная структура данных и т.п. Поэтому на уровне исследований все и закончилось. Хотя я не считаю, что время потрачено зря. В релиз пошла схожая по принципам реализация, только хранится все в виде persistent объектов на сервере приложений. Для каждого класса есть редактор и модуль запуска, оба подгружаемые плагины (см. рисунок). Реализация нового класса или собственная (другая) интерпретация существующего - написание собственного модуля (например) запуска и подгрузка его вместо стандартного. "Вживую" это выглядит http://www.iscra.ru/demo/TRADE01.html] примерно так . Примерно , потому что вариаций много. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2007, 16:48 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
я, как старый междумордиеписатель, тож добавлю. Вобщем-то смысл реляционных БД в том чтоб данные хранились в виде удобном для обработки. И строить по структуре данных интерфейс пользователя не сложно. Старый пример: http://sss1024.narod.ru/ver.htm если есть 2 таблицы связаные один-ко-многим то ясно при редактировании юзер должен видеть строку из парент-таблицы и грид со связаными строками из чайлд-таблицы, например Заказы<-СтрокиЗаказов. А пользователю (скорей настройщику) можно позволить мышкой тудасюда контролы подвигать или скрыть что-то. Всё логично и не особо сложно. Но в повседневной жизни большинство БД это просто ком с частичной нормализацией и большая часть унаследованного кода, заплаток и пр. Т.е. чтоб чёт в подобных системах делать не хватит гибкости. Для написания с нуля подойдёт, для работы с данными из существующей тыщулетназаднаписаной системы скорей всего нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2007, 20:15 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
1024я, как старый междумордиеписатель, тож добавлю. Вобщем-то смысл реляционных БД в том чтоб данные хранились в виде удобном для обработки. Причем "обработка" != "визуальный интерфейс". Однако эта очевидная мысль почему-то удивительно непопулярна в широких кругах... 1024если есть 2 таблицы связаные один-ко-многим то ясно при редактировании юзер должен видеть строку из парент-таблицы и грид со связаными строками из чайлд-таблицы, например Заказы<-СтрокиЗаказов. "Ясно, что при редактировании юзер должен видеть строку из парент-таблицы (СправочникВалют) и грид со связанными строками из чайлд-таблицы (СтрокиДокументов, ДенежныеПроводки, ЦеныТоваров, ....) 1024Для написания с нуля подойдёт Пропущен эпитет, характеризующий "для написания чего именно с нуля". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2007, 20:25 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
8( мне нужно что-нить написать в ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2007, 21:18 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
guest_20072707Здравствуйте! Возможно, баян, но все же. На каком-то форуме прочитал интересный топик о том, что можно из БД полностью генерить интерфейс приложения. Мне сразу же стала интересна эта тема и вот, что я вижу: Вся бизнес-логика естессно на уровне БД (хранимые процедуры, функции и т.д.), там же хранится и описание того, как нужно построить интерфейс, то бишь описание объектов, свойств, методов. Exe-модуль содержит только модуль коннекта к БД и сам интерпретатор кода из БД. Скажем, запускается приложение, производится запуск ХП для чтения информации об объектах системы (Справочники, документы), строится по этому описанию меню. По выбору конкретного пункта меню осуществляется вызов соответствующей ХП для чтения информации о выбранном объекте (описание формы, к примеру), при нажатии, допустим на кнопку производится опять-таки запуск соотв. ХП и "перечитывание" интерфейса из БД + выполняются необходимые действия... Преимущества, которые сразу же бросаются в глаза: 1) существует возможность построения системы без необходимости частого обновления (оно будет нужно только иногда для обновления интерпретатора) во время этапа внедрения системы и сопровождения 2) интерефейс будет унифицирован а вопрос следующий: сталкивался ли кто-нибудь из форумчан с подобного рода системами? какие мнения существуют по этому поводу? только, пожалуйста, конструктивные предложения... заранее спасибо! :) Так уж получилось, в этом году уже 15 лет, как я занимаюсь разработкой подобных систем. Основные способы использования БД: 1. Генерация интерфейса на основании расширенного meta dictionary. 2. Использование БД для хранения шаблонов форм и ассоциации их с сгенерированной частью. Могу добавить ряд преимуществ: 1. Возможность улучшения процесса автоматического тестирования 2. Генерация шаблонов хелпа и документации. 3. Возможность быстрой смены и одновременной поддержки разных клиентов, например: десктоп и веб. 4. Быстрота построения прототипа для показа заказчику. Основные проблемы: 1. Оптимальным образом работает, если на клиентской стороне - интерпретатор. 2. Сложность сохранения результатов кастомизации в случае изменения структуры базы. Реализации: 1. 1992-1994. Clipper. Результаты: Падение трудозатрат в среднем в пять раз после внедрения системы. Один из компонентов системы получил приз СА за наиболее богатую функциональность и лёгкость настройки. 2. 1997. Delphi/Oracle. Один из результатов : Выигрыш, после показа прототипов, тендера на автоматизацию одного из крупных украинских холдингов. Модифицированная система используется по сей день. 3. 2003-2004. Частичная реализация (порядка 90%). SQL Server + XML/XSLT + web client. Результат: Поддержание двойного интерфейса web client + IP phones. Система первой получила сертификат Cisco (разработка пользовательских аппликаций для четвёртого С). 4. 2003-2007. Частичная реализация. Результат: Одновременная поддержка .Net/web client. Опережение конкурента при соотношении ресурсов 5:1 в пользу конкурента привело к покупке компании. Конкурент вышел из бизнеса. Одной из главных причин выбора был назван интерфейс. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2007, 08:40 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Mainframe_старыйВ среду была на предзащите докторской диссертации на тему автоматизация разработки пользовательского интерфейса на основе онтологического подхода. Если интересует, поищите статьи Грибовой В. в журналах Информационные технологии. Совсем скоро на сайте ВАК выложат реферат по техническим наукам. И сам реферат можно прочесть и там будут ссылки на ее статьи. В основном применяется в системах, где тербуется ввод многих параметров, при этмо параметры дополняются - меняются. В частности реализованы сситема для медицины, для автомото предприятия и для косметологии. Там текстовые данные вводятся, выводятся статические рисунки и простая динамика. На эту тему пишут докторские? :) Очень интересно:) У человека должен быть богатый опыт создания подобных систем. Или это на теоретическом уровне? "Обоснование возможности создания.."? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2007, 08:55 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Система БОСС-Компания строит интерфейс извлекая координаты и свойства контролов из БД с сервера. При запуске притормаживает, затем кэширует, потом работает быстро и оновление приложения просто сказка. Но правда, система требовательна к ресурсам сервера. Но речь идет как я вижу совсем не о том ГДЕ хранятся описания контролов, а больше о том - можно ли интрефейс строить автоматически. Я даже чаитал на этом форму что надоело моло контролы по формам выравнивать, да свойства настраивать.... Нужно что то иное. Да - вот эту тему можно ыло бы развивать - АВТОМАТИЧЕСКО построение интерфейсов на базе описаний сверхвысокого уровня. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2007, 12:39 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Тема интересная, конечно. Metadata-based application и все такое. Но реализация уж больно трудоемка. Как было справедливо отмечено, для мало-мальски нестандартных форм потребуются совершенно непотребного вида навороты вроде скриптового языка, собственного редактора форм и т. д. Сам собой напрашивается вопрос: а нельзя ли где-нибудь найти готовый редактор? И сам собой приходит ответ: Visual Studio, Delphi и пр. Сделайте объектную модель над вашей базой (persistance engine), сделайте компоненты, которые будут знать, за какие атрибуты объектов будут ответственны, и создание форм превратится в простое перетаскивание на форму контролов и указания им, за какие атрибуты они отвечают. При этом в самих формах останется только код, которые отвечает за проверки и другую логику. Причем изначально такие формы можно будет генерировать исходя из объектной модели, а потом обработать напильником и паяльником: красиво расставить контролы и дописать ту логику, которой не хватает. А уж потом выкладывать формы на веб-сервер, или на сервер приложений (или просто в базу) готовую к употреблению .dll Итого в плюсе: готовый редактор форм (например MS VS 2005 Express) и готовый скриптовый язык (например, C# или VB.NET, или Delphi, кому что роднее) При этом такой подход будет эффективно работать не только с простыми справочниками, но и с документ-ориентированным вводом данных, а использование нормального языка программирования позволит реализовать любой необходимый функционал. Время разработки при этом существенно сокращается за счет того, что б о льшая часть форм в нормально спроектированном решении все-таки имеет стандартный вид. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2007, 12:43 |
|
|
start [/forum/topic.php?fid=33&msg=34690163&tid=1548962]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 407ms |
0 / 0 |