powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Построение интерфейса приложения из БД
336 сообщений из 336, показаны все 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
Построение интерфейса приложения из БД
    #34690163
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любая попытка автогенерации пользовательского интерфеса приводит к его бедности и технологиям обхода (я не говорю о тех известных случаях, когда форма получается из струкутуры данных простыми преобразованиями).
Либо пользуетесь стандартным браузерам, либо пишите полноценный интерфейс.
Если нет сил писать, то нечего городить огород.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690226
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сама идея моглы бы быть блестяще разрешена, если бы был принят соответствующий стандарт хотя бы на отдельные компонеты ОС! Весь необходимый набор контролов должен содержаться в оси как API. Но при капитализьме такого не случится...
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690246
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко АсахараВесь необходимый набор контролов должен содержаться в оси как API. Но при капитализьме такого не случится...
Загляни в commctrl.h. Это и есть API, содержащий около 20 стандартных контролов оси.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690250
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко АсахараВесь необходимый набор контролов должен содержаться в оси как API.
Чем-то это мне напоминает "армейскому парикмахеру достаточно уметь делать одну прическу".
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690256
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко АсахараСама идея моглы бы быть блестяще разрешена, если бы был принят соответствующий стандарт хотя бы на отдельные компонеты ОС!
Не в ту степь, имхо. Включить "все необходимые компоненты" можно и в "интерпретатор", новые добавляются редко.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690269
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гoлдун Сиоко АсахараВесь необходимый набор контролов должен содержаться в оси как API. Но при капитализьме такого не случится...
Загляни в commctrl.h. Это и есть API, содержащий около 20 стандартных контролов оси.
Эти ни на что скрьезное не годны. Должны быть умные контролы, умеющие работать с БД.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690278
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко Асахара Александр Гoлдун Сиоко АсахараВесь необходимый набор контролов должен содержаться в оси как API. Но при капитализьме такого не случится...
Загляни в commctrl.h. Это и есть API, содержащий около 20 стандартных контролов оси.
Эти ни на что скрьезное не годны. Должны быть умные контролы, умеющие работать с БД.
Ну и функция более высокого уровня, для построения всей формы по значениям свойств, на лету. Остается нормальная структура данных в базе. Технически всё решаемо и не очень сложно, но юмор весь в том, что ни одна из фирм производящих ОС до сих пор не сделал этого, хотя пользителю это пошло бы на пользу. Налицо притиворечие.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690280
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, что самая суть противоречия в том, что если пользователю дать возможность слишком многое делать самому, то ему очень мало продашь. А ведь отрасль должна развиваться, нужны деньги, вышибленные из того же пользователя...В рамках нынешней концепции развития софта - это не возможно, постоянно появляются блуждающие мысли по поводу свободного софта...На самом деле негатива, по-крупному и очень сильно мешающему прогрессу, - очень много.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690281
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко АсахараНу и функция более высокого уровня, для построения всей формы по значениям свойств, на лету.


Если перевести на более простой язык - Вы хотите, чтобы производитель ОС решил задачу, которую мы здесь называем нормально не решаемой. Этакая вера в Билли как в Бога.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690283
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко АсахараНу и функция более высокого уровня, для построения всей формы по значениям свойств, на лету.
Такая функция в дельфе существует уже двенадцать лет, называется TStream.ReadComponent. Вот только дело совсем не в этом.......
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690287
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Сиоко АсахараНу и функция более высокого уровня, для построения всей формы по значениям свойств, на лету.
Такая функция в дельфе существует уже двенадцать лет, называется TStream.ReadComponent . Вот только дело совсем не в этом.......
Вы не поняли, это должно быть в ядре ОС!
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690294
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю. причина в деньгах!
Модератор: Начал резать оффтопики
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690307
pandorin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНа каком-то форуме прочитал интересный топик о том, что можно из БД полностью генерить интерфейс приложения.
А чем не подходит Bold, ECO III?
Вроде все уже сделано...
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690517
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621

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

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

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

В работе были еще вопросы преобразования из онтологического описания в некую прмоежуточную модель (я бы назвала ее канонической), на собственном языке, а затем преобразование из этого описания в код на С# или Java.
были опсианы интерфйесы с результатом генерации кода интерфйеса и собственно логикой обработки. Были так же решения по генерации контекстно-азивисмой помощи и т.п.

По сути вопроса - работа не является принципиально новой, но а все ли работы - это принципиально новое? Может быть движение идет маленькими шагами, а потом , когда накопится критическая масса, делается скачок. Но скачка бы не было, не будь этих маленьких шагов.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690522
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> а все ли работы - это принципиально новое?

Да нет, конечно. Мне казалось, что диссертация - это более значительная работа. Впрочем, это частное мнение.
Спасибо за комментарий.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690524
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> а все ли работы - это принципиально новое?

Мне казалось, что диссертация - это более значительная работа.

Мне тоже, пока не прочитал реферат одного новоиспеченного доктора т.н. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690717
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707 iscrafmПродержался не долго.:)
Интересно. А какие проблемы были выявлены? И вообще, если можно, какие-то обобщенные принципы работы такой системы узнать у Вас? (возможно схемы)
проблем много встретилось, например как восстановить приложение, если в этой же БД и данные размещаются. Сложный маппинг, неподъемная структура данных и т.п. Поэтому на уровне исследований все и закончилось. Хотя я не считаю, что время потрачено зря. В релиз пошла схожая по принципам реализация, только хранится все в виде persistent объектов на сервере приложений. Для каждого класса есть редактор и модуль запуска, оба подгружаемые плагины (см. рисунок). Реализация нового класса или собственная (другая) интерпретация существующего - написание собственного модуля (например) запуска и подгрузка его вместо стандартного.
"Вживую" это выглядит http://www.iscra.ru/demo/TRADE01.html] примерно так . Примерно , потому что вариаций много.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690806
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я, как старый междумордиеписатель, тож добавлю. Вобщем-то смысл реляционных БД в том чтоб данные хранились в виде удобном для обработки. И строить по структуре данных интерфейс пользователя не сложно. Старый пример:

http://sss1024.narod.ru/ver.htm

если есть 2 таблицы связаные один-ко-многим то ясно при редактировании юзер должен видеть строку из парент-таблицы и грид со связаными строками из чайлд-таблицы, например Заказы<-СтрокиЗаказов. А пользователю (скорей настройщику) можно позволить мышкой тудасюда контролы подвигать или скрыть что-то. Всё логично и не особо сложно.

Но в повседневной жизни большинство БД это просто ком с частичной нормализацией и большая часть унаследованного кода, заплаток и пр. Т.е. чтоб чёт в подобных системах делать не хватит гибкости. Для написания с нуля подойдёт, для работы с данными из существующей тыщулетназаднаписаной системы скорей всего нет.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690808
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024я, как старый междумордиеписатель, тож добавлю. Вобщем-то смысл реляционных БД в том чтоб данные хранились в виде удобном для обработки.
Причем "обработка" != "визуальный интерфейс". Однако эта очевидная мысль почему-то удивительно непопулярна в широких кругах...

1024если есть 2 таблицы связаные один-ко-многим то ясно при редактировании юзер должен видеть строку из парент-таблицы и грид со связаными строками из чайлд-таблицы, например Заказы<-СтрокиЗаказов.



"Ясно, что при редактировании юзер должен видеть строку из парент-таблицы (СправочникВалют) и грид со связанными строками из чайлд-таблицы (СтрокиДокументов, ДенежныеПроводки, ЦеныТоваров, ....)

1024Для написания с нуля подойдёт
Пропущен эпитет, характеризующий "для написания чего именно с нуля".
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690826
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
8(

мне нужно что-нить написать в ответ?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690934
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 в пользу конкурента привело к покупке компании. Конкурент вышел из бизнеса. Одной из главных причин выбора был назван интерфейс.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34690937
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframe_старыйВ среду была на предзащите докторской диссертации на тему автоматизация разработки пользовательского интерфейса на основе онтологического подхода. Если интересует, поищите статьи Грибовой В. в журналах Информационные технологии. Совсем скоро на сайте ВАК выложат реферат по техническим наукам. И сам реферат можно прочесть и там будут ссылки на ее статьи. В основном применяется в системах, где тербуется ввод многих параметров, при этмо параметры дополняются - меняются. В частности реализованы сситема для медицины, для автомото предприятия и для косметологии. Там текстовые данные вводятся, выводятся статические рисунки и простая динамика.

На эту тему пишут докторские? :) Очень интересно:) У человека должен быть богатый опыт создания подобных систем. Или это на теоретическом уровне? "Обоснование возможности создания.."?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691006
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Система БОСС-Компания строит интерфейс извлекая координаты и свойства контролов из БД с сервера. При запуске притормаживает, затем кэширует, потом работает быстро и оновление приложения просто сказка.

Но правда, система требовательна к ресурсам сервера.

Но речь идет как я вижу совсем не о том ГДЕ хранятся описания контролов, а больше о том - можно ли интрефейс строить автоматически.

Я даже чаитал на этом форму что надоело моло контролы по формам выравнивать, да свойства настраивать.... Нужно что то иное.

Да - вот эту тему можно ыло бы развивать - АВТОМАТИЧЕСКО построение интерфейсов на базе описаний сверхвысокого уровня.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691008
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема интересная, конечно. Metadata-based application и все такое.
Но реализация уж больно трудоемка. Как было справедливо отмечено, для мало-мальски нестандартных форм потребуются совершенно непотребного вида навороты вроде скриптового языка, собственного редактора форм и т. д.

Сам собой напрашивается вопрос: а нельзя ли где-нибудь найти готовый редактор? И сам собой приходит ответ: Visual Studio, Delphi и пр.

Сделайте объектную модель над вашей базой (persistance engine), сделайте компоненты, которые будут знать, за какие атрибуты объектов будут ответственны, и создание форм превратится в простое перетаскивание на форму контролов и указания им, за какие атрибуты они отвечают. При этом в самих формах останется только код, которые отвечает за проверки и другую логику.

Причем изначально такие формы можно будет генерировать исходя из объектной модели, а потом обработать напильником и паяльником: красиво расставить контролы и дописать ту логику, которой не хватает. А уж потом выкладывать формы на веб-сервер, или на сервер приложений (или просто в базу) готовую к употреблению .dll

Итого в плюсе: готовый редактор форм (например MS VS 2005 Express) и готовый скриптовый язык (например, C# или VB.NET, или Delphi, кому что роднее)

При этом такой подход будет эффективно работать не только с простыми справочниками, но и с документ-ориентированным вводом данных, а использование нормального языка программирования позволит реализовать любой необходимый функционал. Время разработки при этом существенно сокращается за счет того, что б о льшая часть форм в нормально спроектированном решении все-таки имеет стандартный вид.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691017
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возьми 1ц и будет тебе докуметоориентированый ввод. И разработка будет на порядок быстрей чем на дельфи/жаба/ц-деез
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691027
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024возьми 1ц и будет тебе докуметоориентированый ввод. И разработка будет на порядок быстрей чем на дельфи/жаба/ц-деез

Извини, конечно, но ты сам-то понимаешь, о чем говоришь? Ради интереса сравни функциональность редакторов форм и языков, возможность прикрутить компоненты и библиотеки сторонних производителей. И вообще, для каждого проекта разворачивать эту монструзятину? Мучиться с конфигурацией? Про удобство IDE лучше вообще молчать, разве что доживем до того дня, когда к 1ц решарпер прикрутят :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691036
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024возьми 1ц и будет тебе докуметоориентированый ввод. И разработка будет на порядок быстрей чем на дельфи/жаба/ц-деез
Байка про ускорение разработки в 1с по сравнению с универсальными средствами разработки упоминается как аксиома очень часто, но никто так и не смог ни обосновать, ни продемонстрировать это самое ускорение ни на йоту, не говоря уж про порядки. В общем случае разработка как минимум не будет быстрей. Рекомендую эту тему здесь дальше не развивать, а продолжить при необходимости в топике Перевод внутренней разработки на 1с , или открыть новый, в этом форуме либо в форуме про 1с.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691046
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexsalogСистема БОСС-Компания строит интерфейс извлекая координаты и свойства контролов из БД с сервера. При запуске притормаживает, затем кэширует, потом работает быстро и оновление приложения просто сказка.

Но правда, система требовательна к ресурсам сервера.

Но речь идет как я вижу совсем не о том ГДЕ хранятся описания контролов, а больше о том - можно ли интрефейс строить автоматически.

Я даже чаитал на этом форму что надоело моло контролы по формам выравнивать, да свойства настраивать.... Нужно что то иное.

Да - вот эту тему можно ыло бы развивать - АВТОМАТИЧЕСКО построение интерфейсов на базе описаний сверхвысокого уровня.
Реально работаем на системе с автомаматическим построением ВСЕХ контролов
интерфейса притом с небольшими требованиями к ресурсам
Никаких проблем - интерфейс на любой вкус - скорость - простота проектирования
Таскать и настраивать контролы - прошлый век
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691049
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEXРеально работаем на системе с автомаматическим построением ВСЕХ контролов
интерфейса притом с небольшими требованиями к ресурсам
Никаких проблем - интерфейс на любой вкус - скорость - простота проектирования
Таскать и настраивать контролы - прошлый век

А можно поинтересоваться по какому принципу распределяете и группируете контролы на форме?

Как удовлетворяете пожелания пользователей, что "вот эта кнопка здесь неудобна, перенесите ее поближе вот к этой, пожалуйста"?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691112
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
Они в качестве GUI используют Excel. Соответственно, ответом на Ваши вопросы будет "все претензии - в Microsoft".
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691329
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer Codenamed
Они в качестве GUI используют Excel. Соответственно, ответом на Ваши вопросы будет "все претензии - в Microsoft".

Если отошлем клиента к Microsoft - клиент отошлет нас еще дальше
А кушать то хочется
Поэтому клиент вырезает мышкой то место и перемещает его куда ему надо
- там оно теперь и будет жить.
Но живой кнопки там нет - только абстрактная директива для ее построения
Переменные в директиве могут устанавливаться сервером по ситуации
- то есть кнопка может иногда и вообще не появится
(кнопка - условно - это м б и другой элемент интерфейса )

Последнее время мы рассылаем обновления не особо заботясь
о красивости и эргономичности - практически полуфабрикаты.
Продвинутые клиенты сами легко и с удовольствием подгоняют "по фигуре"
и даже добавляют новые элементы-директивы и стирают ненужные им.
А остальным - эргономика до фени
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691575
guest_20072707
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drevТак уж получилось, в этом году уже 15 лет, как я занимаюсь разработкой подобных систем.
Это здорово! А возможно ли представление на данном форуме некоторых эскизов Вашего проекта (например, принципиальная схема работы, некоторые алгоритмы и т.д.... возможно, очень и очень обобщенно)? Просто я сейчас занимаюсь построением своей модели (пока она слишком сырая, чтобы ее выкладывать здесь) и хотелось бы знать, какие у кого уже есть наработки... тем более, что у Вас такой большой опыт в этой области. Заранее огромное спасибо!
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691611
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707 drevТак уж получилось, в этом году уже 15 лет, как я занимаюсь разработкой подобных систем.
Это здорово! А возможно ли представление на данном форуме некоторых эскизов Вашего проекта (например, принципиальная схема работы, некоторые алгоритмы и т.д.... возможно, очень и очень обобщенно)? Просто я сейчас занимаюсь построением своей модели (пока она слишком сырая, чтобы ее выкладывать здесь) и хотелось бы знать, какие у кого уже есть наработки... тем более, что у Вас такой большой опыт в этой области. Заранее огромное спасибо!


Можно предварительно несколько вопросов?

Вы занимаетесь этим в качестве хобби? Или в составе коммерческой структуры?

Что планируется как результат? Публичный продукт? Или внутренняя разработка?

Какое количество человеко-лет планируется выделить на разработку?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691635
guest_20072707
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drevМожно предварительно несколько вопросов?
Конечно можно.
drevВы занимаетесь этим в качестве хобби? Или в составе коммерческой структуры?
"В составе коммерческой структуры".
drevЧто планируется как результат? Публичный продукт? Или внутренняя разработка?
Нужна платформа, на которой наша организация будет реализовывать большую часть софта для сторонних организаций.
drevКакое количество человеко-лет планируется выделить на разработку?
До получения первого релиза (пусть даже альфа-версии... пусть даже реализация только 1/4 функционала) должно пройти не более 4-6 месяцев. Естесственно, процесс доработки платформы будет происходить по мере использования системы.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34691788
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707

Спасибо за ответы.

1. ИМХО - если клиент - веб и есть 3 хороших человека - есть маленький шанс уложится в указанные сроки. желательно SQL Server или Oracle,как БД.

2. ИМХО - коммерческие разработки на уровне форума не обсуждаются в достаточном уровне детализации
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34692255
guest_20072707
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drev1. ИМХО - если клиент - веб и есть 3 хороших человека - есть маленький шанс уложится в указанные сроки. желательно SQL Server или Oracle,как БД.

Клиент - win32; есть 2 хорошших человека :) Используем СУБД MSSQL2k5. Насчет "уложиться в указанные сроки" - мы просто обязаны :)
drev2. ИМХО - коммерческие разработки на уровне форума не обсуждаются в достаточном уровне детализации
Мне кажется, что большая часть разработчиков, которые читают и пользуются этим форумом являются сотрудниками ИТ-компаний/отделов и мало того, они даже умудряются применять полученую на форуме информацию в коммерческих целях :) Но если для Вас это критично, что скажите, какая форма диалога Вас бы устроила?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34693416
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для целей централизованного хранения форм-классов-отчетов-кода в БД прекрасно подошли бы форматы, которые уже 15 лет используются в MS Visual FoxPro. Поскольку сам VFP прекрасно подходит на роль клиентского интерпретатора, система с пользовательскими интерфейсами в БД, построенная с его помощью, была бы востребованной. Вот только VFP - не клиент-серверная СУБД, и по IP к ней не подключишься. А времена небольших файл-серверных сетей и систем с файл-серверыми БД ушли безвозвратно.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34693586
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707 drev1. ИМХО - если клиент - веб и есть 3 хороших человека - есть маленький шанс уложится в указанные сроки. желательно SQL Server или Oracle,как БД.

Клиент - win32; есть 2 хорошших человека :) Используем СУБД MSSQL2k5. Насчет "уложиться в указанные сроки" - мы просто обязаны :)
drev2. ИМХО - коммерческие разработки на уровне форума не обсуждаются в достаточном уровне детализации
Мне кажется, что большая часть разработчиков, которые читают и пользуются этим форумом являются сотрудниками ИТ-компаний/отделов и мало того, они даже умудряются применять полученую на форуме информацию в коммерческих целях :) Но если для Вас это критично, что скажите, какая форма диалога Вас бы устроила?

Вы можете дать какие-то координаты, как с Вами связатся?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34693733
-lesha-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20072707
Клиент - win32; есть 2 хорошших человека :) Используем СУБД MSSQL2k5. Насчет "уложиться в указанные сроки" - мы просто обязаны :)
drev2. ИМХО - коммерческие разработки на уровне форума не обсуждаются в достаточном уровне детализации
Мне кажется, что большая часть разработчиков, которые читают и пользуются этим форумом являются сотрудниками ИТ-компаний/отделов и мало того, они даже умудряются применять полученую на форуме информацию в коммерческих целях :) Но если для Вас это критично, что скажите, какая форма диалога Вас бы устроила?

Привет. Я давно тоже занимаюсь таким направлением (генерация интерфейса по метаданным) и мне было бы интересно обсуждение на данную тему.
Напишу пару слов про реализацию, которая по моему наиболее лучше подходит автору топика.
Существует описание на XML так называемых Бизнес объектов(БО). Описание очень похоже на XML Schema. Дополнительно xml атрибутами определяют имена полей и таблиц в БД (для генерации SQL ), названия полей в интерфейсе, строки для генерации Help и имена обработчиков. Что дает хранение описания метаданных в xml, по сравнению с хранением в таблицах БД:
- Простота реализации - не надо делать на начальном этапе редактор- можно редактировать обычным текстовым редактором, а также менять, копировать куски.
- Простота расширения –если мы захотим расширить описание не надо менять БД.
- Xml можно хранить в системе контроля версий.

Интерфейс редактирования Бизнес объекта предельно прост – карточка мастер-датайл.
Конечно, есть много нюансов, но на данном принципе построения интерфейса, сделана на 98% крупная учетная система.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34694020
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest20072707,

Run the application (by default, the Windows Forms application is set to be the startup project). You will see how the user interface is automatically generated using the specified data structures. There will be a navigation bar allowing you to switch between Employee and Occupation lists. For example, you will be able to customize these collections using toolbar buttons. If you create a new entry or modify an existing record, the application will show a detail frame filled with editors for each data field. Note that in the Employee detail frame you will be also able to customize the children list.

Вот какой создает интерфейс :) XAF (девки), купите исходники (можно и за свои :) ) и экономьте 4 месяца.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34695072
guest_20072707
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drevВы можете дать какие-то координаты, как с Вами связатся?
Конечно. Вот мой icq-uin: 336537638
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34695433
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizhДля целей централизованного хранения форм-классов-отчетов-кода в БД прекрасно подошли бы форматы, которые уже 15 лет используются в MS Visual FoxPro.
Для целей централизованного хранения форм-классов-отчетов-кода легко подойдет что угодно, в том числе FoxPro. Вот только к задаче генерации интерфейса это никакого отношения не имеет.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34696468
ura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20072707Здравствуйте!
Возможно, баян, но все же.
На каком-то форуме прочитал интересный топик о том, что можно из БД полностью генерить интерфейс приложения. Мне сразу же стала интересна эта тема и вот, что я вижу:
Вся бизнес-логика естессно на уровне БД (хранимые процедуры, функции и т.д.), там же хранится и описание того, как нужно построить интерфейс, то бишь описание объектов, свойств, методов. Exe-модуль содержит только модуль коннекта к БД и сам интерпретатор кода из БД.
Скажем, запускается приложение, производится запуск ХП для чтения информации об объектах системы (Справочники, документы), строится по этому описанию меню. По выбору конкретного пункта меню осуществляется вызов соответствующей ХП для чтения информации о выбранном объекте (описание формы, к примеру), при нажатии, допустим на кнопку производится опять-таки запуск соотв. ХП и "перечитывание" интерфейса из БД + выполняются необходимые действия...

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

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

заранее спасибо! :)
Наша компания построила такую систему.
В БД, кроме пользовательских данных хранится:
- Элементы интерфейса.
- Свойства элементов интерфейса в разрезе пользователей.
- Пиктограммы к этим элементам интерфейса
- Шаблоны отчетов и других печатных форм
- Справка по системе
- Последняя версия исполнимого модуля (exe-шник), который автоматически обновляется при подключении
- может и еще чего, всего не упомнишь...

Система успешно работает уже лет пять у многих клиентов.

Что касается вышеописанных недостатков:
softwarer1. Такая схема полностью неспособна реализовать нестандартную функциональность, которая случается "в одной форме из ста" в любом серьезном проекте.
Поскольку в нашей системе не смешиваются данные прикладной области и данные платформы разработки, реализаию нестандартной функциональности можно прикрутить без проблем, заодно включив ее в стандартный функционал.

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

У нас вроде качественный ). Дело в том, что в этой системе интерфейс просто хранится в базе данных. Процесс "раскраски" и "расстановки" контролов присутствует в том же виде, что и в продуктах Borland.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34696487
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uraДело в том, что в этой системе интерфейс просто хранится в базе данных.
Cкажите пожалуйста, видите ли Вы разницу между словами "хранить" и "генерировать"?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34696496
ura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmдля примера, чтобы построить на клиенте сложную форму, описание которой хранится с БД, нужно проделать множество действий по расстановке контролов, связывании их между собой, назначение обработчиков и т.д. Представьте себе хотя-бы структуру данных для хранения всего этого и процедуры интерпретации.
структура данных для этого (в нашем случае): три таблицы - типы контролов, контролы и их сройства (в двоичном виде). В данный момент в таблице контролов (точнее элементов интерфейса, туда входят и невизуальные элементы) - 4477 записей
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34696499
ura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer uraДело в том, что в этой системе интерфейс просто хранится в базе данных.
Cкажите пожалуйста, видите ли Вы разницу между словами "хранить" и "генерировать"?
конечно... если интерфейс хранится в БД, то соответственно он и генерируется в момент подключения к ней
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34696577
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На тему пользовательского интерфейса описанного данными - вроде бы XUL это как раз про это.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34696615
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кто нибудь может подсказать общедоступные готовые библиотеки на эту тему?
Возможно какие-то проекты с исходниками, где такой подход реализован и можно будет его "выдрать".

Но хотелось бы, чтобы в БД хранились описания достаточно высокоуровневого функционала типа меню, списков, стандартных экранных форм, отчётов. (Т.е обобщённые решения типа XUL для моей ситуации слишком низкоуровневые).

Контекст- самописная система управления предприятием. Двухзвенка. Клиент на VB.NET\C# и сервер на MS SQL.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34696824
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ura softwarer uraДело в том, что в этой системе интерфейс просто хранится в базе данных.
Cкажите пожалуйста, видите ли Вы разницу между словами " хранить " и " генерировать "?
конечно... если интерфейс хранится в БД, то соответственно он и генерируется в момент подключения к ней


Вопрос Александра совершенно правильный.

ИМХО, существуют как минимум 3 модели:

1. Интерфейс генерируется программно на основание некоторых мета-данных. Где хранится само описание - вопрос открытый. В частном случае это описание уже существует, например, для этой цели можно попробовать использовать системные таблицы СУБД.

2. Интерфейс, созданный программистом и/или дизайнером сериализуется и хранится в БД.

3. Комбинация этих моделей. Например, дизайнер указывает - группа радио-кнопок будет находится в этом месте формы. Сами радио-кнопку и их метки генерируются из метаданных.

Насколько я понял, у вас - модель 2. Александр спросил, понимаете ли Вы различие между моделями 1 и 2.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34697583
ura
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда понятно... тут весь вопрос в термине "генерировать". Интерфейс в любом случае генерируется программно на основе БД. Только в первом случае это происходит на основе метаданных прикладной области, а во втором на основе данных, описывающих только интерфейс. В том смысле, как вы это описали - совершенно верно, у меня вторая модель.
Что касается первой - да, признаю - недостатки, приведенные softwarer будут ей присущи.
При повышении требований к функциональности интерфейса (например, два и более интерфейса на одни и те же данные) система, построенная таким образом, начнет все усложняться, в нее придется добавлять чисто интерфейсные метаданные, и в конце-концов она рискует скатиться ко второй модели.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699398
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема на самом деле очень интересная. И, не побоюсь этого слова, актуальная.

Поэтому предлагаю:

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

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

в) Рассмотреть следующий вариант решения задачи:
- Первичная генерация форм (WEB, WinForms, Delphi) на основе хранящихся в БД метаданных или (более общий случай) описаний бизнес-объектов
- Доведение полученных заготовок до ума в штатной IDE
- Хранение подготовленных форм в БД (это не касается WEB, по понятным причинам) в виде сборок, .dll или пакетов с загрузкой их на клиентское приложение.

г) Дополнительно обсудить более сложный вопрос: внесение изменений в кастомизированные формы после изменения метаданных (или описаний бизнес-объектов).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699419
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
...


У DevExpress 4 слоя.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699427
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовУ DevExpress 4 слоя.

Более развернуто, пожалуйста.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699477
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават ЮсифовУ DevExpress 4 слоя.

Более развернуто, пожалуйста.

First, the application model is generated from code.
The next layer is generated when the application model is edited for a module. These changes are saved to the module's DesignedDiffs.xml file.
The next layer is formed when you modify the model in a Win or Web application. These changes are saved to the corresponding Model.xml files. This is the model's final state. It is loaded when the application starts.
At runtime, an end-user can also modify the model. For example, the editor can be dragged to another group. These changes are saved to the UserModel.xml file and form the application model's top layer.
Multi-layer structure of the application model allows you to easily undo changes made at any layer, and return to a lower layer (lastly, you can restore the automatically generated model). To remove changes, simply remove the corresponding XML file. Of course, you can also remove only specific changes by editing XML files.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699507
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
First, the application model is generated from code.
...


Общая идея понятна и напоминает CSS по сути.

Непонятно только, из какого кода генерируется модель приложения (бизнес-объекты? иначе при чем тут метаданные?), где и в каком виде хранится логика формы (скрипты или код для проверки, вызова других форм и отчетов), и как туда подцепить самописные компоненты (например, для выбора чего-нибудь из справочника хитрым образом).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699527
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават Юсифов
First, the application model is generated from code.
...


Общая идея понятна и напоминает CSS по сути.

Непонятно только, из какого кода генерируется модель приложения (бизнес-объекты? иначе при чем тут метаданные?), где и в каком виде хранится логика формы (скрипты или код для проверки, вызова других форм и отчетов), и как туда подцепить самописные компоненты (например, для выбора чего-нибудь из справочника хитрым образом).

Как из какого кода? Из программного. :)
Там целый фреймворк, снециально под это дело заточен. Есть определенные правила. Можно делать свои компоненты (хотя лучше чем у них врядь ли, только Гантта (хорошего, плохой есть :)) там не хватает).
Вы пишите модули (class library наследует их модуль), создаете бизнес объекты, указываете всякие релейшн, агрегацию и т.д., меняете атрибуты...
При каждом запуске генерируется UI. Модули показываются в NavBar, экшн в ToolBar, объекты в соответствующих конторолах, при редактировании грида создается отдельная форма и т.д.
После деплоймента юзер может тоже менять аппликейшн модель, есть специальный редактор модели.
Да скачайте вы его и изучайте, а еще лучше пользуйтесь. :)
Линейые модули типа бухгалтерских создаеются в течении 10 минут. Аж зло берет, сколько народа в ЕРП форуме глотку рвет из-за вещей, котрые можно в течении нескольких недель сгенерировать с помощью девок.
Да там еще репортинг систем с дизайнером для конечного юзера. Вобщем, конец всему. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699576
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов...

Изучать сил нет сейчас. И вообще, я в отпуске :)

Вопрос все-таки не в этом. На первом этапе собственно проектирования системы появляется структура данных. Мне бы хотелось узнать, как в этом движке реализовано создание бизнес-объектов на основе структуры БД и, соответственно, формирование интерфейса пользователя на основе той же структуры БД. И еще более интересно, как в структуре бизнес-объектов находит отражение изменение структуры этой многострадальной БД. То есть, автоматически ли у объектов появляются/исчезают атрибуты, связи и пр. при изменении таблиц, представлений, процедур и пр.

Как идеал - имея на входе спроектированную базу и указав, по каким таблицам и представлениям какие бизнес-объекты необходимо генерировать, получить не только готовые business objects, но и соответствующие формы для их редактирования.

Что касается возможности кастомизации внешнего вида форм (но не логики!) на клиенте, то еще не разу не видел ситуации, когда это было бы действительно необходимо.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699579
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под самописным компонентом я имел в виду составные контролы, например, позволяющие либо выбрать вагон из списка с определенными ограничениями, либо добавить новый вагон, либо тут же на месте открыть форму и отредактировать параметры вагона. Посколько этот функционал используется во многих местах, логично объединить его весь в один контрол и втыкать везде, где необходимо.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699595
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
Вопрос все-таки не в этом. На первом этапе собственно проектирования системы появляется структура данных. Мне бы хотелось узнать, как в этом движке реализовано создание бизнес-объектов на основе структуры БД и, соответственно, формирование интерфейса пользователя на основе той же структуры БД. И еще более интересно, как в структуре бизнес-объектов находит отражение изменение структуры этой многострадальной БД. То есть, автоматически ли у объектов появляются/исчезают атрибуты, связи и пр. при изменении таблиц, представлений, процедур и пр.

Как идеал - имея на входе спроектированную базу и указав, по каким таблицам и представлениям какие бизнес-объекты необходимо генерировать, получить не только готовые business objects, но и соответствующие формы для их редактирования.


Есть оба варианта.
Можно на основе структуры сгенерировать БО, а можно (и нужно) по коду программы сгенерировать структуру БД.

Codenamed
Что касается возможности кастомизации внешнего вида форм (но не логики!) на клиенте, то еще не разу не видел ситуации, когда это было бы действительно необходимо.

Да вы что? Мои только и кастомизируют грид, то выкинут какие-то поля, то добавят. :)
А когда можно что-то перетащить, то ОБЪЯЗАТЕЛЬНО перетащут. Они ж как дети недовольные. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699598
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedПод самописным компонентом я имел в виду составные контролы, например, позволяющие либо выбрать вагон из списка с определенными ограничениями, либо добавить новый вагон, либо тут же на месте открыть форму и отредактировать параметры вагона. Посколько этот функционал используется во многих местах, логично объединить его весь в один контрол и втыкать везде, где необходимо.
Есть все это, есть фильты и т.д. Выйдете на работу, посмотрите.
Там изучать нечего. 1 часа хватит.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699606
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Линейые модули типа бухгалтерских создаеются в течении 10 минут. Аж зло берет, сколько народа в ЕРП форуме глотку рвет из-за вещей, котрые можно в течении нескольких недель сгенерировать с помощью девок.

Сам эту красоту только недавно заметил. Ведь еще даже релиз не вышел.
Но оно только под VS.NET как я понял :( Интересно, будут ли они для Delphi делать?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699620
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Есть оба варианта.
Можно на основе структуры сгенерировать БО, а можно (и нужно) по коду программы сгенерировать структуру БД.


Почему вы так считаете? :)

Сахават Юсифов
Да вы что? Мои только и кастомизируют грид, то выкинут какие-то поля, то добавят. :)
А когда можно что-то перетащить, то ОБЪЯЗАТЕЛЬНО перетащут. Они ж как дети недовольные. :)

Хм... приемосдатчик не должен кастомизировать интерфейс. Приемосдатчик должен работать. (с) неизвестный автор. :)

А если серьезно, то кастомизация грида - это не есть проблема, это легко реализовать самому, без сторонних компонентов (хотя со сторонними будет, определенно, намного красивее).

Здесь речь скорее идет о формах, отвечающих за редактирование атрибутов БО. Но даже и в этом случае непреодолимых трудностей не было бы, если бы формы не должны были делать много чего еще: проводить проверки (в том числе с обращением к базе), открывать другие формы (в том числе нестандартные), содержать составные компоненты интерфейса, выполнять какие-то действия в фоновом режиме и пр. Понятно, что с большинством форм таких сложностей нет. Но даже если они есть всего в 10% форм, это конкретно портит всю малину.

И все-таки хотелось бы узнать на счет того, как изменения отражаются в БО и интерфейсе при изменении структуры БД.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699761
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гoлдун Сахават Юсифов
Линейые модули типа бухгалтерских создаеются в течении 10 минут. Аж зло берет, сколько народа в ЕРП форуме глотку рвет из-за вещей, котрые можно в течении нескольких недель сгенерировать с помощью девок.

Сам эту красоту только недавно заметил. Ведь еще даже релиз не вышел.
Но оно только под VS.NET как я понял :( Интересно, будут ли они для Delphi делать?

Дельфи капут. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699773
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават Юсифов
Можно на основе структуры сгенерировать БО, а можно (и нужно) по коду программы сгенерировать структуру БД.


Почему вы так считаете? :)

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

Раньше никаких СУБД не было, но программы были, работали с данными и делали то же самое, что и сейчас. Просто работа была организована и регламентирована по другому во времени.
Все сложности которые привнесли СУБД это сложности самих СУБД, а не данных и способов их обработки. Т.е. СУБД вторична в любом случае. Прчему я должен думать о каких-то СУБД? Я меня структуру в свой программе, а вспомогательный слой их переводит в формат СУБД, а не наоборот.
Завтра СУБД может и не будет, будут другие инструменты. Эт так, лирика.

Ну, там по большому все идет наоборот, меняются БО и соответственно автоматически генерируются структуры в БД.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699804
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Ну, там по большому все идет наоборот, меняются БО и соответственно автоматически генерируются структуры в БД.


Все-таки бизнес-объекты трудно считать первичными. При проектировании системы мы оперируем данными, которые есть в нашем распоряжении, а бизнес-объекты - всего лишь промежуточный слой для манипулирования ими.

Именно построение (генерирование) интерфейса (и не только, бизнес объектов, по большому счету, тоже) на основе структуры БД - тема данного топика. К тому же, для больших баз и сложных запросов неизбежно приходится прибегать к тюнингу БД (использование индексов и статистики, частичная денормализация) и самих запросов.

Крайне сложно реализовать механизм, способный при модификации структуры данных не задеть этих тонкостей. Поэтому описанное от решение DevExpress, видимо, отлично подходит для "быстрых" небольших решений "с нуля", но проектирование серьезных систем начинается с продуманной структуры БД, без чего нельзя добиться хотя бы приемлемой производительности.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699807
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed

Все-таки бизнес-объекты трудно считать первичными. При проектировании системы мы оперируем данными, которые есть в нашем распоряжении, а бизнес-объекты - всего лишь промежуточный слой для манипулирования ими.


А я думаю, что главный - человек, потом объекты над которыми он трудится, потом интерфейс, через которого он трудится, а уж в самом конце форма и способ хранения объектов.

Ну, девок я привел в качестве примера.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699878
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов CodenamedПод самописным компонентом я имел в виду составные контролы, например, позволяющие либо выбрать вагон из списка с определенными ограничениями, либо добавить новый вагон, либо тут же на месте открыть форму и отредактировать параметры вагона. Посколько этот функционал используется во многих местах, логично объединить его весь в один контрол и втыкать везде, где необходимо.
Есть все это, есть фильты и т.д. Выйдете на работу, посмотрите.
Там изучать нечего. 1 часа хватит.
Посмотреть где? Где почитать?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34699879
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее так - у меня стоит неки надор компонентов DevExpress. Grid, TabSet, Page Control, MoneyEdit и прочее (всего несоклько десятков) В том числе и DataFilterDialog и т.п.
Но что то я не заметил там средств для описания "бизнес-объектов", атрибутов и сущностей, а также отношений между ними и агрегации.
То есть это все есть в каком пакадже?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34700008
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават Юсифов
Ну, там по большому все идет наоборот, меняются БО и соответственно автоматически генерируются структуры в БД.


Все-таки бизнес-объекты трудно считать первичными. При проектировании системы мы оперируем данными, которые есть в нашем распоряжении, а бизнес-объекты - всего лишь промежуточный слой для манипулирования ими.

Именно построение (генерирование) интерфейса (и не только, бизнес объектов, по большому счету, тоже) на основе структуры БД - тема данного топика. К тому же, для больших баз и сложных запросов неизбежно приходится прибегать к тюнингу БД (использование индексов и статистики, частичная денормализация) и самих запросов.

Крайне сложно реализовать механизм, способный при модификации структуры данных не задеть этих тонкостей. Поэтому описанное от решение DevExpress, видимо, отлично подходит для "быстрых" небольших решений "с нуля", но проектирование серьезных систем начинается с продуманной структуры БД, без чего нельзя добиться хотя бы приемлемой производительности.

Давайте попробуем танцевать от печки, т.е. от БД.

1. Строим расширенное мета-описание на базе словаря данных.

В него входят интерфейсные названия объектов (краткие и полные, например, для тултипов, топик хелпа, типы доменов, описание доменов, если нужно, например, таблицы связи интерфейсных и реальных значений, идентификаторы типов контролов (именно типов, а не конкретных контролов, таким образом мы не привязаны к конкретном типу интерфейса), группировка контролов, включая панели, табы и т.д.

Интересный отдельный вопрос - логическое описание типов связей между объектами.

Изменение структуры БД ловим, скажем, DDL триггерами, и нотифицируем хранителя(ей) расширенного мета-описания в случае необходимости.

2. Что мы можем получить?

а) Табличные представления объектов объектов с опциональными "шапками" поиска и/или фильтрации и возможностью отметки значений.

б) Формы редактирования объектов, которые во многом будут похожи на вышеуказанные шапки.

в) Иерархические структуры, которые могут объединять объекты разных типов, например, географические понятия, здания
и помещения.

г) фильтрационные шапки отчётов

д) возможность создания сложных обработчиков и регистрация их через идентификаторы

е) возможность кастомизации форм, которая не нарушает атомарную логическую группировку, например, запрет на отделение радио-кнопки от её группы.


По моим оценкам, 80-90% интерфейса мы сможем поддержать.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34700441
__strannik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drev

Давайте попробуем танцевать от печки, т.е. от БД.

1. Строим расширенное мета-описание на базе словаря данных.

В него входят интерфейсные названия объектов (краткие и полные, например, для тултипов, топик хелпа, типы доменов, описание доменов, если нужно, например, таблицы связи интерфейсных и реальных значений, идентификаторы типов контролов (именно типов, а не конкретных контролов, таким образом мы не привязаны к конкретном типу интерфейса), группировка контролов, включая панели, табы и т.д.

Интересный отдельный вопрос - логическое описание типов связей между объектами.

Изменение структуры БД ловим, скажем, DDL триггерами, и нотифицируем хранителя(ей) расширенного мета-описания в случае необходимости.



Коллеги, а существуют какие-либо "стандартные" и/или открытые реализации такого описания? Скорее всего, это д.б. XML-схема. Частные варианты известны, но не хочется изобретать велосипед.

PS. Как один из частных вариантов реализации - знаю систему которая в качестве основы использует Erwin-диаграмму, к которой добавляются стандратным образом атрибуты, схема экспортируется в XML и используется для генерации интерфейса.

PPS. Спасибо за содержательные ответы. Тема давно интересует, тоже есть наработки, к сожалению, пока на них нет производственной необходимости.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34700517
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__strannik
Тема давно интересует, тоже есть наработки, к сожалению, пока на них нет производственной необходимости.

И никогда не будет. Еще не хватало, что бы какой-то ДБА влиял на интерфейс программы. :)
А вот если у вас есть возможность, что бы клиент добавлял новые БО и логику работы с ними, тогда да, есть нужда. Ну это и есть РАД. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34700819
Alexey Antonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexsalogВернее так - у меня стоит неки надор компонентов DevExpress. Grid, TabSet, Page Control, MoneyEdit и прочее (всего несоклько десятков) В том числе и DataFilterDialog и т.п.
Но что то я не заметил там средств для описания "бизнес-объектов", атрибутов и сущностей, а также отношений между ними и агрегации.
То есть это все есть в каком пакадже?

Средство описания БО - это библиотека eXpress Persistent Objects (XPO). Невизуальная. То, о чем говорит Сахафат - продукт DevExpress AppFramework, сейчас в стадии RC1. Фактически, это надстройка над комплектом dXperience (полный набор компонент DevExpress), реализующая модель run-time конструирования приложения.
Подходит как раз для развитых приложений, поскольку система модульная (аналог/развитие Microsoft Pattern and Practices SmartClient Software Factories).

Сахават Юсифов
Есть оба варианта.
Можно на основе структуры сгенерировать БО, а можно (и нужно) по коду программы сгенерировать структуру БД.


А тут как кому нравиться - если пляшешь от структур данных, то потом надстраиваешь БО по структурам своих данных, не хочешь сам ковыряться с БД - автогенерируй.

CodenamedВсе-таки бизнес-объекты трудно считать первичными. При проектировании системы мы оперируем данными, которые есть в нашем распоряжении, а бизнес-объекты - всего лишь промежуточный слой для манипулирования ими.

Именно построение (генерирование) интерфейса (и не только, бизнес объектов, по большому счету, тоже) на основе структуры БД - тема данного топика. К тому же, для больших баз и сложных запросов неизбежно приходится прибегать к тюнингу БД (использование индексов и статистики, частичная денормализация) и самих запросов.

Крайне сложно реализовать механизм, способный при модификации структуры данных не задеть этих тонкостей. Поэтому описанное от решение DevExpress, видимо, отлично подходит для "быстрых" небольших решений "с нуля", но проектирование серьезных систем начинается с продуманной структуры БД, без чего нельзя добиться хотя бы приемлемой производительности.

А никто не заставляет на 100% пользоваться только БО. Нужны мощные отчеты - генерируй через запросы (все-таки быстрее RDBMS в данных условиях никто не отработает). А тюнинг БД, индексы - так это не зависит от структуры данных (именно тюнинг, т.е не нормализация/денормализация, а именно подстройка параметров функционирования ядра).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34701176
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Codenamed
Именно построение (генерирование) интерфейса (и не только, бизнес объектов, по большому счету, тоже) на основе структуры БД - тема данного топика. К тому же, для больших баз и сложных запросов неизбежно приходится прибегать к тюнингу БД (использование индексов и статистики, частичная денормализация) и самих запросов.


Не соглашусь с тем что это тема топика.
Скорее изначально речь шла о декларативном (data-driven) описании пользовательского интерфейса.
Автогенерация польз.интерфейса на основании схемы данных это далеко не единственный из подходов. Думаю найдётся много случаев когда такой подход не работает.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34701601
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Месяц назад запустил в космос систему, в которой большинство форм универсальные и автоматические.

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

Хотел было тоже пойти по пути генерации интерфейса, даже фастрепортовый фастскрипт смотрел (не пошло), но понял, что велосипед с квадратными колесами строить не хочется - нуна чего-то проще и лучше.
Т.к. в системе больше информацию смотрят, чем правят, и нет большого количества сложных интерфейсов, решил сделать возможность там, где возможно, пользоваться универсальными формами, а где необходимо, делать сложные руками.
Для списков собственно форма с гридом - метод, который отдает данные, и список полей/колонок хранится в БД.
Для деталировки - опять же форма с гридом, но с двумя колонками имя-значение (кто-то раньше об этом писал, прошу прощения за тогдашнюю критику :)). Редактирование в ней же - на каждое значение поднимается формочка, соответствующая типу этого значения, в т.ч. списки. Это все также хранится в БД.
Далее хранится свзяка форм друг с другом - на деталировке на закладках показаны списочные формы (клиент - на закладках счета, заказы и т.д.)
Также связка действий, которые вызываются из текущей формы и могут поднимать другие формы, передавая параметры из текущей.

Все это настраивается в БД.

Ничего собственно не генерится - базовая форма принимает настроечные данные и только добавляет поля в гриды, точнее в датасет и грид.

Афигительно удобно - т.к. нет возможности постоянного обновления ехе, то добавление большинства возможностей системы происходит автоматически, после настройки в БД, опять же если чего поправить, не надо менять, компилять и т.д.

Естественно это не система, в которой юзер себе сам чего-то настраивает, но по крайней мере разработчику экономит 50% минимум времени и сил - пиши ХП и добавляй настройку формы с полями.

Работает через вебсервисы - т.к. ходят извне, да еще в разные БД и сервера, то вебсервис оказался очень удобен.

Собственно вот :)

Правда уже и настраивать лень

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34701707
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraРаботает через вебсервисы - т.к. ходят извне, да еще в разные БД и сервера, то вебсервис оказался очень удобен.

описание интерфейса хранится в какой-то центральной БД, или в каждой, в какую ходят - свое?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34701753
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В центральной конечно - там сердце системы :)
Там часть данных, все настройки, логи работы и т.д.

А в остальные места вебсервисы ходят изнутри - система и не знает, куда они там ломятся. Главное что прописано дернуть сервис такой-то - его дергаем, получаем результат, парсим.

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34701866
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужики фигня все это.
Читайте DSL. Скоро уроем всех этих 1с, Аксапта и т.д.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34701870
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовМужики фигня все это.
Читайте DSL. Скоро уроем всех этих 1с, Аксапта и т.д.
В одиночку. Шансы начинают уравниваться. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702054
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сахават ЮсифовМужики фигня все это.
Читайте DSL. Скоро уроем всех этих 1с, Аксапта и т.д.
А что такое DSL?
Что-то связанное c DevExpress'ом?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702061
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов Сахават ЮсифовМужики фигня все это.
Читайте DSL. Скоро уроем всех этих 1с, Аксапта и т.д.
В одиночку. Шансы начинают уравниваться. :)

Пупок не треснет? Вы хоть бы Delphi урыли бы.

А то нашли какую то хрень, и давай от "крутизны" девок тащиться....
http://www.devexpress.com/Products/NET/Libraries/eXpressApp/Architecture.xml

И вообще, чем Вы нас удивить собрались? XPO? DSL(кстати, вас из дас то)?

Да ну не смешно даже (первое). Для малолетних дурачков сие, поиграться разве.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702091
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraЭто ж модем, DSL, кто ж его читает?

Тссс... не, не модем. Не спугни.

Ща нам тут ишшо один скриншот психоделически-красивых градиентных гридов на XAF/WPF покажут.
И расскажут, ясен пень, как они этой голой ж...й будут бастионы Axapta и 1С брать.

(Только боюсь, ничего кроме дежаву трёхлетней J2EE давности мы увы, не узреем).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702278
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraЭто ж модем, DSL, кто ж его читает?

вообще-то Domain-specific languages ... наверное имелось ввиду
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702397
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хе...

Тут вот интересный вопрос возник: для чего нужно генерировать интерфейс "из базы"? :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702438
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm tygraЭто ж модем, DSL, кто ж его читает?

вообще-то Domain-specific languages ... наверное имелось ввиду

Сразу видно кто озабочен делами, а кто тащится от древного Дельфи и изначально больной J2EE.
Ну що Валер, язык бухучета уже сделал? Или вместе попробуем? :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702447
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовНу що Валер, язык бухучета уже сделал? Или вместе попробуем? :)
нет, пока, Сахават... тема интересная, но пока не до нее к сожалению :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702448
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedХе...

Тут вот интересный вопрос возник: для чего нужно генерировать интерфейс "из базы"? :)
Силенок нет поддерживать свою чудную систему, вот и пытаются упростить интерфейс бедного клиента, ради которого вроде бы мы все и существуем. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702485
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов Codenamed......

Ну хорошо, для чего нужны бизнес-объекты и все кошмарные навороты DevExpress'а? :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702508
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выб со структуры данных начали, а то не ясно, какой нужно хотеть интерфейс: лошадь, трактор или парус! Получается: чего то хочу, причём хочу сильно, а чего - не знаю!
друзья зовут меня Красавчег Сёка
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702524
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко Асахара...

Речь идет об учетных системах, где есть куча справочников, документов и прочей однообразной радости, требующей выполнение большого количества рутинной работы. Если не подойти к делу грамотно, конечно :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702533
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко АсахараВыб со структуры данных начали, а то не ясно, какой нужно хотеть интерфейс: лошадь, трактор или парус! Получается: чего то хочу, причём хочу сильно, а чего - не знаю!
друзья зовут меня Красавчег Сёка

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

Это смотрится, как минимум, несерьезно :)

Не стоит забывать, что реально мы работаем с таблицами БД, а бизнес-объекты - лишь одно из средств упорядоченного манипулирования содержимым этих таблиц, к которым, строго говоря, совершенно не обязательно прибегать.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702574
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов Сиоко АсахараВыб со структуры данных начали, а то не ясно, какой нужно хотеть интерфейс: лошадь, трактор или парус! Получается: чего то хочу, причём хочу сильно, а чего - не знаю!
друзья зовут меня Красавчег Сёка

Структура и сами данные только часть БО.
А Девки нам жизнь упрощают. Одно дело бедный интерфейс и постоянные жалобы клиента, а другое дело через девок сваливаешь на клиента все многообразие и ответственность и пусть вешается сам, куда ему чего ткнуть и в какой последовательности.
А нафига спрашивается ему моделировать интерфейс, когда он не может моделировать данные?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702577
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно. Таблички, так таблички. Когда то это был выход, а сейчас? Привычка что ли? :(
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702599
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов iscrafm tygraЭто ж модем, DSL, кто ж его читает?

вообще-то Domain-specific languages ... наверное имелось ввиду

Сразу видно кто озабочен делами, а кто тащится от древного Дельфи и изначально больной J2EE.
Ну що Валер, язык бухучета уже сделал? Или вместе попробуем? :)

Наша песня хороша, начинай сначала.
PL/M, COBOL, ABAP, PL/SQL-ля, тополя.

Мало?

И это называется (языки сочинять) - делом? Ну и ну, мир, кажется, окончательно сошёл с ума.

И что там заикался про древние? Сахават - а может стоит открыть глаза, да посмотреть, к примеру,
на такую "новую" штуку, как LINQ (и вспомнить про Pro*C или SQLJ, которые были относительно
недавно названы старым и бесперспективным хламом).


Или на "новый" WCF, который, по сути - лишь относительно бездарное слизывание WorkFlow Builder и довольно немощное подражание - BPEL?

Так чем хвастаться то?

--

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

Господа, а не пытаетесь ли вы, образно-прямо выражаясь, натянуть "глаз на ж..у"?
Моделирование данных, и уж тем более бизнес-процессов - это как бы одна стезя.

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

Иначе - просто чудеса какие то получаются. UI Дизайнер - рулит моделью, модель -
рулит эргономикой... В итоге - получаем кривых уродов, сплошь с ERP в названии
(от SAP до 1С).

--

Может таки не выстраивать диаметрально противоположные направления разработки
в одну линию (мещать соленые огурцы со молоком перед употреблением)?

///

P.S. По поводу форм из данных, и даже из моделей данных - посмеялся отдельно.
Из серии - что будет, если государством начнут управлять кухарки (см. выше про дизайнеров).

P.P.S. Посмеялся вдвойне и от самой идеи. На кой каждый раз собирать и разбирать машину
до и после выезда из гаража? 95% (а то и 99.9%, если это не "времянка") времени жизни
ИС, формы в ней - статичны (в содержании).

И какая, извиняюсь, принципиальная разница хранить их в БД? Неужели так трудно организовать
обновление ПО на местах (пользователей?) Про сервера приложений (intra- internet-) и вовсе заикаться грешно (в вопросе - хранить какие .JSP в БД). Собственно говоря - да на кой?

Что оно вообще, реально, даст (кроме новых проблем)?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702618
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
...

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

в) Рассмотреть следующий вариант решения задачи:
- Первичная генерация форм (WEB, WinForms, Delphi) на основе хранящихся в БД метаданных или (более общий случай) описаний бизнес-объектов
- Доведение полученных заготовок до ума в штатной IDE
- Хранение подготовленных форм в БД (это не касается WEB, по понятным причинам) в виде сборок, .dll или пакетов с загрузкой их на клиентское приложение.

г) Дополнительно обсудить более сложный вопрос: внесение изменений в кастомизированные формы после изменения метаданных (или описаний бизнес-объектов).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702627
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideмещать соленые огурцы со молоком перед употреблением

Ничего вы не понимаете! Людям - скучно! :)

grexhide
P.P.S. Посмеялся вдвойне и от самой идеи. На кой каждый раз собирать и разбирать машину
до и после выезда из гаража? 95% (а то и 99.9%, если это не "времянка") времени жизни
ИС, формы в ней - статичны (в содержании).


Нас здесь, вообще говоря, интересует, как бы, не совершая ненужных телодвижений, получить готовые или почти готовые представления списков и формы редактирования для 100 справочников и 50 видов документов, не скатываясь при этом к кривым уродам . И еще больше интересует, как лишить себя работы по переделке всех этих форм при изменении структуры данных, которая на этапе разработки бывает очень часто. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702628
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Codenamed
...

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

в) Рассмотреть следующий вариант решения задачи:
- Первичная генерация форм (WEB, WinForms, Delphi) на основе хранящихся в БД метаданных или (более общий случай) описаний бизнес-объектов
- Доведение полученных заготовок до ума в штатной IDE
- Хранение подготовленных форм в БД (это не касается WEB, по понятным причинам) в виде сборок, .dll или пакетов с загрузкой их на клиентское приложение.

г) Дополнительно обсудить более сложный вопрос: внесение изменений в кастомизированные формы после изменения метаданных (или описаний бизнес-объектов).

И что? Ты хоть что то умное назвал?

Первичная генерация - для того есть банальные мастера (по сути - просто генерация кода - да хоть как и хоть куда).

Кастомизация - решается банальным наследованием (и последующей доработкой наследников).
А то и просто дублированием и заменой (формы).

Хранение и доставка - на 101% достаточно и базовых средств (БД там и даром не нужна, впрочем, в БД никто не запрещает хранить и обновлять уже готовые, собранные модули).

--

авторг) Дополнительно обсудить более сложный вопрос

Это просто банальный регламент сопровождения и развития БД.

-----

Ты лучше расскажи, какой реальный экономический эффект ты собираешься получить от всего этого?

Я пока только вижу - не эффект, а дополнительное усложнение жизни разработчикам. Особенно, если дело дойдёт до отказа от разнобразных UI дизайнеров (а это - неизбежно).

Может стоит покопать с другой стороны (всяк полезнее) - к примеру - в вопросах шаблонирования форм (высокоуровневые абстрактные заготовки)?

Да проработки структуры самих форм для возможностей беспроблемного наследования на местах (в случае кастомизации).

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

grexhideНа кой каждый раз собирать и разбирать машину до и после выезда из гаража?
Это малость неадекватная аналогия - все ж таки машина собирается в любом случае, вопрос только из каких именно кирпичиков - CreateWindow() там или чего другого. Ну и объективно говоря, есть вопрос "а почему бы и нет, если это не напрягает, зато не требует отдельно писать реакцию на изменения".

Я не к тому, что противоположная точка зрения верна, а к тому, что аргументы спорны.

grexhideИ какая, извиняюсь, принципиальная разница хранить их в БД?
Это мы тоже вроде бы обсуждали - желание само по себе не такое и страшное, если мы доверяем наличию коннекта к БД.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702632
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedНас здесь, вообще говоря, интересует, как бы, не совершая ненужных телодвижений, получить готовые или почти готовые представления списков и формы редактирования для 100 справочников и 50 видов документов, не скатываясь при этом к кривым уродам . И еще больше интересует, как лишить себя работы по переделке всех этих форм при изменении структуры данных, которая на этапе разработки бывает очень часто. :)

А я уже и сказал чуть выше - банальное Шаблонирование.
Сделай достаточно продвинутую и умную форму для Справочников, и для Журналов Документов.
А на месте - только указывай источник данных и дорабатывай какое специфичное представление (самих форм).

Вот и все. По большому счету, у меня сейчас процесс "программирования" справочников и форм документов сводится к простейшему. Выбери нужный вид (шаблона), укажи источник данных,
получи генератором болванку (с набором полей), да расставь их мышкой (заменив типы контролов).

Добавление элемента - и того банальнее. Просто добавить, выбрать тип (контрола), разместить.

Даже вопрос связи со справочниками - решается автоматически (я лишь пишу источник данных, а система от этого источника - рисует сама связь с формой выбора из справочника, которая строится от формы ввода автоматом).


--

В результате... а в результате на клиенте вообще ничего не кодируется. Даже проверки данных - и то идут автоматом (только указать процедуру валидации в сервере БД).

-----

Но для всего озвученного выше - НЕ НУЖНО генерировать интерфейс из БД. Я вас умоляю - оставьте верстальщикам UI нормальные средства работы с UI.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702633
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideНормальный софт - не нужно кастомизировать. Его нужно просто настраивать
Не согласен. Сразу вспоминаю мой модуль контагентов - который использовался в куче проектов, похожих и не очень, и при этом каждый клиент имел собственное представление о том, какие нужны атрибуты у физ-юрлиц итп.

Конечно, это можно было бы сделать настройками, но это было бы крайне неудобно. Включая, например, отработку изменения внешнего вида формы при именно этих скрытых атрибутах - поверьте, "взять визуальный дизайнер и разместить компоненты именно для этого клиента" было куда разумнее.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702639
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКонечно, это можно было бы сделать настройками, но это было бы крайне неудобно. Включая, например, отработку изменения внешнего вида формы при именно этих скрытых атрибутах - поверьте, "взять визуальный дизайнер и разместить компоненты именно для этого клиента" было куда разумнее.

Т.е. удобно каждый поддерживать даже такую банальную форму для всех видов клиентов?

И вот только не нужно. Набор атрибутов у Юр лиц - он как бы конечен (и фигурирует, как правило, в договорах).

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

В общем, ИМХО, не с той стороны копаете. Сколько я не видел "систем", требующих кастомизаций (да вот те же 1C-ки) - так это все - от банального непроработки предметной области (а то и вовсе халтуры).

В остальных же случаях - все эти сущности - конечны. Магазинам - одно, технологам - другое. Но даже любая номенклатура - имеет конечных набор атрибутов (их там просто не может быть гарантированно неопределенное количество).

А выключить (какую форму, закладку, или отдельный контрол) - так это операция как бы банальная. В чем там трудности то?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702646
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideПервичная генерация - для того есть банальные мастера (по сути - просто генерация кода - да хоть как и хоть куда).

О чем, собственно, и речь. Про CodeSmith слышал?

grexhideКастомизация - решается банальным наследованием (и последующей доработкой наследников).
А то и просто дублированием и заменой (формы).

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

grexhideХранение и доставка - на 101% достаточно и базовых средств (БД там и даром не нужна, впрочем, в БД никто не запрещает хранить и обновлять уже готовые, собранные модули).

И что же у тебя за базовые средства?


grexhideЭто просто банальный регламент сопровождения и развития БД.

Ага, регламент, как же. Формы сгенерированы. Потом поменяли структуру данных. После этого формы придется править руками. Задача - упростить это действие.

grexhideЯ пока только вижу - не эффект, а дополнительное усложнение жизни разработчикам. Особенно, если дело дойдёт до отказа от разнобразных UI дизайнеров (а это - неизбежно).

Перед тем, как отвечать, можно ведь и почитать сначала, ага?

Codenamedв) Рассмотреть следующий вариант решения задачи:
- Первичная генерация форм (WEB, WinForms, Delphi) на основе хранящихся в БД метаданных или (более общий случай) описаний бизнес-объектов
- Доведение полученных заготовок до ума в штатной IDE
- Хранение подготовленных форм в БД (это не касается WEB, по понятным причинам) в виде сборок, .dll или пакетов с загрузкой их на клиентское приложение.

grexhideМожет стоит покопать с другой стороны (всяк полезнее) - к примеру - в вопросах шаблонирования форм (высокоуровневые абстрактные заготовки)?

Да проработки структуры самих форм для возможностей беспроблемного наследования на местах (в случае кастомизации).

А может сделаешь и покажешь?

grexhideИ само слово - кастомизация - оно, извиняюсь, просто извиняюсь, ублюдочно.

На всякий случай повторю: речь идет об этапе разработки.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702648
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideНаша песня хороша, начинай сначала.
PL/M, COBOL, ABAP, PL/SQL-ля, тополя.


Их тут кто-то насчитал аж 8400 штук. Слишком они низкоуровневые и никакого отношения к предметней области не имеют.
А вот

Начало
1. Создать счет-фактуру
2. Подождать пока введут данные
3. Проверит счет-фактуру (разораться пр ошибке - к п.2)
4. Создать проводки
5. Запомнить все это
Конец

И все это графическими примитивами. Ведь любой бух может такую фигню нарисовать?

И при чем тут MS и VS. Просто MS крупная и сильная компания, она ждет, пока мальчики типа Борланд или Сан что-нить придумают и пару годков обкатают, потом НЕ ЗАПЛАТИВ ни копейки использует все эти вещи в своих продуктах, но уже не как сброд типа "джава технологии", где уже запутались в названиях, а выдает на гора солидный, интегрированный, хорошо документированный продукт. А мы берем какую-нить бета версию и рисуем свой верхний уровень в надежде на клиентскую копейку.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702655
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЯ не к тому, что противоположная точка зрения верна, а к тому, что аргументы спорны.


А о чем тут спорить? Ок. Приведу пример попроще (для пояснения сути гаража и разбора до и перед вьездом).
Берём любой отчет (печатную форму к примеру - счета-фактуры).

Я не знаю, может быть у кого и возникает идиотичное желание - разложить её по составляющим, и закатать в виде некоторой мегасуперпупер структуры данных в БД (саму печатную форму, шаблон).

Но в большинстве случаев (у нормальных разрботчиков) - данная форма хранится в виде WYS для того, чтобы без лишних гиморовев получить WYG).

И? Объясните мне, на кой - уже экранную форму разбирать по составляющим? Вот серьезно - ЗАЧЕМ?

Вам нужно двадцать пять видов форм для юридических лиц? Отлично. Сделайте один раз всеобъемлющую форму, а потому руками, прям в дизайнере, воспользуйтесь мегаметодом Copy/Paste - и выкиньте те поля, которые вам не нужны.

И все. Вот и вся кастомизация. Но для чего эту форму - загонять в БД? Вот серьезно - для чего?

(ну я бы понял еще - хранить в БД какие .BPL, и то - самое место им - на каком ftp/web сервере обновлений, но в данном случае - это уже не суть важно, в отличии от идеи фикс - тянуть из БД какой XML, потом его парсить, а потом - натужно собирать по каждому отдельному контролу, и,
по сути - получить ТО ЖЕ САМОЕ).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702657
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
И все это графическими примитивами. Ведь любой бух может такую фигню нарисовать?


Это не работа буха. Это работа консультантов и разработчиков.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702665
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уделять надлежащее внимание идее унификации, как для UI, так и для структур данных, то могут открыться принципиально новые возможности. Плюсы и минусы тех или иных RAD тут ни при чём. Нужно говорить о жизни на этапе Runtime! И только о ней!!! А для оцентки своих ООП-тулзов смотреть только надев очки со специальным "светофильтром" , через который видны только возможности, доступные исключительно в Runtime, про остальные - забыть, как про несуществующие в природе. Так о чём мы говорим?
друзья зовут меня Красавчег Сёка
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702666
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
В остальных же случаях - все эти сущности - конечны. Магазинам - одно, технологам - другое. Но даже любая номенклатура - имеет конечных набор атрибутов (их там просто не может быть гарантированно неопределенное количество).

А выключить (какую форму, закладку, или отдельный контрол) - так это операция как бы банальная. В чем там трудности то?
Да? Может оно и так, но очень интересно было бы посмотреть на этот самый конечный набор атрибутов Я уж не говорю про разных клиентов, но бывает и в рамках одной базы разные катетогии номенклатуры имеют различающиеся наборы значимых атрибутов. Что-то у меня есть смутное подозрение, что описать это всеобъемлющим набором атрибутов будет проблематично, если вообще возможно.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702667
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов
Начало
1. Создать счет-фактуру
2. Подождать пока введут данные
3. Проверит счет-фактуру (разораться пр ошибке - к п.2)
4. Создать проводки
5. Запомнить все это
Конец


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
BEGIN
  DoCreateInvoice;
  DoCalculateInvoce; // Допустим, что это генерация СФ откуда то там.
  DoGLTransactions; // на самом деле - так НЕ ДЕЛАЕТСЯ. 

  COMMIT;
END;

Короче, Сахават, вы чет неадекватное тут приплели. Какая связь между Создать счет-фактуру и
Подождать когда введут данные?

Пока данные не введены - нихрена еще не создано, аминь.

--

Тем не менее - на кой там какой то ЕЩЕ язык? Может все дело - в грамотно построенных библиотечных средствах (классах, процедурах, пакетах)?

Сахават Юсифов
И все это графическими примитивами.

Нафига?

Сахават Юсифов
Ведь любой бух может такую фигню нарисовать?
Бред. Кодирующий бухгалтер - это похлеще еврея-оленевода.

Сахават Юсифов
А мы берем какую-нить бета версию и рисуем свой верхний уровень в надежде на клиентскую копейку.
Мальчики из Sun? Ню ню, пишите дальше. Что ваша Microsoft в бизнес секторе смогла создать?
Ах, да, Axapta прикупила.... ну ну, влаг в руки, ресурсы в спину.

Не смешите, право.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702668
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават Юсифов
И все это графическими примитивами. Ведь любой бух может такую фигню нарисовать?


Это не работа буха. Это работа консультантов и разработчиков.

Согласен.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702669
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко АсахараЕсли уделять надлежащее внимание идее унификации, как для UI, так и для структур данных, то могут открыться принципиально новые возможности. Плюсы и минусы тех или иных RAD тут ни при чём. Нужно говорить о жизни на этапе Runtime! И только о ней!!! А для оцентки своих ООП-тулзов смотреть только надев очки со специальным "светофильтром" , через который видны только возможности, доступные исключительно в Runtime, про остальные - забыть, как про несуществующие в природе. Так о чём мы говорим?
друзья зовут меня Красавчег Сёка

О том, что надо было брать синюю таблетку :)

Плюсы и минусы проявляются в затратах на разработку и сопровождение.

$$$ - Ultima ratio regis.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702670
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко Асахара А для оцентки своих ООП-тулзов смотреть только надев очки со специальным "светофильтром" , через который видны только возможности, доступные исключительно в Runtime, про остальные - забыть, как про несуществующие в природе.

Хрен его знает, о чем ВЫ говорите. На кой тогда вообще они нужны - RAD IDE? Если важны только runtime.

Давайте, Сиоко, выкиньте Word, Excel - сидите вон в LaTeX-е документы набивайте (через примитивный vi редактор). А я посмотрю, насколько Вас хватит.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702676
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Сиоко Асахара А для оцентки своих ООП-тулзов смотреть только надев очки со специальным "светофильтром" , через который видны только возможности, доступные исключительно в Runtime, про остальные - забыть, как про несуществующие в природе.

Хрен его знает, о чем ВЫ говорите. На кой тогда вообще они нужны - RAD IDE? Если важны только runtime.
Давайте, Сиоко, выкиньте Word, Excel - сидите вон в LaTeX-е документы набивайте (через примитивный vi редактор). А я посмотрю, насколько Вас хватит.
А вот подумайте хорошенько на досуге! Можете лёгкую травку покурить, - вопрос не простой!
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702677
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
Короче, Сахават, вы чет неадекватное тут приплели. Какая связь между Создать счет-фактуру и
Подождать когда введут данные?

Пока данные не введены - нихрена еще не создано, аминь.


Ну нечего цепляться к словам. Создать - значить инициализровать объект, генерировать интерфейс, повесить обработчики, валидатор, показать клиенту и т.д.

grexhide
Тем не менее - на кой там какой то ЕЩЕ язык? Может все дело - в грамотно построенных библиотечных средствах (классах, процедурах, пакетах)?


А как же без них. Но все они скрыты, для каждого случая свой язык
IDE для создания и запуска моделей. НИКАКИХ ДЕЛЬФИ!!!! :)

grexhide
Нафига?


Красиво!

grexhide
Мальчики из Sun? Ню ню, пишите дальше. Что ваша Microsoft в бизнес секторе смогла создать?
Ах, да, Axapta прикупила.... ну ну, влаг в руки, ресурсы в спину.


МС сейчас выступает в качестве интегратора и стандартизатора обкатанных идей.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702683
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideТ.е. удобно каждый поддерживать даже такую банальную форму для всех видов клиентов?
Безусловно. Я собственно не понимаю, чего там поддерживать-то? Особенно по сравнению с подходом "беру, генерирую код".

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

grexhideИ вот только не нужно. Набор атрибутов у Юр лиц - он как бы конечен (и фигурирует, как правило, в договорах).
Конечен. И безусловно, присутствует в ТЗ. И клиенты говорят "нафиг нам куча этих полей, уберите все, что нам не нужно, а зато мы хотим еще увидеть вот это". У моего тогдашнего начальства какое-то время бытовала бредовая с моей точки зрения мысль "мы сможем придумать такие атрибуты, которые устроят всех клиентов", но практика очень быстро доказала иное.

Надеюсь, Вы понимаете, что юр. лицо - это не только набор реквизитов для официальных бланков. Среди клиентов, например, тоже попадаются юр. лица.

grexhideтак это все - от банального непроработки предметной области (а то и вовсе халтуры).
Угу. Я уже рассказывал анекдот про машину для бритья?

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

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

О чем, собственно, и речь. Про CodeSmith слышал?

И что с того? Мне вполне хватает генератора кода через PL/SQL процедуры. Вот не поверишь - покрывает 120% мыслимых потребностей (в вопросе генерации заготовок UI в т.ч.)


Codenamed grexhideКастомизация - решается банальным наследованием (и последующей доработкой наследников).
А то и просто дублированием и заменой (формы).
А также добавление дополнительного кода, что неизбежно.
Ты можешь назвать более УДОБНОЕ средство, чем UI дизайнер Delphi или VS 2005 (к примеру)?
Или будешь свой ваять (заняться, что ли, больше нечем?)

Codenamed
grexhideХранение и доставка - на 101% достаточно и базовых средств (БД там и даром не нужна, впрочем, в БД никто не запрещает хранить и обновлять уже готовые, собранные модули).
И что же у тебя за базовые средства?
IIS или vsftpd сервер (для .EXE и .DLL). Обновление ПО - одна страничка кода на паскеле. Все.
Просто и гениально, работает всегда и везде.

Codenamed
grexhideЭто просто банальный регламент сопровождения и развития БД.
Ага, регламент, как же. Формы сгенерированы. Потом поменяли структуру данных. После этого формы придется править руками. Задача - упростить это действие.
Полная ахинея. Я добавил новое поле - а оно мне автоматом прыгнуло во все формы?
Ты это серьезно или пошутить так решил?


CodenamedПеред тем, как отвечать, можно ведь и почитать сначала, ага?
Что ага? Я по тем всем пунктам - ответил. Читай внимательнее.t]

Codenamed
grexhideМожет стоит покопать с другой стороны (всяк полезнее) - к примеру - в вопросах шаблонирования форм (высокоуровневые абстрактные заготовки)?

Да проработки структуры самих форм для возможностей беспроблемного наследования на местах (в случае кастомизации).

А может сделаешь и покажешь?

Извини, друк, я и так тебе идею подарил. А саму реализацию - ваял года три (в процессе). Чем обязан, дарить know-how?

Впрочем, могу огорчить. Полноценно эта идея реализуется пока только в Delphi. Даже VS.NET это - увы, песочница для нормального Visual Form Inheritance.

Codenamed
grexhideИ само слово - кастомизация - оно, извиняюсь, просто извиняюсь, ублюдочно.
На всякий случай повторю: речь идет об этапе разработки.

А я что, о чем то ином говорю? Хоть об этапе изначально разработки, хоть об этапе доработки на стадии внедрения - один хрен - ты не докажешь мне, что текстовый редактор, самострельный редактор или что то еще - будет лучше, чем изначальный UI дизайнер нормальной RAD среды (увы, это пока - только Delphi, если говорить про десктопные приложения)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702689
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, grexhide, с моей точки зрения, абсолютно правильно излагает.
Хотя и думает, что он здесь один умный :)

2softwarer: А как вы решили проблему с размерами контролов? То есть, буквально так: на форме есть поле, но его ширины не хватает для отображения текста. И еще одна ситуация: если вы вынуждены использовать комплексные самописные контролы, как вы поступаете?

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702693
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПо сути Вы сейчас незаметно заняли позицию начала топика - есть отрывочная метаинформация (список видимых контролов), и мы их легко и ненапряжно разместим. С тех пор как я сделал себе layout-ы, такую задачу можно решать, хотя все равно не очень хорошо. Но в тот момент layout-ов не было, а писать все это руками, да универсально, да так чтобы быть уверенным в результате... нафиг-нафиг. Я уж лучше использую UI Designer, тот самый, за который Вы ратовали буквально в прошлом письме.

Ну вот тут я еще могу согласиться. Сам сейчас занят темой layout (нормальных вообще не увидел в природе).

Впрочем, в данных аспектах - я бы не стал их применять.
Даже возвращаясь к теме ЮР лиц - я бы предпочел, к примеру, какое поле для ОКВЭД просто задизейблить (раз оно тут не нужно и вредно).
По той простой причине - что хрен его знает, сегодня не нужно, завтра нужно - строить не ломать, а не нужную тебе сейчас вещь из кладовки - куда проще, чем заново её идти покупать (тем более, изначально уже заплачено).

Тем не менее, и этот пример - все же притянут за уши. Впрочем, изначально я идею озвучивал несколько иначе - делается (и поддерживается) универсальное отношение, со всем мыслимым набором атрибутов. И на него же - делается абстрактная форма (Клиенты, Клиенты Юридические, Клиенты Физические, ну и т.д.).

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

...

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

Не думаю. Просто я уже успел вдоволь напрыгаться через грабли на этой теме, чтобы выработать некий опыт и позицию (иногда и слишком категоричную).

Хоть и судь методы очень проста - делай все проще, и не изобретай велосипеды.

Одно плохо - я намертво привязан к Delphi (и средства и производные техники). Аналогов ей пока нет, и (глядя на Orcas) - не предвидится в обозримой перспективе.

.....

Впрочем, это лишь моя позиция. Америкосы вон - предпочитают кодить все по месту, и не заворачиваются лукаво. Ибо нанять еще с десяток java-горемык или .net-студентов - куда проще,
чем лишний раз раскинуть мозгами на тему нормальных средств разработки UI.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702701
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide, ты, конечно умный, и во многом прав. Но ты тут не один такой умный.

Идею твою я понял, но подарить мне ее ты, к сожалению, никак не мог. Потому что я этой темой занимаюсь потихоньку все пять лет уже. И уже довольно давно доделал, да и не только это. Начинал, кстати, под Delphi, а потом ушел под дотнет, о чем не жалею.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702704
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedА как вы решили проблему с размерами контролов? То есть, буквально так: на форме есть поле, но его ширины не хватает для отображения текста. И еще одна ситуация: если вы вынуждены использовать комплексные самописные контролы, как вы поступаете?
Я, признаться, совершенно не понял, какие проблемы Вы имеете в виду. То есть - я не смог представить проблему с таким описанием, имеющим хоть какое-то отношение к сказанному ранее.

Не хватает ширины... зависит от ситуации. Может, сделаю поле многострочным. Может, сделаю выпадающий хинт с полным текстом. Может, решу, что не отвалятся руки просколлировать :)

Комплексные самописные контролы.... когда нужны - использую, опять же не вижу проблемы.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702706
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideХоть об этапе изначально разработки, хоть об этапе доработки на стадии внедрения - один хрен - ты не докажешь мне, что текстовый редактор, самострельный редактор или что то еще - будет лучше, чем изначальный UI дизайнер нормальной RAD среды

Ну, покажи мне пальцем, где я это хоть кому-то пытался доказать.

А если бы ты читал внимательно, то увидел бы:

Codenamed
- Первичная генерация форм (WEB, WinForms, Delphi) на основе хранящихся в БД метаданных или (более общий случай) описаний бизнес-объектов
- Доведение полученных заготовок до ума в штатной IDE

где штатная IDE в моем случае - VS 2005
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702707
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовМС сейчас выступает в качестве интегратора и стандартизатора обкатанных идей.

Microsoft занялся интеграцией (гетерогенных сисетем, да? с каких это пор?)

И стандартизацией? Это просто смешно.

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

А "свои" средства они рисуют очень просто - воруют чью-то идею (не раскрученную коммерчески), переделывают косметически (несовместимость - ключевое слово) и пытаются задвинуть как "прогресс" (вплоть до демпинга - я не удивлюсь, если они свою Team студию скоро бесплатно раздавать начнут).

В одном только их проблема - поезд их во многих областях - ушёл. Пробить рынок J2EE, тяжелых бизнес приложений или мейнфреймов - уже не удастся никогда. Так что пусть вон Windows и Office до ума доводят (у них, с выходом Vista и 2007 - и это стало получаться что то сильно хреново).

Или VB6 на VB.NET заменяют (типа в виде "революции"). Нам то что.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702708
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamedгде штатная IDE в моем случае - VS 2005
Хахаха раза два.... все, сорри. Тогда все понятно, спасибо.

Эту тему мы уже проходили. В VS 2005 нет (и не будет) нормального VFI (впрочем, и в Java стане).

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

Тогда как вы определяете (где задаете) контрол какого типа отвечает за какой атрибут, и какие размеры он должен иметь на форме?

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702712
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
А "свои" средства они рисуют очень просто - воруют чью-то идею (не раскрученную коммерчески), переделывают косметически (несовместимость - ключевое слово) и пытаются задвинуть как "прогресс" (вплоть до демпинга - я не удивлюсь, если они свою Team студию скоро бесплатно раздавать начнут).


Я ровно об этом и говорю. А студию гады уже давно должны дарить.
Хотя я никогда ничего н покупал. Денег на это нету.

grexhide
Так что пусть вон Windows и Office до ума доводят (у них, с выходом Vista и 2007 - и это стало получаться что то сильно хреново).


Скоро кроме Оффиса никаких бизнес приложений не будет. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702716
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedВы ведь реализовали механизм, позволяющий размещать на форме произвольное количество разнообразных контролов в соответствии с неким описанием?
Это слишком общая формулировка. Под нее попадает и то, что я сделал, и то, что я не собираюсь делать потому как считаю заведомо некачественным. Решать задачу "генерации интерфейса" я не собираюсь.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702718
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideЭту тему мы уже проходили. В VS 2005 нет (и не будет) нормального VFI (впрочем, и в Java стане).

Хе... вот теперь стало действительно интересно. И чего же такого нет и не будет в .NET и Java (да еще и никогда), и что есть в Delphi (который скоро умрет). Того, чего нельзя без напряжения реализовать с некривыми руками. Строго в плане "VFI".
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702721
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовСкоро кроме Оффиса никаких бизнес приложений не будет. :)

В 80-х годах - 90% информации хранилось в корпоративных БД, и только 10% - в нерегулярных файлах на персоналках.

Начиная с конца 90-х - ситуация сменилась на противоположную. Или не знал?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702731
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Сахават ЮсифовСкоро кроме Оффиса никаких бизнес приложений не будет. :)

В 80-х годах - 90% информации хранилось в корпоративных БД, и только 10% - в нерегулярных файлах на персоналках.

Начиная с конца 90-х - ситуация сменилась на противоположную. Или не знал?

grexhide, 80-х 90х никаких корпоративных БД не было (мож где то и был какой адабас). Мы усе хранили на лентах в трех копиях, на дисках которые не читались. 88 я демонтировал в своем отделе барабан магнитный вместе с Минск 32. Правда лежали какие то ленты с КАРС, ВИСТ,...
Потом пришел великое изобретение РОБОТРОН 1215??? с СПМ (Это после СВМ и ОСРВ).
Вот в эти 15-20 пришли корпоративные БД и скоро уйдут точно так же туда откуда пришли вместе с назойливым СКЛ и Дейтом. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702734
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов grexhide Сахават ЮсифовСкоро кроме Оффиса никаких бизнес приложений не будет. :)

В 80-х годах - 90% информации хранилось в корпоративных БД, и только 10% - в нерегулярных файлах на персоналках.

Начиная с конца 90-х - ситуация сменилась на противоположную. Или не знал?

grexhide, 80-х 90х никаких корпоративных БД не было (мож где то и был какой адабас). Мы усе хранили на лентах в трех копиях, на дисках которые не читались. 88 я демонтировал в своем отделе барабан магнитный вместе с Минск 32. Правда лежали какие то ленты с КАРС, ВИСТ,...
Потом пришел великое изобретение РОБОТРОН 1215??? с СПМ (Это после СВМ и ОСРВ).
Вот в эти 15-20 пришли корпоративные БД и скоро уйдут точно так же туда откуда пришли вместе с назойливым СКЛ и Дейтом. :)
Тфьу! Забыл про Дельфи недоделанный.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702736
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
Сходи на форум C#.NET и почитай. Самые длинный топики - строго об этом (в т.ч.).


Лень. Разве что линк кинешь. Архитектура WinFoms в целом проще, чем VCL. Те ограничения, которые есть, лично мне ни разу не мешают. Все создание новых форм сводится к добавлению на них контролов в штатном редакторе VS 2005 и указанию контролам, за какие атрибуты бизнес-объекта они отвечают. То есть, в полной мере декларативный подход. При необходимости можно добавить код.

grexhideПро скорую смерть Delphi - посмеялся отдельно. Это скоро - размазывается соплями по лицу (в основном студентами) - уже как бы не с 2001-го года.

Delphi умрет не потому, что плоха, а потом что маркетинг. MS их дожмут.

Студию, кстати, временами раздают бесплатно. Мне вот дали.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702740
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов grexhide Сахават ЮсифовСкоро кроме Оффиса никаких бизнес приложений не будет. :)

В 80-х годах - 90% информации хранилось в корпоративных БД, и только 10% - в нерегулярных файлах на персоналках.

Начиная с конца 90-х - ситуация сменилась на противоположную. Или не знал?

grexhide, 80-х 90х никаких корпоративных БД не было

Речь шла о буржуинах.

Может быть и не было в г.Орел Орловской обл. РСФСР, в чем я, если честно, сильно сомневаюсь.

Но я сам лично разбирал старые завалы от своего ВЦ, которое благополучно разогнали и разворовали в начале 90-х.

И с удивлением обнаружил просто бесценные материалы (увы, лишь фрагменты). Гласящие о планировании производства, загрузке оборудования, расчёта потребности в материалах (ничего слова не напоминают, а?).

Специально выдернул программистку-пенсионерку (чудом уцелела) - и выпытал. Да, все это работало. На ЕС-ках. И не в виде фильниной грамоты (как сейчас после трех лет внедрения ЕРП, а реально).

--

Так что не надо ляля.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702743
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed grexhide
Сходи на форум C#.NET и почитай. Самые длинный топики - строго об этом (в т.ч.).


Лень. Разве что линк кинешь. Архитектура WinFoms в целом проще, чем VCL. Те ограничения, которые есть, лично мне ни разу не мешают. Все создание новых форм сводится к добавлению на них контролов в штатном редакторе VS 2005 и указанию контролам, за какие атрибуты бизнес-объекта они отвечают. То есть, в полной мере декларативный подход. При необходимости можно добавить код.

1:1 в Delphi ж)

--

В двух словах - в .NET до сих пор нет нормальных средств работы с БД (lazy fetch). Нет нормального редактора, поддерживающего визуальное наследование форм (есть что то, не сильно внятное - подробности - в топиках).

Будущее WPF - очень туманное, и даже сейчас он выглядит уродцем даже на фоне WinForms.

------

В Java ситуация иная. С базами данных там чуть получше, но нормальных средств для UI там нет вообще. SWT - да, похоже, но он находится на уровне даже не Delphi 1.0, а чего то более примитивного и древнего (OWL, что ли).

Delphi/Codegear опасаются буржуи по простой причине - вокруг нее не получилось у Borland создать инфраструктуру (курсы, сертификации, подвязку под колледжи и пр.). Говоря проще - в штатах с Delphi просто некому работать. Вот и все.

У нас было проще - народ выбирал больше головой, а не модой. Потом пришла мода. На .NET. Но она - всего лишь мода. Сам .NET пока не перекрывает Delphi (впрочем, имеет массу моментов, которых в Delphi просто нет или не развито, в основном в части ASP.NET средств и middleware).

Codenamed grexhideПро скорую смерть Delphi - посмеялся отдельно. Это скоро - размазывается соплями по лицу (в основном студентами) - уже как бы не с 2001-го года.
Delphi умрет не потому, что плоха, а потом что маркетинг. MS их дожмут.
Студию, кстати, временами раздают бесплатно. Мне вот дали.

Не дожмут. И даже если "дожмут". Они вот Netscape "дожали", тем не менее, FireFox уже занимает 40% инсталляций в ЕС, а про IIS (vs apache ) - говорить можно строго отдельно.

Так что кончай панику разводить. Все с Delphi будет нормально.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702757
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
И с удивлением обнаружил просто бесценные материалы (увы, лишь фрагменты). Гласящие о планировании производства, загрузке оборудования, расчёта потребности в материалах (ничего слова не напоминают, а?).


Я сказал, что не было корпоративных БД, а не то что не было бесценных материалов. Мой отдел (скажу нескромно, я начальствовал(начальникм больше платили, да 40 литров спирта как валюта свою роль играла железно :) )) вместе с Воронежским ГУ разработал такое "Оперативное управление производством", что ЕРП и МЕСам нынешним и не снилось. А регистраторы стояли в каждом участке и оперативно вводили данные о выполнении операций, народ ходил через автоматизированную проходную и зарплату мы считали точно к 30-31 числу.
Так что не надо ля-ля. :)
А вот на СМках были - Сетор, что-то еще не помню, где то в 83 году мы автоматизировали цех термопластавтоматов (АСУТП + планирование) с болгарами (забыл название системы, надо будет вспомню) вот там была БД сетевая. Да и КАРС был по моему двойником IBM DB (иерархическая БД).
Просто советы рушились, я продал 1022 и 1035 золотодобытчикам и купил 8 ХТ, 1 АТ, плоттер и комплекс по автоматизации разработки техпроцессов местной фирмы на ИСКРЕ и что-то еще и начали все с 000000!
Во!
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702760
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, КАРС был реляционным, а иерархическим и был IBM DB.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702763
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
В двух словах - в .NET до сих пор нет нормальных средств работы с БД (lazy fetch). Нет нормального редактора, поддерживающего визуальное наследование форм


Не думаю, что для тебя это сюрприз, но в Delphi тоже нет нормальных средств работы с БД. То, что там предлагается используют разве что студенты, когда надо по-быстрому сваять лабу. Ну или разработчики на уровне этих студентов.

Полноценной поддержки визуального наследования в студии действительно нет. Но, например, лично я сталкивался с этим ограничением только один раз, да и то когда хотел выпендриться.

grexhideна уровне даже не Delphi 1.0, а чего то более примитивного и древнего (OWL, что ли).

Кто-то еще помнит OWL? Отрадно!

grexhideСам .NET пока не перекрывает Delphi (впрочем, имеет массу моментов, которых в Delphi просто нет или не развито, в основном в части ASP.NET средств и middleware).

Во-первых, ты сам себе противоречишь. Во-вторых, похоже, плохо знаешь, что такое .Net.

grexhide
Так что кончай панику разводить. Все с Delphi будет нормально.


Они и сами понимают, что дело труба. Свидетельство тому - порт их VCL на .Net и убогая BDS.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702764
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовВо!
Да, все так и было. По словам очевидцев. Только СМки применяли больше для АСУТП-ных задач вроде.

Тем не менее. Даже у буржуинов сейчас львиная доля финансовых транзакций щелкается на мейнфреймах. Чего бы они тогда так сильно проблемой 2000 обзадачивались?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702766
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed grexhide
В двух словах - в .NET до сих пор нет нормальных средств работы с БД (lazy fetch). Нет нормального редактора, поддерживающего визуальное наследование форм


Не думаю, что для тебя это сюрприз, но в Delphi тоже нет нормальных средств работы с БД. То, что там предлагается используют разве что студенты, когда надо по-быстрому сваять лабу. Ну или разработчики на уровне этих студентов.

Конечно сюрприз. Что для тебя является нормальным? ORM?

Codenamed
grexhideСам .NET пока не перекрывает Delphi (впрочем, имеет массу моментов, которых в Delphi просто нет или не развито, в основном в части ASP.NET средств и middleware).
Во-первых, ты сам себе противоречишь. Во-вторых, похоже, плохо знаешь, что такое .Net.
И что это такое? ж)

Codenamed
grexhide
Так что кончай панику разводить. Все с Delphi будет нормально.

Они и сами понимают, что дело труба. Свидетельство тому - порт их VCL на .Net и убогая BDS.
BDS 2006 - рабочий продукт. Я на нем работал весь 2006-й год. Сейчас ушел на 2007. Сыровато, но значительно лучше, чем даже на 7-ке.

Проект VCL.NET скоро они закроют. От поддержки WinForms уже отказались (в виду неактуальности), за остальным - вот увидишь, дело не завянет (чего то там сейчас пыжатся с Tiburion, но, уверен, когда прослезятся с продаж, окончательно забьют и на это).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702772
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
Во-первых, ты сам себе противоречишь. Во-вторых, похоже, плохо знаешь, что такое .Net.


Увы нет. Есть такое понятие - теория множеств. Там где они не пересекаются - и спорить не о чем (не в .NET lazy fetch и точка, и не будет, потому как в ASP.NET он не нужен, а переделывать - поздно).

А вот в том что пересекается - реализация пока лучше в Delphi, он просто более зрел.
Да и один GDI+ чего стоит, который тормознее, чем просто GDI раз так в 30-ть.

-

Да, задумки в .NET не плохие (масштабиремые контролы WPF, к примеру). Но, увы, неактуально.
Да, интересная идея о JIT компиляции, рефлекшине, емите и прочем. Для скриптовых языков (типа написать свою 1С) - выглядит заманчиво. Но, на практике вообще не нужно.

Что там еще осталость? Remoting?

Ну да, еще все бывшие VCL компонентописатели дружно начали .NET версии строгать (кушать то хочется). Ну и пусть строгают, нам то что (я как то уже третий год не вижу ничего стоящего,
те же DevEx-ы новые - и вовсе, вызывают лишь панический ужас, просто от просмотра того, что
именно они сейчас пишут).

Итого?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702774
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
Конечно сюрприз. Что для тебя является нормальным? ORM?


Ты сам пользуешься тем, что по умолчанию есть в делфи? И тебе этого хватает? Тогда думаю мы закроем этот топик и дружно забьем на все дотнеты и жабы.

grexhideИ что это такое? ж)
RTFM. Читать тут: MSDN, великий и ужасный .

grexhideBDS 2006 - рабочий продукт. Я на нем работал весь 2006-й год. Сейчас ушел на 2007. Сыровато, но значительно лучше, чем даже на 7-ке.
Есть у нас те, кто с ЭТИМ работает. Я им искренне сочувствую.

grexhideПроект VCL.NET скоро они закроют

Надеюсь.

grexhideза остальным - вот увидишь, дело не завянет

Пока что я часто вижу логотипы Borland на презентациях Microsoft, и радостные реляции, что борланд много для них сделала.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702776
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Сахават ЮсифовВо!
Да, все так и было. По словам очевидцев. Только СМки применяли больше для АСУТП-ных задач вроде.

Тем не менее. Даже у буржуинов сейчас львиная доля финансовых транзакций щелкается на мейнфреймах. Чего бы они тогда так сильно проблемой 2000 обзадачивались?

Да этодругие мейнфреймы. Нам была разнарядка на какой-то ЕС-1090???, так и не успели получить. Там уже были совершенно другие ТТХ. А у буржуев было намного лучше машины.
А наши быди рухлядь. Каждый день по 10 раз меняли ТЭЗы, пинали уже ногами, каждое утро юстировали диски и т.д.. 6 элетромехаников занимались с 4 печатающими устройствами. У меня было в штате 18 элетронщиков и механиков. Отдел состоял из 110 человек и занисал двухэтажный особняк в промобъединении, где работал 4000 чек.
Ладно, что-то я разоворился. :(
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702781
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed grexhide
Конечно сюрприз. Что для тебя является нормальным? ORM?


Ты сам пользуешься тем, что по умолчанию есть в делфи? И тебе этого хватает? Тогда думаю мы закроем этот топик и дружно забьем на все дотнеты и жабы.

Нет конечно. Базового - только 10-20%. Остальное летит в корзину. Набор же стандартный - ODAC (недавно уже и AnyDAC), DevEx строго выборочно, NativeExcel, ну и так, по мелочи.
Codenamed
grexhideИ что это такое? ж)
RTFM. Читать тут: MSDN, великий и ужасный .

Ты по русски скажи - чего у тебя там такого особо ценного то есть? Из за чего тебе не приходится
жалеть, что отказался от Delphi. Я вон страниц на 100 уже пытал .NET-чиков - ни один так и не раскололся.

Codenamed
grexhideBDS 2006 - рабочий продукт. Я на нем работал весь 2006-й год. Сейчас ушел на 2007. Сыровато, но значительно лучше, чем даже на 7-ке.
Есть у нас те, кто с ЭТИМ работает. Я им искренне сочувствую.

А я вполне искренне сочувсвую бедолагам, которые кодят на Java, .NET и на Forms. И что с того?

Codenamed
Пока что я часто вижу логотипы Borland на презентациях Microsoft, и радостные реляции, что борланд много для них сделала.

.NET - это "второй проект" Borland. Не знал, что ли?
Что такое "второй проект" - почитай Брукса, познавательное чтиво.

Проблема только в том, что у них понятие "второй" - растягивается (с сочувствием глядя на "совместимость" подходов .NET 1.1, 2.0, 3.0 и уже 3.5) и на демонстрацию "преимуществ" .NET в практике Vista и не только.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702783
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideУвы нет. Есть такое понятие - теория множеств. Там где они не пересекаются - и спорить не о чем (не в .NET lazy fetch и точка, и не будет, потому как в ASP.NET он не нужен, а переделывать - поздно).

А вот в том что пересекается - реализация пока лучше в Delphi, он просто более зрел.
Да и один GDI+ чего стоит, который тормознее, чем просто GDI раз так в 30-ть.

Уж если говорить в терминах теории множеств, то делфи конкурирует с небольшим подмножеством большого дотнета - Windows.Forms. То, что в делфи что-то реализовано лучше - чисто субъективное мнение. Ты не можешь сравнивать, пока не делал серьезных вещей и на том, и на том.

А lazy fetch действительно не нужен в ASP.NET. Более того, он вообще не очень нужен.

Если ставить современное железо - тормознутость GDI+ просто незаметна. А не ставить современное железа повода нет обычно.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702786
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГoлдунНе хочется показаться занудой, но может тему про Net, Delphi и т.д. отдельно сделать?
Тут вроде как "Построение интерфейса приложения из БД". Понятно, что все это сильно переплетается, но тем не менее...

Да, Вы правы. Возвращаясь к нашим баранам. Тут о WYSIWYG отчётах говорили:)

Представьте себе такой себе отчётик с 80+ параметрами фильтрации (половина из них - сложные )

Структура колонок - многоуровне-динамическая.

Как там с WYSIWYG?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702792
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drevКак там с WYSIWYG?
Я не представляю.
Если ты представляешь - так представь, а мы посмотрим. На кой оно, чудо-юдо эдакое.

Заодно и гвоздей позабиваем. В целесообразность и юзабилити.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702801
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedУж если говорить в терминах теории множеств, то делфи конкурирует с небольшим подмножеством большого дотнета - Windows.Forms.
А тебе нужно что то еще? Озвучил бы, а?

Codenamed Ты не можешь сравнивать, пока не делал серьезных вещей и на том, и на том.
В смысле? Ты мне запрещаешь, что ли? Честно говоря - я этого вообще не понимаю. Неужели нужно прыгнуть с крыши дома, только для того, чтобы понять - что это смертельно опасно?

CodenamedА lazy fetch действительно не нужен в ASP.NET. Более того, он вообще не очень нужен.
Да, в идиотских Web интерфейсах - он не нужен. По поводу вообще не нужен - это ты
загнул. Впрочем.... ну хоть бы softwarer-а спросил, нужен он ему, или нет ж)))))))

Codenamed
Если ставить современное железо - тормознутость GDI+ просто незаметна. А не ставить современное железа повода нет обычно.

Бла бла бла... Поверь, там не все ограничивается и решается мощным железом.
Тем не менее, от того, что я поставлю на рабочие места бухгалтеров Nvidia 8800 и Quad Core - разница будет все равно видна. Delphi приложения - не станут работать медленнее, а .NET поделия - быстрее (в относительных попугаях). А уж тем более - на тупых задачках рисования UI междумордий.

А JIT-оптимизации под платформу - это все фонарь и сказки для маленьких.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702802
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
Нет конечно. Базового - только 10-20%. Остальное летит в корзину. Набор же стандартный - ODAC (недавно уже и AnyDAC), DevEx строго выборочно, NativeExcel, ну и так, по мелочи.


Я, собственно, про lazy fetch

grexhideТы по русски скажи - чего у тебя там такого особо ценного то есть? Из за чего тебе не приходится жалеть, что отказался от Delphi. Я вон страниц на 100 уже пытал .NET-чиков - ни один так и не раскололся.

1. Субъективно - на порядок более удобная и производительная IDE. Отдельно погугли JetBrains ReSharper.
2. Намного лучший язык программирования. Очень намного лучший.
3. Богатейший фреймворк. Одни только графика, веб-сервисы и криптография чего стоит.
4. Настоящая многоплатформенность. Это сэкономило дикое количество времени сил и нервов, когда встала необходимость разрабатывать приложения для мобильных устройств на базе Windows CE. Благодаря дотнету, это можно делать в той же IDE с несколько урезанной, но все же версией того же фреймворка.
5. На порядок большее, чем в делфи, удобство разработки собственных компонентов и элементов управления.

Это что сразу вспомнилось.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702803
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide drevКак там с WYSIWYG?
Я не представляю.
Если ты представляешь - так представь, а мы посмотрим. На кой оно, чудо-юдо эдакое.

Заодно и гвоздей позабиваем. В целесообразность и юзабилити.

Для поиска людей, например.

Показать, как сам понимаешь - не могу. Дай волю воображению.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702808
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedЭто что сразу вспомнилось.
Это и все? Пока я увидел только субъективно-вкусовые предпочтения.

Про "настоящую" кроссплатформенность ты вообще загнул и отжег (впрочем, знаешь, у меня есть коммуникатор вроде на WM5.0, так что о роли .NET-а там ты хоть не заикался бы? Это уродство (.NET CF) просто не работает, вернее я бы не рискнул назвать это - работой).

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

Вспоминаются только генерики и класс хелперы. Ну... да, возможно они и полезны. Для закрывания дыр изначально кривых дизайнов. Но как то знаешь, для UI бизнес-приложений от них - аж никак не холодно и не жарко.

--

Вспоминай еще, озвученное - не аргумент.

Мой же аргумент - ты не можешь толком использовать VFI. Из за этого - вынужден вон заниматься генерилками форм в БД. Самому хоть не смешно, а?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702809
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drevПоказать, как сам понимаешь - не могу. Дай волю воображению.

Т.е. ты задвинул идею, а теперь предлагаешь мне её развить, потому что сам не можешь закончить мысль?

А на кой заикался вообще? Изначально?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702811
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideЧестно говоря - я этого вообще не понимаю. Неужели нужно прыгнуть с крыши дома, только для того, чтобы понять - что это смертельно опасно?

Прыгать с высоты 800 метров вроде как еще опаснее. А я прыгал, да не раз. И ничего, живой. И с крыш сигают только так. :)

Так что дело в экипировке и подготовке.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702814
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide просто надо что-нить написать на НЕТ и все. Потом хрен оторвешь. Понимаю, что багажа жалко, может заказов новых нет или не может уйти от обслуживания. Но надо. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702815
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
1. Субъективно - на порядок более удобная и производительная IDE. Отдельно погугли JetBrains ReSharper.

Не поленился, посмотрел... http://www.jetbrains.com/resharper/features/index.html

Половина из этого - есть и в самой IDE, остальное есть в сторонних расширениях (ну кроме XAML разве).

Так на что смотреть то?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702817
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифовgrexhide просто надо что-нить написать на НЕТ и все. Потом хрен оторвешь. Понимаю, что багажа жалко, может заказов новых нет или не может уйти от обслуживания. Но надо. :)

Все верно. Хочу, если честно. Но действительно не могу. И не могу понять тех людей, которые ушли.
Студентов - могу понять, у них и так ветер в голове и отсуствие понимания в необходимости и сути тех
или иных средств.

Но не более того. А отказываться в силу более убогих технологий? А смысл?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702818
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideСамому хоть не смешно, а?

Конечно смешно, сижу и прусь от твоей неземной крутости.

grexhideЭто уродство (.NET CF) просто не работает

Странно, у меня вот работает. И на Mobile 5.0 тоже. Что я делаю не так?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702820
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide drevПоказать, как сам понимаешь - не могу. Дай волю воображению.

Т.е. ты задвинул идею, а теперь предлагаешь мне её развить, потому что сам не можешь закончить мысль?

А на кой заикался вообще? Изначально?

Я привёл пример реального отчета, который сеичас не могу выложить в виде скриншота. Так понятно?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702823
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
Половина из этого - есть и в самой IDE, остальное есть в сторонних расширениях (ну кроме XAML разве).
Так на что смотреть то?

Вот это другой разговор. Во-первых, это и есть стороннее расширение. Во-вторых, рефакторинг появился в студии начиная с 2005. Решарпер был сделан для 2003, а потом частично скоммунизжен (или куплен) и реализован в 2005. Опять же, читать мало, надо пробовать, такого больше нигде нет, насколько я знаю.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702824
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифовgrexhide просто надо что-нить написать на НЕТ и все. Потом хрен оторвешь.
Сахават, не надо сказок, а? На "надо что-нить написать на НЕТ" я убил кучу времени, и понял, что НЕТ, не пригоден он для написания, ни в каком ракурсе. Не то что даже "не нравится", а просто не способен решить поставленную задачу.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702827
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Сахават, не надо сказок, а? На "надо что-нить написать на НЕТ" я убил кучу времени, и понял, что НЕТ, не пригоден он для написания, ни в каком ракурсе. Не то что даже "не нравится", а просто не способен решить поставленную задачу.

А что за задача была, если не секрет? :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702829
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed1. Субъективно - на порядок более удобная и производительная IDE.
Очень субъективно. Поработав в VS2005, я понял, что BDS200? - вовсе не такие уж тормоза. Некоторые вещи в ней хороши, например мне понравился autocomplete, пожалуй лучший из тех, что я видел. Некоторые - ну назовем так...

Codenamed2. Намного лучший язык программирования. Очень намного лучший.
Ха-ха-ха-ха-ха.

Лучше Явы - да. Не слишком хуже дельфы - пожалуй. Хотя свойства сделаны идиотски, конструкторы-деструкторы традиционно плохи, в целом программы читаются.. лучше многих. Пожалуй, я бы оттуда свистнул ConditionalAttribute, остальное - так..

Codenamed3. Богатейший фреймворк.
В котором отсутствует даже Action.

CodenamedЭто сэкономило дикое количество времени сил и нервов, когда встала необходимость разрабатывать приложения для мобильных устройств на базе Windows CE.
О, тут все прелести впереди. Про яву, благодаря которой на любом телефоне - тоже слышал. И видел человека, который пытался этого достичь.

Codenamed5. На порядок большее, чем в делфи, удобство разработки собственных компонентов и элементов управления.
Есть пара возможностей, обусловленных природой интерпретатора. В остальном.... ну-ну, я бы сказал.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702830
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedА что за задача была, если не секрет? :)
Да вроде здесь же рассказывал.

Дано: СУБД Oracle, готовая серверная часть с активным использованием объектных фич.
Надо: GUI-клиента с DevExpress или аналогичным по фичастости интерфейсом.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702831
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Очень субъективно.

Все субьективно :)

softwarerВ котором отсутствует даже Action.

Вот тут вы меня зацепили, да... Жутко обидно было, что их нет в дотнете. Это единственное, о чем я жалею, уйдя с делфи. Пришлось изобретать велосипед, и не очень удачно.

softwarerИ видел человека, который пытался этого достичь.

Я - человек, который этого достиг :) И знаю других, кто этого достиг.
И безусловно радуюсь, что больше этим не занимаюсь. Но точно могу сказать, что без этого было бы намного хуже. На делфи точно не напишешь ;)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702832
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer CodenamedА что за задача была, если не секрет? :)
Да вроде здесь же рассказывал.

Дано: СУБД Oracle, готовая серверная часть с активным использованием объектных фич.
Надо: GUI-клиента с DevExpress или аналогичным по фичастости интерфейсом.
Либо я уже устал, либо что-то.
В чем проблема, дайте ссылку.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702833
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerДа вроде здесь же рассказывал.

Так а узкие места-то где были? Если в дев-экспрессе, то виноват точно не дотнет.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702834
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed softwarerДа вроде здесь же рассказывал.

Так а узкие места-то где были? Если в дев-экспрессе, то виноват точно не дотнет.
Нет там узких мест никаких.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702835
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовНет там узких мест никаких.

Задам вопрос по-другому: что именно в дотнет коренным образом сделало невозможным реализацию аналогичной системы на дотнете?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702836
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовЛибо я уже устал, либо что-то. В чем проблема, дайте ссылку.
Проблема в том, что такая цепочка просто не выстраивается. Существующие .NET-библиотеки не умеют работать с оракловыми объектами. В Delphi.NET можно использовать ODAC, который умеет - но отсутствует вменяемый DevExpress. Попытка совместить технологии - типа здесь играем так, здесь эдак, работаем через ODAC, но с Dataset-моделью данных - вполне естественно приводят к необходимости масштабной работы напильником с сомнительным результатом.

В общем, после полутора месяцев нащупывания пути поняли, что надо выбросить слабое звено.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702837
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават ЮсифовНет там узких мест никаких.

Задам вопрос по-другому: что именно в дотнет коренным образом сделало невозможным реализацию аналогичной системы на дотнете?
Это софтвареру :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702838
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават ЮсифовНет там узких мест никаких.

Задам вопрос по-другому: что именно в дотнет коренным образом сделало невозможным реализацию аналогичной системы на дотнете?

Клиент делает произвольный, но некорректный запрос, сервер возвращает несуразное количество строк (миллиона два.. десятка).
Понеслась - решение проблемы в студию.


Проблема:

В Delphi результат запроса открывается моментально, никто в обморок не падает.

В ADO.NET результат возвращается через пятнадцать минут, но... в виде сообщения OutOfMemory.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702839
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedТак а узкие места-то где были? Если в дев-экспрессе, то виноват точно не дотнет.
Заказчику, простите, плевать "кто виноват". Ему интересно - можно сделать программу или нельзя. Из вариантов "полностью переделать давным-давно работающую серверную часть", "ограничиться убогим интерфейсом" и "плюнуть на .NET" - угадайте, что ему понравится больше?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702841
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Codenamed Сахават ЮсифовНет там узких мест никаких.

Задам вопрос по-другому: что именно в дотнет коренным образом сделало невозможным реализацию аналогичной системы на дотнете?

Клиент делает произвольный, но некорректный запрос, сервер возвращает несуразное количество строк (миллиона два.. десятка).
Понеслась - решение проблемы в студию.


Проблема:

В Delphi результат запроса открывается моментально, никто в обморок не падает.

В ADO.NET результат возвращается через пятнадцать минут, но... в виде сообщения OutOfMemory.

Хе-хе!
А девки не датут клинету качать миллионы записей.
Да они воще работают без АДО :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702842
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават ЮсифовНет там узких мест никаких.

Задам вопрос по-другому: что именно в дотнет коренным образом сделало невозможным реализацию аналогичной системы на дотнете?

Кстати, на ASP.NET озвученная проблема выше также актуально. Дебильный DataGridView по умолчанию потянет ВСЕ записи из запроса (в нем проблема решается, но также, через задний проход - явным ограничением количества строк в запросе).

Про "дружбу" с Oracle заикаться можно отдельно. Особенно - в умильной идиотичности dicronnectable модели (по дефолту... и практически без вариантов).


--

Мало? Но все это - migration stopper-ы (в т.ч. и VFI) Будут исправлены? Нет, не будут. С чем Вас и поздравляю.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702843
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовХе-хе!
А девки не датут клинету качать миллионы записей.
Да они воще работают без АДО :)
Они могут работать через что угодно, вопрос не в этом.
Вопрос - в количестве прилагаемых усилий для достижения результата.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702844
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerугадайте, что ему понравится больше?

Логично. Делать надо на том, на чем проще сделать. Ну, или вообще, можно.
В данном случае - на делфи. Дотнет - это ж инструмент. Где-то подходит, где-то нет.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702845
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, и не надо ляля.

Девки - испокон веков тупо свои данные дублируют (только недавно их древние DevEx 3.22 отучил от этого непотребства, заставив напрямую смотреть в буфера дейтасета).
Но данные они норовят забрать целиком (в вопросе - выдай-ка мне список для фильтрации).

Опять сказками для детишек кормите. Ну не пройдет сей фокус, ей богу.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702849
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedВ данном случае - на делфи. Дотнет - это ж инструмент. Где-то подходит, где-то нет.
Вот он и подходит. Чудакам, которым не судьба освоить JSP и J2EE как таковой.

Т.е. эдакая тулза, чуть получше, чем PHP, но таки не дотягивающая до вменяемого уровня
корпоративных веб серверов (почитай что такое BEA, к примеру, для начала).

Про лондонские биржи слышали. Толку только с того (поулыбавшись со 150 серверов).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702851
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideДебильный DataGridView

Вообще-то, за возвращаемый миллион строк надо отрывать голову дебильному разработчику.
Но специально на такой случай в дотнете есть DataReader, которым ты сам можешь получать рекордсет построчно и остановиться, когда надоест. А в DataGridView в WinForms предусмотрен виртуальный режим.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702854
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed grexhideДебильный DataGridView

Вообще-то, за возвращаемый миллион строк надо отрывать голову дебильному разработчику.
Но специально на такой случай в дотнете есть DataReader, которым ты сам можешь получать рекордсет построчно и остановиться, когда надоест. А в DataGridView в WinForms предусмотрен виртуальный режим.

Про это мы уже слышали, ничего нового ты не сказал.
Одна беда - никто не смог показать, как это работает на практике.

...

За миллион строк - ну ты можешь конечно, кому голову оторвать. С себя начав, к примеру (вот пробегись по формочкам, да посмотри, где у тебя может пользователь вполне легально запросить данные всех периодов за последние 15-ть лет),
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702857
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideгде у тебя может пользователь вполне легально запросить данные всех периодов за последние 15-ть лет),

Не хочется тебя расстраивать, но у меня таких дыр нет. О тебе этого явно не скажешь.
Дать юзеру АРМ, который позволяет делать такой запрос - значит сунуть ему недоделанный полуфабрикат.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702859
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовЛадно. Каждому свое.
Угум. Про кривой изначальный дизайн - лучше не думать и не слышать. Чего уж там ;)

-

Просто не говорите в следующий раз про "отсутствие" проблемы. Проблема есть, и она фундаментальна (попробуйте вспомнить, как работают с БД все классические средства - от dBase/FoxPro, Oracle Forms и т.д.)

Именно - в части работы с оперативной памятью как таковой.

В вопросе - нахрен на клиентском рабочем месте - гигабайты оперативной памяти (вспоминая 95-й год и сервер Oracle, на 32-х мегабайтах обслуживавший две сотни пользователей).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702861
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed grexhideгде у тебя может пользователь вполне легально запросить данные всех периодов за последние 15-ть лет),

Не хочется тебя расстраивать, но у меня таких дыр нет. О тебе этого явно не скажешь.
Дать юзеру АРМ, который позволяет делать такой запрос - значит сунуть ему недоделанный полуфабрикат.

Молодец. И как решаешь, если не секрет?
Экспертную систему придумал, которая строит прогнозы на количество данных и бъет пользователя по рукам в случае "нечего то там"?

Или тупо запрещаешь запросить более одного месяца (даже когда нужно)?
Не задалбывает пользователям получать 15x12 отчетов вместо одного? А?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702862
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
Или тупо запрещаешь запросить более одного месяца (даже когда нужно)?
Не задалбывает пользователям получать 15x12 отчетов вместо одного? А?

Ухаха, я так и представляю себе пользователя, стремительно прокручивающего 12 миллионов записей и проверяющего итоговую сумму по какому-нибудь стобцу)))
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702866
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
Ухаха, я так и представляю себе пользователя, стремительно прокручивающего 12 миллионов записей и проверяющего итоговую сумму по какому-нибудь стобцу)))
Нет, итог при достигнутом "слету" количестве записей более лимита (не смоли увидеть .EOF - значит внизу яма) - считается отдельным запросом.

Но ты не ответил на изначальный вопрос.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702870
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideНо ты не ответил на изначальный вопрос.

Пользуясь языком твоей любимой теории множеств, отвечаю: множества ситуаций "когда нужно" и "out of memory" не пересекаются. Если надо конкретно много данных, то они грузятся в бэкграунде и только потом отображаются. Но такого, что запрос возвращает миллионы строк - не бывает никогда.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702871
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedЕсли надо конкретно много данных, то они грузятся в бэкграунде

Ой..йо... Это вас компания Бени Гейца так с данными работать то учит? Впрочем, вспоминая их чудо MS SQL S ы rver
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702875
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide CodenamedЕсли надо конкретно много данных, то они грузятся в бэкграунде

Ой..йо... Это вас компания Бени Гейца так с данными работать то учит? Впрочем, вспоминая их чудо MS SQL S ы rver

Держите. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702880
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний гвоздь.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702891
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовПоследний гвоздь.

Понятно. И если нам нужны будут несколько страниц одновременно, мы будем туда-сюда гонять запросы?

Цирк да и только. Пишите ещё.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702893
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Сахават ЮсифовПоследний гвоздь.

Понятно. И если нам нужны будут несколько страниц одновременно, мы будем туда-сюда гонять запросы?

Цирк да и только. Пишите ещё.

Ну и спорщик. :) Это обыкновенный курсор двунаправленный и им управлят не надо.
Ладно кончаю рекламу девок.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702894
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовНу и спорщик. :) Это обыкновенный курсор двунаправленный и им управлят не надо. Ладно кончаю рекламу девок.
Вот так бы сразу ;) Тем более, было бы что рекламировать.

..

А ведь правильных паттернов всего два - unidirect и fetch until.

А двунаправленность эта... точно что дежаву. В BDE значит сцаными тряпками
её забросали, а тут вона как - прогрессивная идея.

А платить то (за несогласованные источники данных по чтению за счёт
нескольких запросов) кто будет?

///

Это не решения, это безграмотные подобия оных (как и половина .NET-а).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702942
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
..


Посмотрим, что softwarer скажет, для него вроде самый раз. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34702956
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовНу и спорщик. :)

Ему просто обидно, что с ним, самым умным, проконсультироваться забыли))

А DevExpress - это и правда перебор. Когда смотришь на их супергриды, хочется порезать их к чертям собачьим, убрать все лишнее и только потом пользоваться. Я хочу иметь контролы, которые делаю ровно то, что мне нужно для текущей задачи.

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

Интересно, кстати, как grexhide решил бы задачу написания интерфейса Office2007-style на его ненаглядном делфи) Для нее ribbonы есть?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703027
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
Ему просто обидно, что с ним, самым умным, проконсультироваться забыли))

А DevExpress - это и правда перебор. Когда смотришь на их супергриды, хочется порезать их к чертям собачьим, убрать все лишнее и только потом пользоваться. Я хочу иметь контролы, которые делаю ровно то, что мне нужно для текущей задачи.


Да ему просто обидно. На Дельфи наверное мастер, а тут опять придется учится. :)
Нельзя привыкать к хорошему, а то лучшего не увидешь.
После Клиппера Дельфи по части работы с БД казалась просто дикостью.
А воще мне там не нравится то, что приходится пользоваться кучей чужих вещей, а потом мучится с переходом на новые версии. Оппнент наверное на Д3 пишет до сих пор.
А девки крутые, что не говори. Кажись они и для явы что-то делали, а то на яве даже грида никакого нет.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703031
z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
z
Гость
Codenamed
Интересно, кстати, как grexhide решил бы задачу написания интерфейса Office2007-style на его ненаглядном делфи) Для нее ribbonы есть?
Для нее ribbonы есть?

(шёпотом)
они даже для Java Swing появились. Причем в качестве OpenSource (проект Flamingo)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703044
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовА девки крутые, что не говори

Я когда выбирал, на что мне завязываться, посмотрел в первую очередь DevExpress'овские компоненты. А потом плюнул и сделал нужный грид на основе стандартного DataGridView (см. скриншот). Потому что хорошо - это когда просто, и ничего лишнего. А когда захотелось красивостей (см. оффис 2007) я тоже смотрел несколько наборов компонентов: DevExpress, Telrik, DevComponents.

Самый красивый Ribbon был у Telrik'а, но на него нельзя было кидать собственные контролы. DevExpress'овский мне тоже не понравился, не помню уже, почему. Остановился на DevComponents, потому что они делают свои контролы строго на замену стандартных. То есть, функционал точно такой же, но можно настроить внешний вид.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703146
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed Сахават ЮсифовА девки крутые, что не говори

Я когда выбирал, на что мне завязываться, посмотрел в первую очередь DevExpress'овские компоненты. А потом плюнул и сделал нужный грид на основе стандартного DataGridView (см. скриншот). Потому что хорошо - это когда просто, и ничего лишнего. А когда захотелось красивостей (см. оффис 2007) я тоже смотрел несколько наборов компонентов: DevExpress, Telrik, DevComponents.

Самый красивый Ribbon был у Telrik'а, но на него нельзя было кидать собственные контролы. DevExpress'овский мне тоже не понравился, не помню уже, почему. Остановился на DevComponents, потому что они делают свои контролы строго на замену стандартных. То есть, функционал точно такой же, но можно настроить внешний вид.

Конечно есть. Ну и что с того?

//

Еще раз повеселило. Честно говоря, вдвойне. Эти риббоны в СВОИХ приложениях - мне напоминают ту саму девочку, которую спросили:
- Девочка, девочка, ты что жуешь?
- Не жнаю, шамо жаполжло

Вот если честно, вы будете честно тянуть в свои приложение весь тот хлам, который Microsoft понапридумывает? Looking Glass, Ribbon-ы?

Честно говоря последнее - это вообще полное убожество. Я знаю минимум 9-ть человек (из 10-ти) которые откровенно сказали, что не собираются переходить на Office 2007, только потому, что там НЕЛЬЗЯ ВЫКЛЮЧИТЬ РИББОНЫ И ВЕРНУТЬ НОРМАЛЬНЫЕ МЕНЮ И ТУЛБАРЫ.

-------

Девки под Delphi нормальные есть. 3.22. По сути - тоже самое (внешне), что и последние их монстоидальности, только иботизма там меньше (особенно с моделями и контроллерами, которые тоже - дань желанию потянуть в рот "моднячую" идею, и пофиг, что она увеличивает сложность разработки в разы).

...

Но вы пишите, пишите.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703155
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не вернуться ли нам к теме топика???
А то я прочитал 5 страниц, что появились со вчерашнего вечера, и не понял, о чем разговор

Все переросло в Delphi vs .Net, но с очень широким охватом многих тем - нужно наверное в отдельный топик все же. Про тему все забыли :)

На Winforms.Net я пытался, правда еще в 1 версии, чего-то делать. Оказалось, что там вообще ничего нет и ничего нельзя, если не изучить тыщу разнообразных танцев с бубнами. Потому плюнул. Может сейчас что-то и добавилось, но все оно как-то неаккуратненько.... Да и потом, я не вижу причин перехода с Дельфи - нет таких задач, которые нельзя было бы решить с помощью ее, и даже бубнов не надо :) Но если конечно меряться интерфейсами в стиле чего-то_там_style, то может для нет и выпускаются компоненты раньше, но лично мне это по барабану - без этого никто еще не помер.
Я понимаю тех, кто ничего не знал и работает с WinForms.Net. Но никак не понимаю тех, кто перешел с Дельфи - может проблема в том, что по поводу Дельфи было мало знаний???

Желательно конечно бы список того, что можно сделать там и нельзя тут. И еще обязательно необходимость этих вещей :)

Но лучше к теме вернуться :)

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703159
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовПосле Клиппера Дельфи по части работы с БД казалась просто дикостью.
ЧЕГО ЧЕГО?

Сахават, не порите глупость, право. Delphi спокойно тянула и Desktop подход, читай 1:1 Clipper(xBase), и клиент-сервер (он наверное ужас вызывал?).

И то, что для вас было дикостью, было в 95-м году давно уже известно (Forms, Gupta и т.д.)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703176
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraНо никак не понимаю тех, кто перешел с Дельфи - может проблема в том, что по поводу Дельфи было мало знаний???
Как правило, так и было. Просто кто-то что-то не вкурил, а т.к. терять особо нечего (ветер в голове), вот и мигрируют - с танцами, с плясками, игрой на баяне (обязательно) и причими приседаниями.

Впрочем, тема хорого раскрыта вот здесь.
http://ibsurgeon.blogspot.com/2007/07/2.html#links
http://ibsurgeon.blogspot.com/2007/07/delphi-vs-net.html#links

tygra
Желательно конечно бы список того, что можно сделать там и нельзя тут. И еще обязательно необходимость этих вещей :)

Этого не будет. Бесполезно даже и просить.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703308
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Сахават ЮсифовПосле Клиппера Дельфи по части работы с БД казалась просто дикостью.
ЧЕГО ЧЕГО?

Сахават, не порите глупость, право. Delphi спокойно тянула и Desktop подход, читай 1:1 Clipper(xBase), и клиент-сервер (он наверное ужас вызывал?).

И то, что для вас было дикостью, было в 95-м году давно уже известно (Forms, Gupta и т.д.)

Вроде умный мужик, а все ерунду прете. Какой-то клиент-сервер. Чем он может навеять ужас?
Между прочим в клиппере был пул драйверов для разных БД.
Я бухгалтерию сделал на мидас в три звена. Потом понял что туфта это в данном случае и выкинул середину (люди замахались настраивать дсомы и т.д.).
Это воще уже не тема и правда.
А НЕТ и Дельфи нельзя сравнивать. НЕТ крутая платформа, а дельфи - ИДЕ для паскаля и немного простеньких компонент. НЕТ только с Java. Но Java так разрослась, что я уже несколько дней никак не могу понять ху их ху и на чем сосредоточится. А НЕТ компактна и целостна. Java открыта и бесплатна, куча опенсорс вещей. Фиг его знает, вот новый проект большой и уже месяц решаю - НЕТ или Java. Есть вещи которых нет в Java, а в НЕТ вот-вот выйдут. Мне не нравятся сонма аппликейшн серверов и перкрывающихся технологий на Java (это скорее уже привычка от дельфи и НЕТ) и т.д. Java оказывается до сих пор еле пашет и требует огромнго количества памяти. Как-то дико смотреть как НетБинс грузится 2 минуты и задумывается каждый раз при нажатии на что-нибудь. Не знаю.
Модератор:
Рядом открыт топик Delphi vs Net vs ....
Здесь дальше удаляю на эту тему.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703660
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Сахават ЮсифовПосле Клиппера Дельфи по части работы с БД казалась просто дикостью.
ЧЕГО ЧЕГО?

Сахават, не порите глупость, право. Delphi спокойно тянула и Desktop подход, читай 1:1 Clipper(xBase), и клиент-сервер (он наверное ужас вызывал?).

И то, что для вас было дикостью, было в 95-м году давно уже известно (Forms, Gupta и т.д.)

Просто интересно, Вы представляете себе разницу между позиционным переходом и джойнами? По производительности?

Модератор: Просьба не удалять, это не про Delphi vs .Net
Модератор: А про что? Про "Построение интерфейса приложения из БД"?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703882
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drev grexhide Сахават ЮсифовПосле Клиппера Дельфи по части работы с БД казалась просто дикостью.
ЧЕГО ЧЕГО?

Сахават, не порите глупость, право. Delphi спокойно тянула и Desktop подход, читай 1:1 Clipper(xBase), и клиент-сервер (он наверное ужас вызывал?).

И то, что для вас было дикостью, было в 95-м году давно уже известно (Forms, Gupta и т.д.)

Просто интересно, Вы представляете себе разницу между позиционным переходом и джойнами? По производительности?

Модератор: Просьба не удалять, это не про Delphi vs .Net
Модератор: А про что? Про "Построение интерфейса приложения из БД"?

Просто именно Clipper позволял строить такие системы с лёгкостью необычайной. Возможность хранения в базе кусков кода и преимущества возможности их лёгкой интерпретации. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703912
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drevПросто именно Clipper позволял строить такие системы с лёгкостью необычайной. Возможность хранения в базе кусков кода и преимущества возможности их лёгкой интерпретации.
Игорь, хранение в базе куска кода на PL/SQL ничем не отличается от хранения в базе куска кода на Clipper. Вернее, отличается только тем, что кусок кода на PL/SQL можно хранить не только полем в таблице, а еще и в виде ХП :)

Я делал и то, и другое, и избавившись от клиппера совершенно о том же жалел (точнее, жалел только об индексах по функции, которых в те времена практически ни у кого не было).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703982
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer drevПросто именно Clipper позволял строить такие системы с лёгкостью необычайной. Возможность хранения в базе кусков кода и преимущества возможности их лёгкой интерпретации.
Игорь, хранение в базе куска кода на PL/SQL ничем не отличается от хранения в базе куска кода на Clipper. Вернее, отличается только тем, что кусок кода на PL/SQL можно хранить не только полем в таблице, а еще и в виде ХП :)

Я делал и то, и другое, и избавившись от клиппера совершенно о том же жалел (точнее, жалел только об индексах по функции, которых в те времена практически ни у кого не было).

Александр, я имел ввиду выполнение кода на "клиенте". Скажем, добавляем в хранимое описание "event listener" или "delegate". В спарке Delphi+Oracle так просто не получится. Нам либо придётся делать ненужные раунд-трипы в базу, либо иметь интерпретатор на стороне клиента, либо хранить идентификатор обработчика и контракт о передаче ему контекста.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34703993
__John__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если форм очень много и они однотипны то наверное
можно строить по шаблону, но в общем случае помоему
намного проще и быстрее обновить exe файл.
Тогда и дизайнер может поработать с каждой формой
отдельно, если внешний вид интерфейса имеет большое значение..
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704125
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__John__Если форм очень много и они однотипны то наверное
можно строить по шаблону, но в общем случае помоему
намного проще и быстрее обновить exe файл.
Тогда и дизайнер может поработать с каждой формой
отдельно, если внешний вид интерфейса имеет большое значение..
Обновлять ехе легко только тогда, когда он обновляется раз в пятилетку. Что бы там не говорили, что сделать даже автообновление нефиг делать - это все-равно некий процесс, протяженный во времени и имеющий несколько стадий.
А обновление функционала на ходу гораздо быстрее, и надежнее - у все всегда единственная версия, а не несколько ехе разных версий :)

А еще бывают ситуации, когда частое обновление ехе невозможно - плохой канал, служба безопасности и т.д.

Да и достает из-за каждой мелочи лезть в дельфу, компилять, обновлять....

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704131
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drevАлександр, я имел ввиду выполнение кода на "клиенте". Скажем, добавляем в хранимое описание "event listener" или "delegate". В спарке Delphi+Oracle так просто не получится.
Это бессмысленное желание. "Клиентский код" глупо настраивать такими маленькими кусками, гораздо удобнее хранить "формами целиком" - то есть dll-ками в случае Oracle+Delphi. Я согласен с тем, что интерпретатор дает более прямой путь для реализации "этой кривой схемы", но в любом случае не вижу смысла ее реализовывать.

Хранить "маленькие настроечные куски" удобно для серверного кода, а там это проблем не вызывает. Ну а поскольку на клиппере серверный код отсутствует - и приходилось выполнять его на клиенте.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704147
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraОбновлять ехе легко только тогда, когда он обновляется раз в пятилетку.
В пике - обновлялся несколько раз в день у пятисот и более пользователей. Без проблем.

tygraА обновление функционала на ходу гораздо быстрее, и надежнее
Вот насчет надежности - это смешно. "Начинали операцию с одной версией хранимого кода, заканчиваем с другой" - это замечательно надежно.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704175
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer drevАлександр, я имел ввиду выполнение кода на "клиенте". Скажем, добавляем в хранимое описание "event listener" или "delegate". В спарке Delphi+Oracle так просто не получится.
Это бессмысленное желание. "Клиентский код" глупо настраивать такими маленькими кусками, гораздо удобнее хранить "формами целиком" - то есть dll-ками в случае Oracle+Delphi. Я согласен с тем, что интерпретатор дает более прямой путь для реализации "этой кривой схемы", но в любом случае не вижу смысла ее реализовывать.

Хранить "маленькие настроечные куски" удобно для серверного кода, а там это проблем не вызывает. Ну а поскольку на клиппере серверный код отсутствует - и приходилось выполнять его на клиенте.

Ну почему сразу глупо? :) Например, в случае редактируемых таблиц? Кроме того, а если код ассоциируется с доменом?

Кстати, оффтоп:

Если Вы работали на Клиппере, и в Москве, то вроде по возрасту должны знать Ярцева? На Softools часом не ходили? Я там как раз показывал такую систему на Клиппере.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704224
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer tygraОбновлять ехе легко только тогда, когда он обновляется раз в пятилетку.
В пике - обновлялся несколько раз в день у пятисот и более пользователей. Без проблем.
У нас тоже так обновляется, другая система. Но это когда касается локальной сети или более-менее нормального канала. А когда канал такой, что ехе будет час качаться, то тут уже не пообновляешь
Ну и к тому же я добавлял про удобства - достют постоянные компиляции, если нужно фигульку поправить

softwarer tygraА обновление функционала на ходу гораздо быстрее, и надежнее
Вот насчет надежности - это смешно. "Начинали операцию с одной версией хранимого кода, заканчиваем с другой" - это замечательно надежно.
Это какого такого хранимого кода ? Весь хранимый код - на сервер, т.е. ХП. На клиенте нет никакого кода, влияющего на результаты работы системы. Ты же сам серверный код используешь :))

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704244
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drevНу почему сразу глупо? :)
Из-за излишней детализации. Нарисовать форму редактирования, откомпилить ее, положить бинарник в БД, а где-то зарегистрировать, что "класс TFormXXXXX является редактором для документа XXXXX" - удобнее, чем распихивать по таблицам значения каждого свойства каждого компонента TFormXXXXX, класть туда же текст обработчиков событий, класть в сторонке "функции, которые ни к чему не привязаны, но вызываются из обработчиков событий" и пытаться со всем этим взлететь.

drevНапример, в случае редактируемых таблиц?
И? Не очень понял, что мешает редактировать таблицы без таких огрызков кода в базе.

drevКроме того, а если код ассоциируется с доменом?
Да какая разница, с чем? Все равно это не "обработчик события", не "делегат", а как минимум "класс".

drevЕсли Вы работали на Клиппере, и в Москве, то вроде по возрасту должны знать Ярцева? На Softools часом не ходили? Я там как раз показывал такую систему на Клиппере.
Ярцева, увы, не припомню. Думаю, в Москве не только мы двое работали на Клиппере :) тем паче, что я был тогда весьма молод. На софтулы ходил, правда в последний раз очень давно, году в 94-95, потом стало неинтересно.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704303
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraУ нас тоже так обновляется, другая система. Но это когда касается локальной сети или более-менее нормального канала. А когда канал такой, что ехе будет час качаться, то тут уже не пообновляешь
Пообновляешь, если не пытаться впихнуть все в один монстроидальный exe-шник. В нормальной системе потоки данных по объему на порядки превосходят "обновляющиеся exe-шники"; если по этому каналу не лезет exe-шник - не пролезет и репликация данных, нужных для работы. Если данные пролезают - значит, в exe-шник запихали прорву лишнего, что туда просто не нужно передавать, особенно - передавать каждый раз.

Любопытно, что за exe будет передаваться час и как. С детства мне запомнилось, что мегабайт на 19200 качается за шесть минут. Итого, для нормального exe-шника канал должен быть где-то между 2400 и 9600. У меня были такие каналы, но не было необходимости пересылать туда полную версию Основной Задачи - всего лишь маленькие ее куски.

tygraНу и к тому же я добавлял про удобства - достют постоянные компиляции, если нужно фигульку поправить
Чем может достать пара секунд компиляции по сравнению с например минутой проверки этой фигульки? Или Вы собираетесь каждый раз перекомпилировать всего монстра?

tygraЭто какого такого хранимого кода ? Весь хранимый код - на сервер, т.е. ХП. На клиенте нет никакого кода, влияющего на результаты работы системы. Ты же сам серверный код используешь :))
Что ж, давайте аккуратнее. Если Вы имеете в виду обновление данных, определяющих формирование клиента, то все выглядит еще замечательнее. У Вас была фраза про отсутствие разных версий - я понимаю ее так, что поправки начинают действовать сразу, в уже запущенных клиентах. Давайте посмотрим, что будет.

Допустим, я открыл расходную накладную в первом окне. Потом Вы обновили метаинформацию. Потом я открыл другую расходную накладную во втором окне. В результате у меня в программе - два окна, которые должны быть одинаковы, но которые различаются. Если я нажму в первом кнопку "сохранить" - что произойдет? Я вижу два варианта: либо таки выполнится устаревший код, что плохо и никак не "надежно", либо новый код сохранения выполнится над старыми данными (что может приведет к ошибке, может к кривости сохраненных данных), опять-таки плохо и никак не "надежно".

Вывод: как ни крути, а при апдейте надо учитывать многоверсионность и предусматривать механизмы для отключения пользователей, которых затронут результаты апдейта.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704411
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЧем может достать пара секунд компиляции по сравнению с например минутой проверки этой фигульки? Или Вы собираетесь каждый раз перекомпилировать всего монстра?
Если бы все кончалось двумя секундами компиляции, то было бы хорошо :))
Но до этого нужно еще поправить то, что компилировать, открыв Дельфи. Потом нужно это куда-то отправить, чтобы это стало доступным пользователям, потом это должно уйти пользователям, потом пользователь должен прервать работу, закрыть ехе, открыть, скачав, новый ехе, вернуться к работе.

Для каких-то вещей такой процесс допустим, для каких-то слишком сложен и долог.

Да и потом, не надо приводить разнообразные расчеты скорости скачивания и т.д., здесь же не дети :)) Есть много причин, почему неудобно обновлять ехе 20 раз в день.

Но если кому-то нравится это - я не против :))
Я все же предпочитаю делать что-то более значимое.

Потому все стандартные вещи сделал автоматом, чтоюы на них не тратить ни мое время, ни пользователей.
Остальные сложные формы делаются руками. Но это не так часто.

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

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704476
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraЕсли бы все кончалось двумя секундами компиляции, то было бы хорошо :))
Тигра, если приводите аргументом компиляцию - давайте говорить о компиляции. Если приводите аргументом смайлик - это вообще не аргумент.

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

tygraНо до этого нужно еще поправить то, что компилировать, открыв Дельфи.
Ага. А сталбыть Query Analizer (или что там) открывается божьим духом и все поправляет сам, я правильно понимаю?

tygraПотом нужно это куда-то отправить, чтобы это стало доступным пользователям, потом это должно уйти пользователям,
Ох, как страшно. Да... если я правильно Вас понял, правите на живом production, потом смотрите, что получилось. Если поправили неправильно, мило улыбаетесь тем пользователям, у которых из-за этого "неправильно" возникли проблемы.

Или все-таки правите где-то отдельно, может быть даже тестируете, и только потом "нужно это куда-то отправить, чтобы стало доступно пользователям"?

tygraпотом пользователь должен прервать работу, закрыть ехе,
Зачем?

tygraДа и потом, не надо приводить разнообразные расчеты скорости скачивания и т.д., здесь же не дети :))
Детей нет, а детские аргументы есть? Однако, диссонанс.

tygraЕсть много причин, почему неудобно обновлять ехе 20 раз в день.
А обновлять что-то другое 20 раз в день они совершенно не мешают :)

tygraНо если кому-то нравится это - я не против :))
Я все же предпочитаю делать что-то более значимое.
Угу. Любимую игрушку, которую можно дописывать и усовершенствовать, переложив на кого-нибудь другого решение мелких пользовательских проблем.

tygraПотому все стандартные вещи сделал автоматом, чтоюы на них не тратить ни мое время, ни пользователей.
Начало откровенной демагогии воспринимается как окончание осмысленной аргументации.

tygraПроблему несоответствия данных можно решить многими способами, но делать тогда, когда проблема есть. Сейчас ее нет и пока не предвидится.
А конкретнее? Можно ли описание тех изменений, которые Вы проводите и при которых "пока не предвидится"? Что-нибудь типа "чаще всего мы делаем вот это, потом еще вот это и вот это, и других изменений почти и не бывает".

Я так сходу вижу только один пример - поправить опечатку в названии поля/колонки.

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


Это все зависит от конкретного случая.
С обновлением БД у компании-клиента тоже могут проблемы появится из за тех же
причин, например служба безопасности откажется предоставить доступ к их серверу БД.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704575
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не склонен отвечать на демагогию чистой воды :))

Как я понимаю, только у softwarerа все хорошо и все правильно, остальные работают не так, не тем и не туда.
Причем чего бы это не касалось - разработки клиента, БД, структуры данных и т.д.
Может мы имеем дело с высшим и непогрешимым разумом? Тогда срочно побегу в нужные органы - контакт стостоялся!!!

Я уж лучше поговорю с теми, кто обсуждает - и действительно обсуждает - технические проблемы, а не проповедует истину, ведомую только ему одному :)

А от демагогии softwarerа я устал - сильно много и сильно часто она имеет место быть

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704596
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraЯ не склонен отвечать на демагогию чистой воды :))
Тем более для Вас оснований не ограничивать оной свои ответы. Попробуйте привести хоть что-то реальное. А то до сих пор беседы протекают по одной и той же странной схеме - фреймы Вы готовить не умеете, dll-ки Вы готовить не умеете, exe-шники... обсуждается, а кто умеет - так тот "самый умный, почему шляпу не одел" и следовательно демагог.

Однако, логика.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704633
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer: тихо сам с собою я веду беседу.... :) А так же делаю странные выводы, не основанные ни на чем, придумываю разные мысли за других...

Я внимательно слушаю, можно продолжать :))

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704662
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraЯ внимательно слушаю, можно продолжать :))
Вы бы лучше отвечали хотя бы на прямо заданные вопросы - например, про то, какие изменения у вас проводятся, ничего не затрагивая. А то как переходим от общих слов к конкретике - так в кусты.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704737
Mainframe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видел одну такую систему когда-то, причем масштаба предприятия (Браз). Интерфейс достаточно стандартный, но решал задачи бухгалтерского учета и т.п. Один exe, вся логика в базе (и структура отчетов, кажется). Программисты нужны только для оттачивания инструмента, саму разработку делают постановщики- проектировщики, единственное требование- знание SQL + примитивный внутренний язык + простая среда разработки.
И это работало! Сейчас не знаю, возможно там у них САП уже.
У оракла есть кстати HTMLDB (Oracle Express сейчас вроде) - тоже все в базе. Генератор отчетов правда убогий там.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704765
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer tygraЯ внимательно слушаю, можно продолжать :))
Вы бы лучше отвечали хотя бы на прямо заданные вопросы - например, про то, какие изменения у вас проводятся, ничего не затрагивая. А то как переходим от общих слов к конкретике - так в кусты.
Это бессмысленно.
Я, по-моему, не видел ни одного вашего поста, где бы вы кого-то не критиковали. Неважно, о чем, важно, что всегда только критика. Потому смысла о чем-то рассказывать не вижу - любая мысль. которая не нравится лично вам, неважно правильная она в принципе или неправильная, главное, что идет в разрез с вашими мыслями, вами считается ложной и неправильной.

Я конечно понимаю, что критика везде и всегда - это лучший способ показать всем, что человек крутой гуру, особенно когда о себе гуру почти ничего не говорит, а если и говорит, то считая собственные действия истиной в последней инстанции.

Но это уже скучно, приелось, давайте что-нибудь новенькое. А то мы все развиваемся, только softwarer все тот же :)

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704769
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mainframeзнание SQL + примитивный внутренний язык + простая среда разработки. И это работало!
Угу. Вот к этому все в итоге сводится - "маленькая примитивная дельфа". Без нормального редактора, без нормального отладчика и с примитивным результатом. При этом программисты жутко довольны - поскольку они занимаются НАСТОЯЩИМ ДЕЛОМ, разрабатывают КРУТОЕ ЯДРО, а для реальной работы - набираются толпы неграмотных невесть кого, поскольку "они дешевые, а у нас все примитивно".

Надо сказать, сейчас вожусь ровно с такой же системой. И пока что не вижу гениальности в этом подходе; как только нужен интерфейс сложнее "списка колонок в столбик", так хоть плачь.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704792
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraЭто бессмысленно.
Отчего же? Приведете реальные примеры - "все увидят", что я пыжащийся идиот, мне придется выкручиваться и не внешне конечно, но внутри себя сожалеть, что я полез критиковать незыблемо правильную идею. Возможно, в следующий раз я вспомню этот печальный опыт и не буду мешать Вам излагать достижения.

tygraЯ, по-моему, не видел ни одного вашего поста, где бы вы кого-то не критиковали.
Они есть даже в этом топике. Насколько тщательно Вы закрываете глаза - не знаю, не готов судить.

tygraлюбая мысль. которая не нравится лично вам, неважно правильная она в принципе или неправильная,
То есть: Вы абсолютно уверены, что некая мысль "правильная или неправильная". Во-вторых, выше Вы ярко иронизируете по поводу моих гипотетических претензий на абсолют. Выглядит так, словно Вы полагаете право на абсолют эксклюзивно своим.

tygraглавное, что идет в разрез с вашими мыслями, вами считается ложной и неправильной.
tygra, если Вы не умеете обосновывать - не беритесь. Здесь же, на форуме, меня в последний раз убедили изменить точку зрения всего несколько дней назад. Для этого надо всего лишь хорошо знать обсуждаемую тему и быть правым.

tygraА то мы все развиваемся,
Да вот незаметно, признаться. Это скорее регресс; всего несколько лет назад Вы собирались писать книгу по искусству программирования, а сейчас делаете то же, что начинает делать любой активный ламер как только научится динамически создавать компоненты.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704804
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Mainframeзнание SQL + примитивный внутренний язык + простая среда разработки. И это работало!
Угу. Вот к этому все в итоге сводится - "маленькая примитивная дельфа". Без нормального редактора, без нормального отладчика и с примитивным результатом. При этом программисты жутко довольны - поскольку они занимаются НАСТОЯЩИМ ДЕЛОМ, разрабатывают КРУТОЕ ЯДРО, а для реальной работы - набираются толпы неграмотных невесть кого, поскольку "они дешевые, а у нас все примитивно".

1. Если примитивное ядро, то и примитивный результат.. здравая мысль. Только не в тему. Таскать фреймы и заниматься компиляциями занятие конечно интересное, но для программистов, а не для тех, кто решает задачи конкретного бизнеса.
2. Те, кого называете "толпами неграмотных" стоят на порядок дороже, чем те, кого считаете крутыми. Так что с "дешевыми" явно обознались. Впрочем обоюдная выгода достигается за счет сроков. Да, мистический человеко-час в разы дороже, но часов меньше. Потому что ядро позаботилось о том, чтобы фреймы не тягать и тратить время на подобные чудеса.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704825
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm2. Те, кого называете "толпами неграмотных" стоят на порядок дороже, чем те, кого считаете крутыми. Так что с "дешевыми" явно обознались.
Угу. И при этом их занимают хрен знает чем, вместо того, чтобы посадить рядом того же "крутого", который знает SQL и все прочее. Парадокс.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704855
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerУгу. И при этом их занимают хрен знает чем, вместо того, чтобы посадить рядом того же "крутого", который знает SQL и все прочее. Парадокс.
конечно. Зачем заниматься какой-то логикой, холдингами, расчетами, методиками, регламентами и прочей ерундой. Нужно тупо посадить крутого знатока SQL , который напишет гениальные запросы и натаскает контролов в гениальные формы. Не сомневался в таком ответе.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704866
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Вы не нашли ничего лучше, как попытаться не заметить разницы между "посадить рядом" и "посадить вместо". Ай, молодца, так держать.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704902
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tygra
softwarer

Попробую привести аргументы за тигрин подход

На моём нынешнем месте работы, по факту, внесение изменений в хранимки или данные на sql-сервере получается чуть ли не на порядок дешевле, чем аналогичные изменения на клиенте.

Причины по моему мнению такие

1) в гуёвом коде клиентского приложения написанного несколькими поколениями программистов средней ценовой категории разбираться, почему-то, на порядок сложнее чем в серверном
2) следствие 1 - риск возникновения проблем при изменениях в клиенте, по факту (в нашей конторе) оказывается существенно выше, чем при изменениях на сервере (соответственно тратится больше времени на тестирование)
3) интеграция изменений от нескольких разработчиков, правящих одну и ту же форму- постоянная головная боль, при изменениях затрагивающих клиентское приложение, с серверным кодом проблема практически отсуствует или решается механическим "мержем".
4) цикл выкладки для изменений затрагивающих клиентское приложение получается достаточно тяжёлым (интеграция изменений от нескольких разработчиков, сборка, ручное регрессионное тестирование, выкладка на нескольких промежуточных серверах, взаимодействие с пользователями ("ой, а мы не можем обновляться - у нас сейчас интенсив")
5) при проблемах откат изменений затрагивающих клиентское приложение также получается существенно более трудоёмким. А в таких ситуациях время особенно ценно.
6) клиентское приложение - вечный источник проблем. У одного пользователя офис не той версии, у другого права на реестр кривые, у третьего Windows XP, у четвёртого рантайм грида забыли развернуть итп. Соответственно каждый раз когда что-то меняешь в клиенте рискуешь собрать эти грабли.

Сейчас подумал - мне кажется корневая причина - 1. Предпосылка к этому - то что интерфейсные объекты устроены гораздо сложнее, чем серверный код.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704914
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer iscrafm
Вы не нашли ничего лучше, как попытаться не заметить разницы между "посадить рядом" и "посадить вместо". Ай, молодца, так держать.
заметил. только это относилось к фразе, что проектировщиков занимают хрен знает чем.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704934
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
7) Небольшие изменения, "заплатки", если их делать на уровне БД стоят чуть-ли не на два порядка дешевле, чем если бы они затрагивали клиент.
Часто можно вообще пропустить цикл "тестирование"-"внедрение"
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34704970
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на софтварены слова я конечно внимания обращать не буду, но по поводу здравых мыслей:

в этой ветке был человек который обосновывал универсальные интерфейсопостроители именно с коммерчекой точки зрения. Это ли не единственный и главный повод для разработки собственного фреймворка. Деньги решают всё.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705008
В.Ленин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer tygraЭто бессмысленно.
... а сейчас делаете то же, что начинает делать любой активный ламер как только научится динамически создавать компоненты.
Я так понимаю, это и есть ваше мнение по теме топика?
Похвально! И очень доказательно!
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705022
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bebopПопробую привести аргументы за тигрин подход
В первую очередь спасибо, давно не приходилось встречать столь хорошего изложения. Было бы интересно глубже обсудить сказанное Вами, но перед этим позволю себе во-вторых задать несколько уточняющих вопросов, а во-первых дать "короткий универсальный ответ".

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

А для более детальной беседы было бы интересно узнать следующее:

1. На чем сделан проект? Сервер, клиент, основные библиотеки?

2. Полагаете ли Вы, что проект реализован "в целом верно"? То есть "серверное" делается на сервере, "клиентское" на клиенте итп.

3. Полагаете ли Вы, что квалификация людей, делавших сервер и клиент, была примерно одинаковой, и качество реализации того и другого примерно одинаковое? Я понимаю, что трудно сопоставлять разные вещи, но все же.

4. Когда Вы сопоставляете изменения в клиенте и в сервере, Вы имеете в виду разные задачи или же "одну, которую можно было бы решить и там, и там"? Или задачи, которые приводят к модификации как сервера, так и клиента?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705079
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer Мне кажется, ваша ситуация не является прямым аргументом "за тигрин подход", в следующем смысле: если вы сейчас все бросите и реализуете тигрин подход теми же программистами в тех же условиях (включая множество поколений) далеко не факт, что станет лучше. "Не факт" по нескольким причинам, из которых первой назову следующую: реализация универсального клиента - более сложная задача, требущая более высокой квалификации проектирования и кодирования, нежели реализация "неуниверсальная". Если ваши программисты не сумели хорошо решить вторую задачу - сомнительно, что они осилят первую. Нет задачи сделать "универсального" клиента. И тигра, насколько я его понял, универсального клиента не делал. Он добавил в клиента подсистему "Формы управляемые данными" (я бы это так назвал) и ощутил, что чась (существенная) задач стала занимать гораздо меньше времени, чем раньше.
Т.к. система не универсальная, то мегаквалификации для её написания не надо.
Сам я собираюсь сделать тоже что-то вроде такой системы. Сейчас, по факту, у нас управляются данными только простые отчёты. И нам они очень нравятся. Хочется расширить и углубить.

softwarer
1. На чем сделан проект? Сервер, клиент, основные библиотеки?
ms sql + вб.нет\шарп (правда есть ещё клиент на ацессе). Общая идеология системы - бизнес-логика на хранимках. Хотя не везде этот подход соблюдается.

softwarer
2. Полагаете ли Вы, что проект реализован "в целом верно"? То есть "серверное" делается на сервере, "клиентское" на клиенте итп.

3. Полагаете ли Вы, что квалификация людей, делавших сервер и клиент, была примерно одинаковой, и качество реализации того и другого примерно одинаковое? Я понимаю, что трудно сопоставлять разные вещи, но все же.У нас большая, старая развивашаяся стихийно почти 10 лет, торговая система. Всё что можно сделать неправильно сделано неправильно. Качество реализации одинаковое, что на клиенте, что на сервере. Низкое.

softwarer
4. Когда Вы сопоставляете изменения в клиенте и в сервере, Вы имеете в виду разные задачи или же "одну, которую можно было бы решить и там, и там"? Или задачи, которые приводят к модификации как сервера, так и клиента? Да и те и те. Моя правда жизни такова, что если тронуть клиентское приложение, то часто стоимость этапов ("тестирование" + "внедрение") оказывается на порядок больше стоимости этапов ("анализ" + "разработка").

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

bebopКачество... Низкое.
И вы решили опустить его еще ниже?

bebop
Я кажется догадываюсь, почему, вам с тигрой никак не удаётся понять друг друга.
У вас цикл "анализ-разработка-тестирование-внедрение" занимает месяца.
У нас релиз делается раз в 1.5-2недели.

Вранье. Даже в системе, где цикл выпуска релиза растянут на месяцы - патчи выпускаются порой
по три штуки в день. И как то нет никаких проблем - обновить клиента (а вот обновить сервер - есть
проблема, но это тараканы PL/SQL).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705134
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grexhide bebopОн добавил в клиента подсистему "Формы управляемые данными" (я бы это так назвал) и ощутил, что чась (существенная) задач стала занимать гораздо меньше времени, чем раньше.При этом появилась другая часть задач, в итоге суммарное время - увеличилось в несколько раз. Какая?

grexhideНо тигре было все равно - ведь он достиг своей цели (ради которой работал месяцы). Вы действительно думаете, что эта подсистема "весит" человекомесяцы? Вы представляете себе явно что-то из разряда "универсального клиента".

grexhide bebop
Я кажется догадываюсь, почему, вам с тигрой никак не удаётся понять друг друга.
У вас цикл "анализ-разработка-тестирование-внедрение" занимает месяца.
У нас релиз делается раз в 1.5-2недели.

Вранье. Даже в системе, где цикл выпуска релиза растянут на месяцы - патчи выпускаются порой
по три штуки в день. И как то нет никаких проблем - обновить клиента (а вот обновить сервер - есть
проблема, но это тараканы PL/SQL). Судя по всему, вы занимаетесь контрактной разработкой и с in-house'ом вам приходится сталкиваться мало. Там есть, скажем так, свои особенности.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705151
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bebopСудя по всему, вы занимаетесь контрактной разработкой и с in-house'ом вам приходится сталкиваться мало. Там есть, скажем так, свои особенности.

Я работал в обоих структурах. И, по большому счету, особой разницы в этом всем нет.

По большому счету, даже очень крупные и "долгие" (в выпуске релиза) комании имеют свой небольшой in-house (пусть это будет команда тестеров или пилотный проект).

Так что мимо.

...

А то, что платформу можно написать за день-два - посмеялся отдельно. Может у тигры спросим, сколько он свой тулз строгал то?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705170
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grexhideПри этом появилась другая часть задач, в итоге суммарное время - увеличилось в несколько раз.
Ещё раз, можно пояснить какие задачи появились у тигры, что его суммарные трудозатраты увеличились в несколько раз?

grexhide bebopСудя по всему, вы занимаетесь контрактной разработкой и с in-house\'ом вам приходится сталкиваться мало. Там есть, скажем так, свои особенности.

Я работал в обоих структурах. И, по большому счету, особой разницы в этом всем нет.

По большому счету, даже очень крупные и "долгие" (в выпуске релиза) комании имеют свой небольшой in-house (пусть это будет команда тестеров или пилотный проект).
Так что мимо....
ОК. не угадал. Но вы практик и я практик. У нас диаметрально противоположные точки зрения. Соответственно или мы говорим о разном или надо искать разницу в контексте (особенности процесса разработки, технологические особенности, особенности бизнеса итд).

grexhide
А то, что платформу можно написать за день-два - посмеялся отдельно. Может у тигры спросим, сколько он свой тулз строгал то? Ну может не день-два, но, думаю, не столько, чтобы потом было мучительно больно :).
Опять же слово "платформа" навевает мысли, что вы представляете что-то достаточно большое и навороченное. Прочитайте ещё раз описание . Чего там делать несколько месяцев?

2tygra
Можно попросить пару скриншотов?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705186
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из чего, собственно, состоит написание нормальной двух- трехзвенки, не считая отчетов?

1. Подготовили таблицы и представления
2. Написали хранимые процедуры
3. Сделали формы редактирования
4. Сделали большие главные формы АРМов
5. Разместили приложение (на клиентах или на сервере)

И так по кругу, пока заказчик не удовлетворен.

На чем можно сэкономить время, я значит и $$$?

1. использовать нормальные инструменты дизайна БД (от диаграмм MS SQL Server до ERwin и Visio)
2. Использовать частичную генерацию кода хранимых процедур (покрывает всяко больше 90% кода хранимок)
3. Упростить разработку форм редактирования: можно вынести в базовый класс функциональность сопоставления элементов ввода и полей таблицы/объекта при загрузке формы и сохранении результатов, вызов хранимых процедур и пр. В итоге получается, что б о льшая часть форм не содержит вообще никакого кода. Все создание формы заключается в удобном расположении контролов на форме и указанию каждому контролу, за какой атрибут (поле) он отвечает.
Дополнительно можно реализовать генерацию первичной версии формы.
4. Тут упростить можно постольку, поскольку... Реально можно хранить в БД описание (определение) списка объектов. Тогда можно сваять несложный компонент (например, на базе стандартного грида), который сам настраивается под произвольный список по его описанию и загружает данные.
5. Ну, с WEB все понятно. Как показывает практика, в большинстве случаев клиентские приложения можно размещать на сервере приложений (его роль легко исполняет сервер БД, например), и организовать автоматическое обновление.

Скажите мне, уважаемые, где я неправ. И имеет ли смысл декларативно описывать формы в п. 3, если это повлечет следующие трудности:

а) отказ от штатного дизайнера форм;
б) необходимость изобретать само такое описание;
в) проблема добавления дополнительных элементов ввода для специальных целей - в описании формы придется указывать, где этот компонент брать (codebase, так сказать) и подгружать дополнительные модули при необходимости.

Не проще ли сделать все это в нормальном дизайнере и сложить в .dll, которая потом упадет клиенту? Где выигрыш-то получается при data-driven подходе?

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705187
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CodenamedНе проще ли сделать все это в нормальном дизайнере и сложить в .dll, которая потом упадет клиенту? Где выигрыш-то получается при data-driven подходе?

Я думал, что я здесь привёл аргументы.
http://www.sql.ru/forum/actualthread.aspx?tid=456205&pg=11#4478121
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705196
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024на софтварены слова я конечно внимания обращать не буду, но по поводу здравых мыслей:

в этой ветке был человек который обосновывал универсальные интерфейсопостроители именно с коммерчекой точки зрения. Это ли не единственный и главный повод для разработки собственного фреймворка. Деньги решают всё.


Иногда важнее способность быстрее изменить систему, чем конкурент.

Т.е. в "коммерческую" точку зрения осмысленно включить весь комплекс конкурентных преимуществ декларативного подхода, а не только снижение затрат на разработку и сопровождение.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705198
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понимаю, что ситуации бывают разные, но тем не менее:

bebop
1) в гуёвом коде клиентского приложения написанного несколькими поколениями программистов средней ценовой категории разбираться, почему-то, на порядок сложнее чем в серверном


Бывает, согласен. Но разбираться так и так надо. Иначе что это за система, в которой вы сами не разбираетесь??

bebop
2) следствие 1 - риск возникновения проблем при изменениях в клиенте, по факту (в нашей конторе) оказывается существенно выше, чем при изменениях на сервере (соответственно тратится больше времени на тестирование)


Видимо, у вас очень сложный клиент. У вас бизнес-логика сосредоточена там? Это не издевка, как могло бы показаться.

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


Хм... А вот это ерунда полная. Не должны одну форму править несколько разработчиков. Либо она принадлежит к одному функциональному модулю и ее "ведет" один разработчик, либо... Это даже трудно представить, по крайней мере пример не смог придумать. Кажется, надуманная сложность.

bebop
4) цикл выкладки для изменений затрагивающих клиентское приложение получается достаточно тяжёлым (интеграция изменений от нескольких разработчиков, сборка, ручное регрессионное тестирование, выкладка на нескольких промежуточных серверах, взаимодействие с пользователями ("ой, а мы не можем обновляться - у нас сейчас интенсив")
5) при проблемах откат изменений затрагивающих клиентское приложение также получается существенно более трудоёмким. А в таких ситуациях время особенно ценно.


Если отбросить проблему интеграции изменений и сборки (откуда такая проблема??)...
Неужели вы не проводите тестирование при изменении серверной части?
У вас не автоматизировано размещение на каком-то "сервере приложений" новых версий с сохранением текущих?
Вы не можете отложить момент обновления клиентской части на произвольное время после того, как она выложена на сервер?

bebop
6) клиентское приложение - вечный источник проблем. У одного пользователя офис не той версии, у другого права на реестр кривые, у третьего Windows XP, у четвёртого рантайм грида забыли развернуть итп. Соответственно каждый раз когда что-то меняешь в клиенте рискуешь собрать эти грабли.


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

Заранее извиняюсь, если где-то ответил некорректно.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705204
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drev
Иногда важнее способность быстрее изменить систему, чем конкурент.

Т.е. в "коммерческую" точку зрения осмысленно включить весь комплекс конкурентных преимуществ декларативного подхода, а не только снижение затрат на разработку и сопровождение.


Согласен, но декларативный подход - это не только создание UI "из БД".
Перетаскивание на форму нужных контролов в дизайнере и указание каждому атрибута, за который он отвечает, безо всякого дополнительного "рутинного" кода - это тоже декларативный подход.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705205
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
На чем можно сэкономить время, я значит и $$$?

1. использовать нормальные инструменты дизайна БД (от диаграмм MS SQL Server до ERwin и Visio)

Бред. Особенно последние два убожества.

Codenamed
2. Использовать частичную генерацию кода хранимых процедур (покрывает всяко больше 90% кода хранимок)

Эт да. Особенно актуально у CRUD-овцев. Правда работает только на начальной стадии, но и это - уже хорошо.

Codenamed
3. Упростить разработку форм редактирования: можно вынести в базовый класс функциональность сопоставления элементов ввода и полей таблицы/объекта при загрузке формы и сохранении результатов, вызов хранимых процедур и пр. В итоге получается, что бо льшая часть форм не содержит вообще никакого кода. Все создание формы заключается в удобном расположении контролов на форме и указанию каждому контролу, за какой атрибут (поле) он отвечает.
Дополнительно можно реализовать генерацию первичной версии формы.

Ну да. 100%. Это конечная цель. По большому счету, если отдельный контрол приходится кодировать - то что то у тебя не то с инструментальностью (см. тезис о верстальщике и кодере где то там позади).


Codenamed
4. Тут упростить можно постольку, поскольку... Реально можно хранить в БД описание (определение) списка объектов. Тогда можно сваять несложный компонент (например, на базе стандартного грида), который сам настраивается под произвольный список по его описанию и загружает данные.

Это описание - называется VIEW + INSTEAD OF (VIEW) триггер или процедура/пакет (не знаю, что там у вас в Мастдай SQL, в последний раз когда на 2005 смотрел - ничего путного не увидел, в смысле пакетов).

Тем не менее, словарь базы данных - перекрывает эти потребности (имена параметров процедур + имена полей и дальше... ну ты понял?)

Codenamed5. Ну, с WEB все понятно. Как показывает практика, в большинстве случаев клиентские приложения можно размещать на сервере приложений (его роль легко исполняет сервер БД, например), и организовать автоматическое обновление.

Что значит легко исполняет сервер БД? Ты вообще о чем? Вспоминается только HtmlDB (APEX), но это - совсем иное (скажем так, middleware 2.5, а не 3).

Codenamed
Скажите мне, уважаемые, где я неправ.

В выборе базовой платформы.

Codenamed
И имеет ли смысл декларативно описывать формы в п. 3, если это повлечет следующие трудности:

а) отказ от штатного дизайнера форм;

Если у тебя есть ресурсы на создание своего - то для бизнес-задач - наверное имеет смысл.
По меньшей мере - позволит избавить от несущественных деталей.

Но создать бизнес дизайнер форм.... Это работа уровня Oracle, SAP ну и так далее (только они, гады, нихрена путного до сих пор не сделали). Ну или конторы софтверной местного разливу, чистлом девелоперов - от 50-ти.

Codenamed
б) необходимость изобретать само такое описание;

Тоже имеет смысл. Я в бытность поработал в компании CustIS. Они примерно так и работают.
Формочки страдают декларативно, в XML, отдельный браузер для оных. Им удобно.

Codenamedв) проблема добавления дополнительных элементов ввода для специальных целей - в описании формы придется указывать, где этот компонент брать (codebase, так сказать) и подгружать дополнительные модули при необходимости.

Еще раз - форма хранится целиком, или собирается из высокоуровневых кирпичиков. Опускаться до уровня контрола - это лишнее.

CodenamedНе проще ли сделать все это в нормальном дизайнере и сложить в .dll, которая потом упадет клиенту? Где выигрыш-то получается при data-driven подходе?

Конечно проще. Только уровень требуется повыше, и бардачности будет чуток побольше.

--

Тут больше вопрос, на самом деле, с уровня бизнес-девелоперов. Создать такой
фреймворк, как CustIS Forms - хорошо для того, чтобы наладить процесс, гарантировать качество и вообще - ограничить буйство кодеров (т.е. нате вам мужики, не универсальную дрель , а установку для сверления дыр - строго по шаблону, заложенному в базовые ЧПУ).

Нужно это тебе (ограничивать девелоперов от непрофильных задач и вообще от буйства всякого) - решай сам. Правда есть одно но. Я от этой CustIS сбежал на вторую неделю. Я просто не смог
продуктивно работать (мыслить) в их инструментарии (рамках).

Сейчас, правда, жалею (может быть ;) ).

--

Кстати, браузер у них на .NET. Сервер - только Oracle. Оксюморон, но очень много умных и правильных идей там было.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705206
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bebop Сам я собираюсь сделать тоже что-то вроде такой системы. Сейчас, по факту, у нас управляются данными только простые отчёты. И нам они очень нравятся. Хочется расширить и углубить.



Все подобные системы начинаются именно с простых отчётов.

Следующий шаг - сложные, там понравится ещё больше.

Затем добавляется декларативное описание интерфейса ввода фильтрующих значений для отчёта.

Отсюда прямая дорога к использованию подобного механизма для декларативного описания форм.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705208
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedСогласен, но декларативный подход - это не только создание UI "из БД".
Перетаскивание на форму нужных контролов в дизайнере и указание каждому атрибута, за который он отвечает, безо всякого дополнительного "рутинного" кода - это тоже декларативный подход.

Не-а.

Таскать мышой - это, на самом деле, пустое. Если правильно изловчиться, то можно формочки базовые строить с должным качеством и от чисто описательной модели (ккккхм.... такой подход есть в Oracle BLAF, в реализации OAF (OEBS). Они только концептуальную модель рисуют, а от этой концептуальной модели - рисуется сам интерфейс).

Правда у них, на практике, получается все довольно убого. Но сама идея - вполне себе. Впрочем, глядя на среднестатичный единичный софт (просто жуть чего там творится в стилистике и дизайне) - BLAF был бы для них спасением (лучше хоть какой то стиль, чем вообще никакого).

Кстати, судя по твоему скриншоту (это был лучший да? ну тогда извини) - тебе бы данный подход бы очень подошел (а идея сама - проста как двери - лайоутинг от модели + чуток css подобного, и вуаля...).

Но тут тоже оговорюсь - любителей и вообще способных "думать" в XML - это еще поискать (я вот - не могу, хоть ты тресни, в смысле - в XML "программировать/дизайнить").

----

Кстати, для пущего разумения. В WinForms, WPF и (тем более - папа) VCL - разработчика перегружают на 99% информационным шумом (свойств). А для бизнес-задач - не дают вообще нихрена. Вот теперь - подумай (а лучше посмотри, если есть доступ на металинк) - что может иметь
ценность именно как "бизнес-свойства" (впрочем, на металинк можно и особо не смотреть, там только 15-20% полезной инфы, остальное - дань Web/Java всякой разной шелухе).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705216
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Codenamed
На чем можно сэкономить время, я значит и $$$?

1. использовать нормальные инструменты дизайна БД (от диаграмм MS SQL Server до ERwin и Visio)

Бред. Особенно последние два убожества.

Последние два - убожества, ты прав. Предложи что-то лучше, если знаешь.

grexhide Codenamed
2. Использовать частичную генерацию кода хранимых процедур (покрывает всяко больше 90% кода хранимок)

Эт да. Особенно актуально у CRUD-овцев. Правда работает только на начальной стадии, но и это - уже хорошо.
Работает на любой стадии. При изменении структуры данных процедуры перегенерируются полностью. Всё нестандартное (то есть бизнес-логика, которой в общем объеме кода ОЧЕНЬ мало) выносится в процедуры-делегаты, которые НЕ перегенерируются. Считай, подарил идею.

grexhide Codenamed
3. Упростить разработку форм редактирования: можно вынести в базовый класс функциональность сопоставления элементов ввода и полей таблицы/объекта при загрузке формы и сохранении результатов, вызов хранимых процедур и пр. В итоге получается, что бо льшая часть форм не содержит вообще никакого кода. Все создание формы заключается в удобном расположении контролов на форме и указанию каждому контролу, за какой атрибут (поле) он отвечает.
Дополнительно можно реализовать генерацию первичной версии формы.

Ну да. 100%. Это конечная цель. По большому счету, если отдельный контрол приходится кодировать - то что то у тебя не то с инструментальностью (см. тезис о верстальщике и кодере где то там позади).

О чем и речь.


grexhide Codenamed
4. Тут упростить можно постольку, поскольку... Реально можно хранить в БД описание (определение) списка объектов. Тогда можно сваять несложный компонент (например, на базе стандартного грида), который сам настраивается под произвольный список по его описанию и загружает данные.

Это описание - называется VIEW + INSTEAD OF (VIEW) триггер или процедура/пакет (не знаю, что там у вас в Мастдай SQL, в последний раз когда на 2005 смотрел - ничего путного не увидел, в смысле пакетов).

Тем не менее, словарь базы данных - перекрывает эти потребности (имена параметров процедур + имена полей и дальше... ну ты понял?)


Детали - на твое усмотрение. Сделать можно и на маздае, и на оракакле.

grexhide Codenamed5. Ну, с WEB все понятно. Как показывает практика, в большинстве случаев клиентские приложения можно размещать на сервере приложений (его роль легко исполняет сервер БД, например), и организовать автоматическое обновление.

Что значит легко исполняет сервер БД? Ты вообще о чем? Вспоминается только HtmlDB (APEX), но это - совсем иное (скажем так, middleware 2.5, а не 3).

Это ты о чем? Какой HtmlDB?? Ты никогда не писал установочный модуль, который загружает из БД, устанавливает и обновляет АРМы, что ли?

grexhide Codenamed
Скажите мне, уважаемые, где я неправ.

В выборе базовой платформы.

От базовой платформы ничего не зависит. Я не использовал никакие из фич дотнета и ADO.NET. Все что я сделал можно перенести на Delphi + Oracle. Единственное, что вспомнилось, не уверен, что в делфи есть адекватная замена DataTable и DataView, хотя на требуемом уровне их легко и самому написать.

Больше комментировать вроде нечего.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705223
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide Codenamed
На чем можно сэкономить время, я значит и $$$?

1. использовать нормальные инструменты дизайна БД (от диаграмм MS SQL Server до ERwin и Visio)

Бред. Особенно последние два убожества.



grexhide

Это описание - называется VIEW + INSTEAD OF (VIEW) триггер или процедура/пакет (не знаю, что там у вас в Мастдай SQL, в последний раз когда на 2005 смотрел - ничего путного не увидел, в смысле пакетов).



Немного рефлексии:)

Судя по данному форуму, у людей использующих Delphi или Oracle, а особенно их комбинацию:

1. Нет проблем с категоричностью высказываний

2. Характерный лексикон: использование слов "бред" и "глупость" больше на порядки

3. Просто неописуемый уровень толерантности:)

Вообще, данный форум просто клад для психологов:)

Диссертация "Зависимость модели общения программиста от средств разработки" пишется легко и непринуждённо. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705226
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
Таскать мышой - это, на самом деле, пустое. Если правильно изловчиться, то можно формочки базовые строить с должным качеством и от чисто описательной модели


Скажи что ты это сделал, вместе посмеемся.

grexhideПравда у них, на практике, получается все довольно убого.

А когда получится (ну, вдруг) неубого, кинь скриншот, я тебе подскажу несложную жизненную ситуацию, когда у тебя все съедет.

grexhideКстати, судя по твоему скриншоту (это был лучший да? ну тогда извини) - тебе бы данный подход бы очень подошел (а идея сама - проста как двери - лайоутинг от модели + чуток css подобного, и вуаля...).

Ну прости что разочаровал. Но где там надо лайоутинг воткнуть, никак не пойму. Может, ты формы справочников и документов имел в виду? Так их нет на скриншоте, показалось тебе.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705233
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drev
Судя по данному форуму, у людей использующих Delphi или Oracle, а особенно их комбинацию:


Да нет, grexhide - он у нас вроде один такой :)
По теме, однако, говорит в основном здравые вещи. Видимо, комплексы.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705235
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed grexhide
Таскать мышой - это, на самом деле, пустое. Если правильно изловчиться, то можно формочки базовые строить с должным качеством и от чисто описательной модели


Скажи что ты это сделал, вместе посмеемся.

Нет, пока у меня нечто среднее, но работа в этом направлении ведется (в построении библиотеки
именно бизнес-компонент, сознательно лишенной всяческой шелухи).

Пока прошёл вопрос именно динамического лайоутинга (ну и автоматического TabOrder). Но это
мелочи.

А насчёт BLAF - ты совсем напрасно. На вот .... http://www.oracle.com/technology/tech/blaf/index.html

Красоты там не сильно козявые, но смысл - полезен. Могу и OAF подкинуть (стукнись в личку grexhide@gmail._КОМ)


Codenamed
grexhideПравда у них, на практике, получается все довольно убого.

А когда получится (ну, вдруг) неубого, кинь скриншот, я тебе подскажу несложную жизненную ситуацию, когда у тебя все съедет.
У меня? Я то тут причём? Я тебе показал направления - если хочешь, покопай.

Самому мне сейчас недосуг (и недовозраст, что ли). Или тебе религия запрещает смотреть на все, что не от "Microsoft" ? ж))))))))))


Codenamed
grexhideКстати, судя по твоему скриншоту (это был лучший да? ну тогда извини) - тебе бы данный подход бы очень подошел (а идея сама - проста как двери - лайоутинг от модели + чуток css подобного, и вуаля...).

Ну прости что разочаровал. Но где там надо лайоутинг воткнуть, никак не пойму. Может, ты формы справочников и документов имел в виду? Так их нет на скриншоте, показалось тебе.
А на что там, на риббон смотреть?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705238
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer drevНу почему сразу глупо? :)
Из-за излишней детализации. Нарисовать форму редактирования, откомпилить ее, положить бинарник в БД, а где-то зарегистрировать, что "класс TFormXXXXX является редактором для документа XXXXX" - удобнее, чем распихивать по таблицам значения каждого свойства каждого компонента TFormXXXXX, класть туда же текст обработчиков событий, класть в сторонке "функции, которые ни к чему не привязаны, но вызываются из обработчиков событий" и пытаться со всем этим взлететь.

1. Мы начинали разговор с интерпретирующих систем типа Клиппера, где такой маппинг не нужен
2. Да не для документа, а для контрола для домена, который используется в разных формах и таблицах



drevНапример, в случае редактируемых таблиц?
И? Не очень понял, что мешает редактировать таблицы без таких огрызков кода в базе.

См. выше.

drevКроме того, а если код ассоциируется с доменом?
Да какая разница, с чем? Все равно это не "обработчик события", не "делегат", а как минимум "класс".

Совершенно не так. Не класс, а указатель на метод класса.



drevЕсли Вы работали на Клиппере, и в Москве, то вроде по возрасту должны знать Ярцева? На Softools часом не ходили? Я там как раз показывал такую систему на Клиппере.
Ярцева, увы, не припомню. Думаю, в Москве не только мы двое работали на Клиппере :) тем паче, что я был тогда весьма молод. На софтулы ходил, правда в последний раз очень давно, году в 94-95, потом стало неинтересно.

Просто он был инструктором по Клипперу и руководителем юзер-группы от СА.

Именно про 1994 год я и говорю:) Я показывал систему на финале Софтулийских Игр. Нам ещё сканер подарили как приз:)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705242
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed grexhide Codenamed
На чем можно сэкономить время, я значит и $$$?

1. использовать нормальные инструменты дизайна БД (от диаграмм MS SQL Server до ERwin и Visio)

Бред. Особенно последние два убожества.

Последние два - убожества, ты прав. Предложи что-то лучше, если знаешь.

А ничего нормального в природе нет.

Сам предпочитаю рассматривать структуру БД as-is, выделяя фильтрами и контекстами объекты в браузере (PL/SQL Developer).
А логические модели - так тем более пустое.

(Для документации же - есть генератор документации, но то - чисто для макулатуры).

Codenamed процедуры-делегаты
Не, не канает. Едея, в принципе, давно известна, но все равно - не то (долго объяснять и не к чему).



Codenamed grexhide Codenamed5. Ну, с WEB все понятно. Как показывает практика, в большинстве случаев клиентские приложения можно размещать на сервере приложений (его роль легко исполняет сервер БД, например), и организовать автоматическое обновление.

Что значит легко исполняет сервер БД? Ты вообще о чем? Вспоминается только HtmlDB (APEX), но это - совсем иное (скажем так, middleware 2.5, а не 3).

Это ты о чем? Какой HtmlDB??

Почитай сам, что изначально написал. Я тебя понял именно так.

Codenamed
Ты никогда не писал установочный модуль, который загружает из БД, устанавливает и обновляет АРМы, что ли?

Когда был молодой и глупый - именно так и написал. Теперь - у меня .EXE обновляет сам себя и (лишь потом) нужные ему (несистемные) .DLL с ftp/http сервера. Объяснять почему так?

Codenamed
grexhide Codenamed
Скажите мне, уважаемые, где я неправ.

В выборе базовой платформы.

От базовой платформы ничего не зависит. Я не использовал никакие из фич дотнета и ADO.NET. Все что я сделал можно перенести на Delphi + Oracle. Единственное, что вспомнилось, не уверен, что в делфи есть адекватная замена DataTable и DataView, хотя на требуемом уровне их легко и самому написать.
Есть. AnyDAC. Там только это все не на "поверхности", но если с Арефьевым покурить... Впрочем, тебе то это не нужно (насколько я понял ;)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705249
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide
У меня? Я то тут причём? Я тебе показал направления - если хочешь, покопай.


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

Поэтому окончательно решение было таким: формы генерировать, но только на начальном этапе. Потом все равно править руками.

grexhideИли тебе религия запрещает смотреть на все, что не от "Microsoft" ? ж))))))))))
Ты думаешь, мне на майкрософтное смотреть приятно? ))) Меня все это достало - мне нужен инструмент для решения именно моих повседневных задач. Быстро и с комфортом.

grexhideА на что там, на риббон смотреть?

На списки объектов. Они-то как раз "декларативные" - указываешь спецгриду AccessProvider, пространство имен и имя представления списка. А он сам его настраивает и загружает. Связаны они, кстати, тоже декларативно - указываешь имя составного атрибута (внешнего ключа) - и все.
Кстати, настройки списка (типа ширины, порядка колонок и пр.) для каждой пары (пространство имен, имя представления списка) сохраняются для каждого пользователя (правда, не в базе, а на клиенте).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705263
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodenamedМог бы уж догадаться, что покопал. И остался не очень доволен результатом.
Слишком много ситуаций, с которыми даже навороченный лэйаут не справляется. А чтобы это обойти приходится применять практологические методы.

Не-а... Вообще не прав. Просто ты может еще не увидел общности.

В принципе, я когда занимался изучением примеров лайоутинга - довольно быстро увидел базовую концепцию (что то вроде Table и Flow, но с вариациями), которая перекрывает 99% случаев (остальные 1% - изначально были не верны).

Впрочем, сильно загадывать не буду (пока на себе не все еще испытал, хоть и просмотрел все типовые формы).

Но это - лишь один из вопросов (правда, на который уходит без малого 90% времени верстальщика).

Codenamed
Поэтому окончательно решение было таким: формы генерировать, но только на начальном этапе. Потом все равно править руками.

Ну... это зависит, если честно, от уровня этих самых форм. По большому счету же, а не один хрен - и DFM и (не знаю, что там у вас в WinForms) можно представить чисто в виде .XML.

Вот только выбросить весь ненужный хлам (чтоб просто не перегружал обзор), и, ИМХО, будет самое оно. Впрочем, я вообще то не говорил, что все должно идти строго от модели БД(генерация, да, детали - на месте, а хочешь детали обратно в БД... тоже не вопрос, и даже полезно - см. задачу -
переименовать поле в БД и сразу проверить зависимости в клиенском коде.... очень даже актуально сие).

Codenamed
grexhideА на что там, на риббон смотреть?

На списки объектов. Они-то как раз "декларативные" - указываешь спецгриду AccessProvider, пространство имен и имя представления списка. А он сам его настраивает и загружает. Связаны они, кстати, тоже декларативно - указываешь имя составного атрибута (внешнего ключа) - и все.
Кстати, настройки списка (типа ширины, порядка колонок и пр.) для каждой пары (пространство имен, имя представления списка) сохраняются для каждого пользователя (правда, не в базе, а на клиенте).

Не... не втыкнул. Провайдеры, шмавайдеры... А на кой? Дейтасет и вперед, и понеслась. Меня от одного дейстасурса воротит (так, что прибил эту заразу), а тут - и вовсе муть какая то.

Кстати, какие еще составные ключи, внешние атрибуты? На кой? Вся эта информация есть в БД.

Впрочем, тут ликбез (идейный) - совсем отдельный.

Про отдельного (каждого) пользователя - ВООБЩЕ не вкурил (нахрена оно - в виду ролей и вообще).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705268
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideДля документации же - есть генератор документации, но то - чисто для макулатуры

Сразу видно человека, никогда не оформлявшего документацию по ГОСТ

grexhide Codenamed процедуры-делегаты
Не, не канает. Едея, в принципе, давно известна, но все равно - не то (долго объяснять и не к чему).


Скорее, ни к чему. Потому что это сделано и работает. Объем полностью перегенерируемого кода процедур для среднего документа - 2500-3500 строк. Количество делегатов порядка 10, кажется. Это на одном из завершенных проектов.

grexhideКогда был молодой и глупый - именно так и написал. Теперь - у меня .EXE обновляет сам себя и (лишь потом) нужные ему (несистемные) .DLL с ftp/http сервера. Объяснять почему так?

Конечно, модуль загрузки сам себя обновляет, это не есть выдающеесе достижение. Объяснять ничего не надо, кому что удобнее.

grexhideВпрочем, тебе то это не нужно (насколько я понял ;)
Ну почему же. Я думаю на счет порта. Под линукс :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705272
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideПо большому счету же, а не один хрен - и DFM и (не знаю, что там у вас в WinForms) можно представить чисто в виде .XML.

Ты не поверишь, но у нас в WinForms форма - это класс. Просто класс. Никаких .dfm. Определение и инициализация компонентов, которые есть на форме - в классе и его конструкторе.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705274
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed
grexhideВпрочем, тебе то это не нужно (насколько я понял ;)
Ну почему же. Я думаю на счет порта. Под линукс :)

Хехе, или на Mono или на Java.

Codenamed grexhideПо большому счету же, а не один хрен - и DFM и (не знаю, что там у вас в WinForms) можно представить чисто в виде .XML.

Ты не поверишь, но у нас в WinForms форма - это класс. Просто класс. Никаких .dfm. Определение и инициализация компонентов, которые есть на форме - в классе и его конструкторе.

Код: plaintext
Step softly, but carry a big gun


Я в курсе. Тормозит оно, при этом, в IDE - капитально (я просто не в курсе - можно ли как то еще).
Впрочем - чем не тема для "развития"? (В сторону своей IDE)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705335
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraМесяц назад запустил в космос систему, в которой большинство форм универсальные и автоматические.

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

Т.к. в системе больше информацию смотрят, чем правят, и нет большого количества сложных интерфейсов, решил сделать возможность там, где возможно, пользоваться универсальными формами, а где необходимо, делать сложные руками.
Для списков собственно форма с гридом - метод, который отдает данные, и список полей/колонок хранится в БД.
Для деталировки - опять же форма с гридом, но с двумя колонками имя-значение (кто-то раньше об этом писал, прошу прощения за тогдашнюю критику :)). Редактирование в ней же - на каждое значение поднимается формочка, соответствующая типу этого значения, в т.ч. списки. Это все также хранится в БД.
Далее хранится свзяка форм друг с другом - на деталировке на закладках показаны списочные формы (клиент - на закладках счета, заказы и т.д.)
Также связка действий, которые вызываются из текущей формы и могут поднимать другие формы, передавая параметры из текущей.

Непонятно. Если exe не меняется то, каким образом передается переменный список параметров из одной формы в другую? Т.е. если нельзя заранее (после компиляции exe-ника) сказать, что одна форма принимает от другой параметр а1, а2 и а3, то следовательно эти вызовы действие нельзя стандартизировать и тогда непонятно, что же хранится в БД чтобы осуществлять эти передачи параметров и вызовы функций? Скрипт? Или как?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705365
"Можно из БД полностью генерить интерфейс приложения.
Вся бизнес-логика естессно на уровне БД (хранимые процедуры, функции и т.д.), там же хранится и описание того, как нужно построить интерфейс, то бишь описание объектов, свойств, методов. Exe-модуль содержит только модуль коннекта к БД и сам интерпретатор кода из БД.
Скажем, запускается приложение, производится запуск ХП для чтения информации об объектах системы (Справочники, документы), строится по этому описанию меню. По выбору конкретного пункта меню осуществляется вызов соответствующей ХП для чтения информации о выбранном объекте (описание формы, к примеру), при нажатии, допустим на кнопку производится опять-таки запуск соотв. ХП и "перечитывание" интерфейса из БД + выполняются необходимые действия..."
-----------------
Ну давайте попробуем!
Имеется компьютер с лицензионной Windows XP2,
Microsoft SQL Server 2005 Express и
Microsift Visual c++ 2005 Express.
Создадим на сервере базу данных по грамматике
Visual c++, добавим на клиенте кое-чего и сгенерируем интерфейс приложения для программиста, пишущего на с++. Думаю, он обрадуется такому инструменту, а у нас будет
экспериментальное подтверждение идеи.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705391
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed grexhide
Таскать мышой - это, на самом деле, пустое. Если правильно изловчиться, то можно формочки базовые строить с должным качеством и от чисто описательной модели


Скажи что ты это сделал, вместе посмеемся.

я уже не первый год смеюсь
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705392
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван Дмитренко"Можно из БД полностью генерить интерфейс приложения.
Вся бизнес-логика естессно на уровне БД (хранимые процедуры, функции и т.д.), там же хранится и описание того, как нужно построить интерфейс, то бишь описание объектов, свойств, методов. Exe-модуль содержит только модуль коннекта к БД и сам интерпретатор кода из БД.
Скажем, запускается приложение, производится запуск ХП для чтения информации об объектах системы (Справочники, документы), строится по этому описанию меню. По выбору конкретного пункта меню осуществляется вызов соответствующей ХП для чтения информации о выбранном объекте (описание формы, к примеру), при нажатии, допустим на кнопку производится опять-таки запуск соотв. ХП и "перечитывание" интерфейса из БД + выполняются необходимые действия..."
-----------------
Ну давайте попробуем!
Имеется компьютер с лицензионной Windows XP2,
Microsoft SQL Server 2005 Express и
Microsift Visual c++ 2005 Express.
Создадим на сервере базу данных по грамматике
Visual c++, добавим на клиенте кое-чего и сгенерируем интерфейс приложения для программиста, пишущего на с++. Думаю, он обрадуется такому инструменту, а у нас будет
экспериментальное подтверждение идеи.

Вы имеете ввиду IDE для c++, интерфейс которого генерируется?

С колоризацией, форматированием, переходам типа "goto definition", следующий/предыдущий оператор, уровень вверх, code completion и т.д.?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705396
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide CodenamedМог бы уж догадаться, что покопал. И остался не очень доволен результатом.
Слишком много ситуаций, с которыми даже навороченный лэйаут не справляется. А чтобы это обойти приходится применять практологические методы.

Не-а... Вообще не прав. Просто ты может еще не увидел общности.

действительно... такие вещи впопыхах не получаются, слишком много нужно перекопать вариантов
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705414
Чтобы не было лишних разговоров будем все время определять и уточнять
используемые понятия
ПРИЛОЖЕНИЕ - множество взымосвязанных программ
ПРОГРАММА - множество предложений програмного кода
ПРЕДЛОЖЕНИЕ - множество инструкций на языке програмирования
высокого уровня ( например, на языке Visual c++ можно
выделить около сотни таких предложений )
ИНТЕРФЕЙС - множество инструментов, которые упрощают и улучшают
профессиональную деятельность человека.

По отношению к программисту это означает, что при написании
приложения он может общаться с компьютером на метаязыке предложений.
Все, что компьютер не понимает, он спрашивает.
Поскольку это письменная речь, то программист может использовать примитивы.
Например, вместо "организовать ввод данных с файла в буфер в таком-то формате"
програмист может просто написать Р7( одно из множества предложений метаязыка)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705422
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван ДмитренкоЧтобы не было лишних разговоров будем все время определять и уточнять
используемые понятия
ПРИЛОЖЕНИЕ - множество взымосвязанных программ
ПРОГРАММА - множество предложений програмного кода
ПРЕДЛОЖЕНИЕ - множество инструкций на языке програмирования
высокого уровня ( например, на языке Visual c++ можно
выделить около сотни таких предложений )
ИНТЕРФЕЙС - множество инструментов, которые упрощают и улучшают
профессиональную деятельность человека.

По отношению к программисту это означает, что при написании
приложения он может общаться с компьютером на метаязыке предложений.
Все, что компьютер не понимает, он спрашивает.
Поскольку это письменная речь, то программист может использовать примитивы.
Например, вместо "организовать ввод данных с файла в буфер в таком-то формате"
програмист может просто написать Р7( одно из множества предложений метаязыка)

То, что я описал похоже? Если добавить шорткаты типа FI - for(int i = <value1>; i < <value2>; i++) {} ?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705447
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван ДмитренкоЧтобы не было лишних разговоров будем все время определять и уточнять
используемые понятия
ПРИЛОЖЕНИЕ - множество взымосвязанных программ
ПРОГРАММА - множество предложений програмного кода
ПРЕДЛОЖЕНИЕ - множество инструкций на языке програмирования
высокого уровня ( например, на языке Visual c++ можно
выделить около сотни таких предложений )
ИНТЕРФЕЙС - множество инструментов, которые упрощают и улучшают
профессиональную деятельность человека.

это всего лишь Ваше видение того, как должно быть устроено приложение, не более. А вариантов много.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705690
Правильно! Больше того, каждый может иметь свое личное видение, свой вектор представления. Но Вы, наверно, знаете, как складываются вектора.
Из того, что я говорил вытекает: любой интерфейс можно представить как многоуровневую иерархическую систему. Можно выделить уровень интерфейса приложений, уровень интерфейса
программ и уровень интерфейса предложений.
Думаю, не будете возражать, что самым простым для понимания является последний уровень.
Приведу пример предложения. Оно организует запрос и выводит значения из базы данных

SELECT { IDISTINCT | ALL] <value expression> . , . . } / *
[INTO <host variable list> (*только внедрённый*)]
FROM <table reference> . , . .
[WHERE <predicate>]
[GROUP BY <grouping column> . , . .]
[HAVING <predicate>]
[ORDER BY <ordering column> [ASC | DESC] . , . . ];

Его можно написать ручками, с помощью генератора запросов
SQL Serve или сгенерировать с помощью процедуры, написанной
на языке Visual c++ или другом языке высокого уровня или
даже на метаязыке. А вот где эта процедура будет брать необходимы данные завит от нас. Можно все поместить в БД, а
можно и не все: разумно распрежелив функции между человеком и компьютером.
А теперь вопрос ВСЕМ ЛИ ПОНЯТНО О ЧЕМ Я ГОВОРЮ?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705725
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван ДмитренкоВСЕМ ЛИ ПОНЯТНО О ЧЕМ Я ГОВОРЮ?

Понятно... Непонятно только, зачем.
Где здесь практическое решение, способное снизить затраты на разработку и сопровождение?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705748
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван ДмитренкоА теперь вопрос ВСЕМ ЛИ ПОНЯТНО О ЧЕМ Я ГОВОРЮ?
понятно, не кричите.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705783
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван ДмитренкоПравильно! Больше того, каждый может иметь свое личное видение, свой вектор представления. Но Вы, наверно, знаете, как складываются вектора.
Из того, что я говорил вытекает: любой интерфейс можно представить как многоуровневую иерархическую систему. Можно выделить уровень интерфейса приложений, уровень интерфейса
программ и уровень интерфейса предложений.
Думаю, не будете возражать, что самым простым для понимания является последний уровень.
Приведу пример предложения. Оно организует запрос и выводит значения из базы данных

SELECT { IDISTINCT | ALL] <value expression> . , . . } / *
[INTO <host variable list> (*только внедрённый*)]
FROM <table reference> . , . .
[WHERE <predicate>]
[GROUP BY <grouping column> . , . .]
[HAVING <predicate>]
[ORDER BY <ordering column> [ASC | DESC] . , . . ];

Его можно написать ручками, с помощью генератора запросов
SQL Serve или сгенерировать с помощью процедуры, написанной
на языке Visual c++ или другом языке высокого уровня или
даже на метаязыке. А вот где эта процедура будет брать необходимы данные завит от нас. Можно все поместить в БД, а
можно и не все: разумно распрежелив функции между человеком и компьютером.

А теперь вопрос ВСЕМ ЛИ ПОНЯТНО О ЧЕМ Я ГОВОРЮ?

Где то основы информатики преподавали? Не стесняйтесь, говорите!
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705786
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сиоко Асахара Иван ДмитренкоМожно все поместить в БД, а
можно и не все: разумно распрежелив функции между человеком и компьютером.
А теперь вопрос ВСЕМ ЛИ ПОНЯТНО О ЧЕМ Я ГОВОРЮ?

Где то основы информатики преподавали? Не стесняйтесь, говорите!

Не знаю, что хотел сказать епонец, но мне интересно, что было бы, если завтра отменили РСУБД.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705835
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот и я, не ждали? :))

bebopНет задачи сделать "универсального" клиента. И тигра, насколько я его понял, универсального клиента не делал. Он добавил в клиента подсистему "Формы управляемые данными" (я бы это так назвал) и ощутил, что чась (существенная) задач стала занимать гораздо меньше времени, чем раньше.
Абсолютно верно!

grexhideПри этом появилась другая часть задач, в итоге суммарное время - увеличилось в несколько раз.
Но тигре было все равно - ведь он достиг своей цели (ради которой работал месяцы).
Откуль появилась другая часть задач? А время то почему и на что так увеличилось????
Время то как раз уменьшилось, задач стало если не меньше, то они стали проще :)

авторА то, что платформу можно написать за день-два - посмеялся отдельно. Может у тигры спросим, сколько он свой тулз строгал то?
Кстати, спрашивали, сколько я (месяцев) работал над системой, ну или строгал :)
Отвечаю: от начала работы, когда систему наконец то начал делать и прихода мысли, что надо бы как-то автоматизировать это все и до запуска для тестов уже самими пользователями прошло ... ну скажем так не больше одного !!! месяца :)) Точнее не могу сказать - много другой работы параллельно, поэтому чистое время выделить сложно.

AlexsalogНепонятно. Если exe не меняется то, каким образом передается переменный список параметров из одной формы в другую? Т.е. если нельзя заранее (после компиляции exe-ника) сказать, что одна форма принимает от другой параметр а1, а2 и а3, то следовательно эти вызовы действие нельзя стандартизировать и тогда непонятно, что же хранится в БД чтобы осуществлять эти передачи параметров и вызовы функций? Скрипт? Или как?
Параметры также задаются настройкой - есть функция, которая по имени параметра отдает значение. Т.к. параметры нужны только для того, чтобы отдать их в запрос к вебсервису, то проблем нет. Форма всегда получает параметры от другой формы, дергая эту функцию.

2 Иван Дмитренко
Не понял, что вы хотите сказать всеми своими постами. По-русски можно? Шарады мы тоже можем писать :)) Причем тут с++ ????

=====================

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

А то долго можно рассуждать и обсуждать, только непонятно что :))


-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705961
Тема топика: "Можно из БД полностью генерить интерфейс приложения"
Я пытался разбить достаточно сложную проблему на части в виде иерархической структуры,выделить типовой компонент и на нем показать, как можно решать проблему.
К сожалению, методологией решения подобных проблем никто не интересуется.
Здесь больше поверхостных бытовых разговоров.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705975
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван ДмитренкоК сожалению, методологией решения подобных проблем никто не интересуется.


Я бы на твоем месте почитал бы букварь, на предмет того, что такое методология, а что такое метод.
Просто в целях не выглядеть смешным.

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

Ты делал замеры? Боюсь что нет. И что с чем сравниваем, если не секрет?

Я просто удивляюсь - откель такая кардинальность (в разы) - упрощения, убыстрения... Может ты просто не мог использовать базовый инструмент с должным навыком?

///

Я вот, от всей этой свистопляски - вижу только увеличение времени разработки, но... увеличение качества (впрочем, второе - может запросто перекрыть первое, в условиях особо злостной хвостатости и волосатости рук вовлеченных каких индивидов).

----

Один месяц на реализацию и продумывание (тем более при параллельных задачах) - тем более, чет как то странно выглядит. Или на выходе имеем примитив, или... а действительно, мож и гениальный какой то тул (и автор, само собой);)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34705997
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideОдин месяц на реализацию и продумывание (тем более при параллельных задачах) - тем более, чет как то странно выглядит. Или на выходе имеем примитив, или... а действительно, мож и гениальный какой то тул (и автор, само собой);)
Вам это удивительно? У меня - обычная практика, за месяц запустить систему для предприятия с нуля. Ради таких возможностей в общем-то и делаются подобные тулзы.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34706004
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm за месяц запустить систему для предприятия с нуля

Вообще то за месяц можно внедрить (чет (полу-)готовое). Но разработать.... ?

// Предпроект, договор, диагностика, техзадание, техпроект, блаблабла импорт чего то там, проведение приемки, подписание актов..


Или Вы о чем вообще?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34706014
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideИли Вы о чем вообще?
о разработке конечно, мы же о ней говорим. Подписание актов, заключение договора... это разработка?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34706017
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmо разработке конечно, мы же о ней говорим. Подписание актов, заключение договора... это разработка?

IMHO разработать != запустить
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34706041
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide iscrafmо разработке конечно, мы же о ней говорим. Подписание актов, заключение договора... это разработка?

IMHO разработать != запустить
совершенно с Вами согласен. Я просто в понятие запуска не включаю акты и т.п. Это параллельный процесс.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34706410
grexhidе: "Я бы на твоем месте почитал бы букварь, на предмет того, что такое методология, а что такое метод..."

Существует много определений методологий разработки, но в данном случае мне ближе всего
"Гибкая методоло́гия разрабо́тки (англ. Agile software development) — это концептуальный каркас, в рамках которого выполняется разработка программного обеспечения.
Большинство гибких методологий нацелены на минимизацию рисков, путём сведения разработки к серии коротких циклов, называемых итерациями, которые обычно длятся одну-две недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре, и включает все задачи, необходимые для выдачи мини-прироста по функциональности: планирование, анализ требований, проектирование, кодирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации, команда выполняет переоценку приоритетов разработки". http://ru.wikipedia.org/wiki/
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34706558
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван Дмитренкоhttp://ru.wikipedia.org/wiki/

Не тот букварь читаешь.

Впрочем, можешь вот отсель начать:

http://en.wikipedia.org/wiki/Methodology
а также http://en.wikipedia.org/wiki/Methodology_%28software_engineering%29

---

Но какая там Методология может быть в построении интерфейса - это, увы, для меня загадка (для многих, уверен тоже, несмотря на твои призывы её обсудить ;))
По сути - это и не метод, и не методология, а просто - технология (скорее - принцип, способ).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34707017
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CodenamedДавайте сразу определимся. Я рассуждаю не умозрительно. У меня есть некоторый опыт использования управляемого данными функционала. Достаточно ограниченный - но всё таки опыт. Я вижу, что пользоваться им удобно и это экономит массу времени. Я могу ошибаться, когда пытаюсь разобраться в причинах этого удобства, но только не пытайтесь меня убедить в том, что мне на самом деле неудобно.
Если слово "удобно" кажется вам недостаточно строгим, подставьте вместо него "заметно меньшие трудозатраты на проект\задачу". Я часто играю роль ПМ и считать трудозатраты - моя работа.

Ещё одна мысль. Предложения типа "переделайте свои процессы разработки, увольте таких программистов, перепишите клиента, но только не делайте Ужасный Функционал Управляемый Данными", звучат не очень серьезно. Давайте соотносить цели и средства.


Codenamed bebop
1) в гуёвом коде клиентского приложения написанного несколькими поколениями программистов средней ценовой категории разбираться, почему-то, на порядок сложнее чем в серверном
Бывает, согласен. Но разбираться так и так надо. Иначе что это за система, в которой вы сами не разбираетесь?Ну мы и разбираемся. Просто это занимает заметно больше времени. Объектные модели гуёвых библиотек и клиентских приложений сами по себе имеют высокую сложность.Кроме того клиентское приложение предоставляет программисту гораздо больше возможностей выпендрится, чем код хранимой процедуры.

Codenamed bebop
2) следствие 1 - риск возникновения проблем при изменениях в клиенте, по факту (в нашей конторе) оказывается существенно выше, чем при изменениях на сервере (соответственно тратится больше времени на тестирование)
Видимо, у вас очень сложный клиент. У вас бизнес-логика сосредоточена там? Это не издевка, как могло бы показаться.. Наличие или отсутствие БЛ на клиенте мне не кажется существенным фактором. Принципиален факт того, что в клиенте что-то изменилось. Например поле переставили на 2мм ниже. Для нас это означает гемор "пересборка-регрессия-выкладка-общение с пользователями". Почему у нас это гемор я чуть ниже напишу.

Codenamed bebop
3) интеграция изменений от нескольких разработчиков, правящих одну и ту же форму- постоянная головная боль, при изменениях затрагивающих клиентское приложение, с серверным кодом проблема практически отсуствует или решается механическим "мержем".
Хм... А вот это ерунда полная. Не должны одну форму править несколько разработчиков. Либо она принадлежит к одному функциональному модулю и ее "ведет" один разработчик, либо... Это даже трудно представить, по крайней мере пример не смог придумать. Кажется, надуманная сложность. Разработчик "ведёт" форму? Это пройденный этап. При существенной частоте изменений и 8 разработчиках это означает кошмар при планировании. Кроме того это означает отсутствие взаимозаменяемости разработчиков. Геморой с правкой одной формы разными разработчиками, выглядит предпочтительнее.

Codenamed bebop
4) цикл выкладки для изменений затрагивающих клиентское приложение получается достаточно тяжёлым (интеграция изменений от нескольких разработчиков, сборка, ручное регрессионное тестирование, выкладка на нескольких промежуточных серверах, взаимодействие с пользователями ("ой, а мы не можем обновляться - у нас сейчас интенсив")
5) при проблемах откат изменений затрагивающих клиентское приложение также получается существенно более трудоёмким. А в таких ситуациях время особенно ценно.
Если отбросить проблему интеграции изменений и сборки (откуда такая проблема??)...
Неужели вы не проводите тестирование при изменении серверной части?
У вас не автоматизировано размещение на каком-то "сервере приложений" новых версий с сохранением текущих?
Вы не можете отложить момент обновления клиентской части на произвольное время после того, как она выложена на сервер? Попробую разобраться, почему у нас этот цикл такой тяжёлый получается.
Возьмём процесс по небольшому изменению - исправили ошибку или поле добавили\убрали.
a) Сборка\интеграция - здесь играет проблема 3 (правка визуальных объектов несколькими людьми одновременно) + у нас слабовато организован процесс сборки. Перед боевой сборкой нужно согласовать "голосом", что в релиз не попадёт то что не должно попасть и не пропадёт то что пропасть пока не должно. Это согласование во многом страховка от накладок по проблеме 3.

б) Тестирование - наш опыт такой - вероятность того, что при незначительном изменении в клиенте (передвинули поле) возникнут проблемы настолько существенна, что при любом изменении в клиенте мы делаем регрессионное тестирование. Ручное.
При правке серверных процедур, в большинстве случаев (не всегда), есть очень чёткое понимание на что может повлиять изменение и полную регрессию можно пропустить. Соответственно наша практика это подтверждает

в) Внедрение - Здесь два фактора - это общение с пользователями и взаимодействие с группой техподдержки, которая осуществляет внедрение (у нас такая практика).

Перерыв в работе кол-центра - очень нежелателен. Обновление клиента в середине рабочего дня, нужно согласовывать с ними "голосом". Просто уведомить по почте - сделайте обновление - нельзя. Это всё трудозатраты. Соответственно, чем незаметнее для пользователей пройдёт внедрение\откат, тем дешевле. При изменении серверных процедур мы можем вообще никому ничего не говорить. Если меняешь клиента, то придётся тратиться.

По поводу группы техподдержки - они могут быть заняты, им надо объяснять что и как, с ними надо продумывать план отката - это тоже трудозатраты. Для серверных процедур - в большинстве случаев их надо просто уведомить.

Codenamed bebop
6) клиентское приложение - вечный источник проблем. У одного пользователя офис не той версии, у другого права на реестр кривые, у третьего Windows XP, у четвёртого рантайм грида забыли развернуть итп. Соответственно каждый раз когда что-то меняешь в клиенте рискуешь собрать эти грабли.
Источник всех перечисленных проблем - это не клиентское приложение, а неудовлетворительная работа системного администратора. И эти проблемы должны решаться независимо от того, обновляете ли вы клиентскую часть, или только серверную. Когда клиентских машин 200 в нескольких офисах, трудно добиться от них идентичности конфигурации. Можно, конечно, застраивать админов. Но до того момента когда они застроятся, проектов что-ли не делать?
Потом по каждому факту админу ещё нужно доказать, что проблема именно в конфигурации машины. Или вы думаете, что админы автоматически берут вину на себя при ошибке вылетевшей из клиентского приложения?
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34707700
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bebop
...skipped (ибо устал читать)..


bebop
a) Сборка\интеграция - здесь играет проблема 3 (правка визуальных объектов несколькими людьми одновременно) + у нас слабовато организован процесс сборки. Перед боевой сборкой нужно согласовать "голосом", что в релиз не попадёт то что не должно попасть и не пропадёт то что пропасть пока не должно. Это согласование во многом страховка от накладок по проблеме 3.

Чет вообще не понятно. На кой визуальные правки делать тремя людьми одновременно?
Вы чай инвалидов каких набираете, с нарушением двигательных каких фукнций
(один на клавиатуре чет там, другой мышой, третий командует и линейкой отступы меряет)?

bebop
б) Тестирование - наш опыт такой - вероятность того, что при незначительном изменении в клиенте (передвинули поле) возникнут проблемы настолько существенна, что при любом изменении в клиенте мы делаем регрессионное тестирование. Ручное.

А на чем строгаете то? Чай на Oracle Forms (я что то не припомню другую чудо среду, у которой
сдвиг Item-а мог привести к крушению цивилизации).

bebop
При правке серверных процедур, в большинстве случаев (не всегда), есть очень чёткое понимание на что может повлиять изменение и полную регрессию можно пропустить. Соответственно наша практика это подтверждает

Что вы в большинстве не делаете регрессию? ну ну.

bebop
Перерыв в работе кол-центра - очень нежелателен. Обновление клиента в середине рабочего дня, нужно согласовывать с ними "голосом". Просто уведомить по почте - сделайте обновление - нельзя. Это всё трудозатраты. Соответственно, чем незаметнее для пользователей пройдёт внедрение\откат, тем дешевле. При изменении серверных процедур мы можем вообще никому ничего не говорить. Если еняешь клиента, то придётся тратиться.

Ээ.... обновление делается или в окна (как правило в ночные или вечерние), либо, в случае 24x7...
впрочем, у вас же не 24x7, чего распинацца то?

bebop
6) клиентское приложение - вечный источник проблем. У одного пользователя офис не той версии, у другого права на реестр кривые, у третьего Windows XP, у четвёртого рантайм грида забыли развернуть итп. Соответственно каждый раз когда что-то меняешь в клиенте рискуешь собрать эти грабли.

И чо? Забейте на реестр, забейте на конченный компонент грида, забейте даже на MS Office. Ориентируйтесь вон на открытые форматы и нативную запись. Делов то. Хорошее приложение -
должно работать везде и всегда (где вообще работает что либо).

bebopИсточник всех перечисленных проблем - это не клиентское приложение, а неудовлетворительная работа системного администратора.
Бред сивой кобылы, извиняюсь. Сисадмины то при чем? Оставьте этих лузеров в покое,
пусть вон домены тачают, да принтеры заправляют/настраивают

bebop Когда клиентских машин 200 в нескольких офисах, трудно добиться от них идентичности конфигурации.
ЭТО ЭЛЕМЕНТАРНО !

Эталонная конфигурация, автоматически обновляемая с сервера. Все пользовательские параметры (читай профили) - только в БД. Алилуя.

bebopМожно, конечно, застраивать админов. Но до того момента когда они застроятся, проектов что-ли не делать?
На Вашем бы месте - я бы, если честно, задумался - а стоит ли делать их вообще....

bebop
Потом по каждому факту админу ещё нужно доказать, что проблема именно в конфигурации машины. Или вы думаете, что админы автоматически берут вину на себя при ошибке вылетевшей из клиентского приложения?

Как то вы криво системы строите. По большому счету, нормальному приложению должно быть глубоко фиолетово, как оно и на чем оно. Все необходимое прикладное имеет право доинсталлироваться с сервера, трижды верифицироваться, и только потом запуститься пред ясны
очи счастливого пользователя.
И - никак иначе. (Т.е. в иделе - это должно быть вообще одно приложение, просто .EXE).
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708190
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grexhide bebop
a) Сборка\интеграция - здесь играет проблема 3 (правка визуальных объектов несколькими людьми одновременно) + у нас слабовато организован процесс сборки. Перед боевой сборкой нужно согласовать "голосом", что в релиз не попадёт то что не должно попасть и не пропадёт то что пропасть пока не должно. Это согласование во многом страховка от накладок по проблеме 3.

Чет вообще не понятно. На кой визуальные правки делать тремя людьми одновременно?
Вы чай инвалидов каких набираете, с нарушением двигательных каких фукнций
(один на клавиатуре чет там, другой мышой, третий командует и линейкой отступы меряет)?
Чего непонятного? Выполняются 3 параллельных разных проекта. Все они затрагивают контролы на экранной форме "Счёт". Возможно одни и те же. Автоматическое слияние изменений в этом случае затруднено. Есть достаточно большая вероятность неожиданных эффектов.
Кроме того нужно голосом договариваться кто после кого будет форму править.

grexhideЭталонная конфигурация, автоматически обновляемая с сервера. Все пользовательские параметры (читай профили) - только в БД. Алилуя. Мы работали с переносимыми профилями - не понравилось (не мне, я не админ). Сейчас постепенно отказываемся от них.

grexhideЭэ.... обновление делается или в окна (как правило в ночные или вечерние), либо, в случае 24x7...впрочем, у вас же не 24x7, чего распинацца то?
Можно конечно автоматизировать выкладку обновлений, так чтобы они делались ночью, но тогда несколько человек должно выйти в 8-30 утра, на случай если будут проблемы. А лучше в 7-30.

Опять же тема откатов. При откате обновлений обычно нет возможности ждать "окна".

grexhideЧто вы в большинстве не делаете регрессию? ну ну.Как раз проблема в том, что приходится делать её чаще чем хотелось бы. Она ручная.

grexhide
И чо? Забейте на реестр, забейте на конченный компонент грида, забейте даже на MS Office. Ориентируйтесь вон на открытые форматы и нативную запись. Делов то. Хорошее приложение -
должно работать везде и всегда (где вообще работает что либо).

Как то вы криво системы строите. По большому счету, нормальному приложению должно быть глубоко фиолетово, как оно и на чем оно. Все необходимое прикладное имеет право доинсталлироваться с сервера, трижды верифицироваться, и только потом запуститься пред ясны
очи счастливого пользователя.
И - никак иначе. (Т.е. в иделе - это должно быть вообще одно приложение, просто .EXE).

На Вашем бы месте - я бы, если честно, задумался - а стоит ли делать их вообще....
Пойду задумаюсь а стоит ли делать проекты вообще ;)

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

Ты делал замеры? Боюсь что нет. И что с чем сравниваем, если не секрет?

Я просто удивляюсь - откель такая кардинальность (в разы) - упрощения, убыстрения... Может ты просто не мог использовать базовый инструмент с должным навыком?
А я то как удивляюсь!!!!
Ты не видел то, что было, что стало, не знаешь, что за система и что я конкретно сделал - и так категорично заявлять???????? Телепат?????

Однако, это сильно часто у нас что-то практикуется - объявлять кому-то, что он оказывается и не быстро сделал, и не просто, а все ему только кажется, и на самом деле все плохо, а только трава хорошая...

grexhideЯ вот, от всей этой свистопляски - вижу только увеличение времени разработки, но... увеличение качества (впрочем, второе - может запросто перекрыть первое, в условиях особо злостной хвостатости и волосатости рук вовлеченных каких индивидов).
Еще одно категоричное высказывание без какой-либо информации, доказательств и т.д.

grexhideОдин месяц на реализацию и продумывание (тем более при параллельных задачах) - тем более, чет как то странно выглядит. Или на выходе имеем примитив, или... а действительно, мож и гениальный какой то тул (и автор, само собой);)
Я же написал, чего я сделал - что там такого страшного? Если для тебя это сложно, то я тогда не знаю, о чем говорить.
Моего опыта хватило, чтобы сделать за месяц работающий вариант.
Еще месяц не мешало бы потратить на доведение этого варианта до вообще хорошего состояния, потому как делал быстро. Но это тоже не много.

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

К сведению, я не генерю никаких контролов и не расставляю их - на это наверное надо времени побольше. Но я счел это слишком заумным и в данном случает ненужным.

--------

2 iscrafm
Ты не думал сделать форму деталировки в виде грида имя-значение? Не надо размещать контролы, и влезет информации хоть 3 км вниз :))
Как я понял, средний слой у тебя за коннекты в основном отвечает? На вебсервисах не думал сделать?

2 bebop
Кстати, эта система тоже для колцентра в том числе.

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708353
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide ......
Как то вы криво системы строите. По большому счету, нормальному приложению должно быть глубоко фиолетово, как оно и на чем оно. Все необходимое прикладное имеет право доинсталлироваться с сервера, трижды верифицироваться, и только потом запуститься пред ясны
очи счастливого пользователя.
И - никак иначе. (Т.е. в иделе - это должно быть вообще одно приложение, просто .EXE).
Розовые мечты....!!! :))
Представь на минуту, что в мире много-много компаний, и тех, кто разрабатывает, и тех. кто использует. И все они разные. Не во всех компаниях каждую форму прикрепляют к конкретному разработчику пожизненно, не у всех есть возможность "доинсталлировать" по с сервера и т.д. и т.п.
У меня даже нет нормальной возможности переслать ехе, чтобы хотя бы завтра оно обновилось.
И т.д. и т.п.
Потому считать самую распрекрасную модель, в которой все счастливы, существующей везде во всем мире, не корректно.

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708434
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется я понял. Большая часть дискуссии- свелась к вопросам процессов разработки

Я считаю, что для малых изменений предпочтителен подход (назову его 1й процесс):
"получить запрос на изменение - реализовать - быстро выложить и протестировать на пользователях, если что не так быстро поправить"
оправдывает себя - заказчик максимально удовлетворяется при минимальных трудозатратах.
Для больших или рискованных проектов это работает плохо.

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

2й процесс считается формально "правильным" и объективно снижает риск проблем.
1й процесс хорошо себя показывает, если знать его границы.

Управляемый данными функционал (УДФ) позволяет расширить границы применимости 1го процесса.
Мне это нравится. Заказчику тоже. Если не выходить за границы - то никаких ощутимых проблем с ним нет.

В принципе для 2го процесса УДФ тоже хорошо работает. Только там будет несколько другая аргументация и другие акценты.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708442
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra2 iscrafm
Ты не думал сделать форму деталировки в виде грида имя-значение? Не надо размещать контролы, и влезет информации хоть 3 км вниз :))
Как я понял, средний слой у тебя за коннекты в основном отвечает? На вебсервисах не думал сделать?

нет, в виде грида не думал. :) Средний слой и за коннекты тоже конечно отвечает, но основное назначение - управление контентом системы. Описание всех сервисов, раздает кому что нужно, коннектит куда нужно и т.д. Web не web... все равно сервисы.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708715
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm tygra2 iscrafm
Ты не думал сделать форму деталировки в виде грида имя-значение? Не надо размещать контролы, и влезет информации хоть 3 км вниз :))
Как я понял, средний слой у тебя за коннекты в основном отвечает? На вебсервисах не думал сделать?

нет, в виде грида не думал. :) Средний слой и за коннекты тоже конечно отвечает, но основное назначение - управление контентом системы. Описание всех сервисов, раздает кому что нужно, коннектит куда нужно и т.д. Web не web... все равно сервисы.
Ну зато вебсервисы не требуют открытия каких-то портов для какого-то приложения - им вебсервера хватает, не многие согласятся открыть доступ для апп-сервера во внешний мир :) Как ни доказывай

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708751
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraНу зато вебсервисы не требуют открытия каких-то портов для какого-то приложения - им вебсервера хватает, не многие согласятся открыть доступ для апп-сервера во внешний мир :) Как ни доказывай

tygra, вопрос философский...:) Главное защитить то, что открыто.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708918
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra
Ты делал замеры? Боюсь что нет. И что с чем сравниваем, если не секрет?

Я просто удивляюсь - откель такая кардинальность (в разы) - упрощения, убыстрения... Может ты просто не мог использовать базовый инструмент с должным навыком?
А я то как удивляюсь!!!!
Ты не видел то, что было, что стало, не знаешь, что за система и что я конкретно сделал - и так категорично заявлять???????? Телепат?????

Однако, это сильно часто у нас что-то практикуется - объявлять кому-то, что он оказывается и не быстро сделал, и не просто, а все ему только кажется, и на самом деле все плохо, а только трава хорошая...


Дело не в траве. Но я сильно сомневаюсь, что за месяц можно придумать, создать и отладить действительно стоящий инструмент, дающий значимый эффект (внедрить и оценить отдачу).

Вот честно. У меня лишь на фоновое концептуальное осмысление и оценку всех аспектов,
проблематики и вариантов реализации может уходить до полугода (при том сама реализация - ну
день-два, плюс откатка с неделю). Если говорить про сопоставимый функционал (озвученный ранее).

В твоём же случая - я просто увидел типовое верхоглядство или хваствовство (внешние признаки),
потому и засомневался (больше в сроках). Так что никакой телепатии. Может быть я и не прав,
но - лишь выразил сомнения (скорее рефлекторно). Привычка - не обижайся ;)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708925
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bebopПредложения типа "переделайте свои процессы разработки, увольте таких программистов, перепишите клиента, но только не делайте Ужасный Функционал Управляемый Данными", звучат не очень серьезно.

Где ж я такое говорил-то?? И зачем тогда уже лет пять делаю "Функционал Управляемый Данными" в том или ином виде?

bebopВыполняются 3 параллельных разных проекта. Все они затрагивают контролы на экранной форме "Счёт".

Так вот в чем проблема! Попробуйте для 3 разных проектов сделать, соответственно, три разные формы для счета! Это, естественно, если я вас правильно понял: что вы имели в виду три проекта для трех разных заказчиков. И если это действительно так, то представляю, с какими трудностями вы сталкиваетесь!

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

Если же вы стараетесь не впадать в зависимость от конкретных сотрудников, то это уже плохо пахнет.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708933
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, обновление клиентской части - это в подавляющем большинстве ситуаций не есть проблема.
Достаточно залить новую версию на deployment сервер, и в нужный момент объявить ее текущей. Загрузочный модуль на клиенте увидит это, загрузит обновленную версию и потребует от пользователя завершить работу. После чего заменит файлы приложения на обновленные и позволит работать дальше.

А в случае отката достаточно объявить текущей предыдущую версию (она ведь никуда не делась с deployment сервера) загрузочный модуль точно так же загрузит ее и произведет обновление.

Причем это работает даже при весьма дохлых каналах связи. А если система состоит из кластеров, внутри которых связь нормальная, а между - тормозная, то здесь надежнее в каждом кластере завести свой сервер обновлений (благо, и у MS SQL, и у Oracle есть бесплатные версии) а между ними и большим деплойментом наладить репликацию.

Собственно, все.

Код: plaintext
Step softly, but carry a big gun
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708942
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Codenamed bebopВыполняются 3 параллельных разных проекта. Все они затрагивают контролы на экранной форме "Счёт".Так вот в чем проблема! Попробуйте для 3 разных проектов сделать, соответственно, три разные формы для счета! Это, естественно, если я вас правильно понял: что вы имели в виду три проекта для трех разных заказчиков. И если это действительно так, то представляю, с какими трудностями вы сталкиваетесь!
У нас один заказчик. Большой поток мелких заявок на доработку функционала (до сотни в месяц). Это наряду с несколькими относительно большими проектами.
В такой ситуации по одной и той же форме часто параллельно ведётся несколько проектов и проектиков.

Codenamed Если же вы стараетесь не впадать в зависимость от конкретных сотрудников, то это уже плохо пахнет. А если человек уволится, заболеет итд итп? Это нормальная практика, если не доводить её до фанатизма.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708963
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CodenamedКстати, обновление клиентской части - это в подавляющем большинстве ситуаций не есть проблема. ... Достаточно интересная схема. А если сервер с клиентскими приложениями терминальный - (т.е. много пользователей использует один и тот же, грубо говоря, екзешник) ?

Даже если отвлечься от темы - "аргументы за и против УДФ", то в целом, мне НЕ кажется, что автоматизация выгладки клиента кардинально снизит трудозатраты по статье "внедрение". Мне кажется большинство трудозатрат там организационные - позвонить, договориться, приготовиться к откату.

Согласитесь, что отсутствие процедуры выкладки клиента вообще, всё таки менее трудоёмко, чем супер-автоматизированная выкладка.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708975
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2bebop: угу, я понял вашу ситуацию.

bebopВ такой ситуации по одной и той же форме часто параллельно ведётся несколько проектов и проектиков.

Вот об этом я и говорю. Почему бы не сделать свою копию формы для каждого проекта? Тогда в каждом проекте ее смогут подогнать под собственные нужды, но все изменения будут изолированными внутри отдельного проекта или проектика, а это дорогого стоит. Ведь это колоссально снизит объемы регрессионного тестирования.

Кстати, интересно было бы узнать: у вас есть выделенные специалисты-тестировщики (как бы их не называли), то есть люди, у которых это - основная работа.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708987
Codenamed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bebopСогласитесь, что отсутствие процедуры выкладки клиента вообще, всё таки менее трудоёмко, чем супер-автоматизированная выкладка.

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

Но согласитесь и вы, что иметь в своем распоряжении решение, позволяющее быстро обновлять клиентскую часть, по крайней мере, полезно.

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

Причем работает настолько хорошо, что обновление - рутинная процедура, не требующая дополнительного уведомления кого бы то ни было.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34708991
bebop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Codenamed Почему бы не сделать свою копию формы для каждого проекта? Тогда в каждом проекте ее смогут подогнать под собственные нужды, но все изменения будут изолированными внутри отдельного проекта или проектика, а это дорогого стоит. Ведь это колоссально снизит объемы регрессионного тестирования. Заказчик один и форма Счёт соответственно одна. Механически - не разделишь. Но в целом согласен, что в перспективе формы надо разгружать и разделять (скажем выносить отдельный по смыслу функционал в отдельные формы).

CodenamedКстати, интересно было бы узнать: у вас есть выделенные специалисты-тестировщики (как бы их не называли), то есть люди, у которых это - основная работа. Есть 2 человека. И ещё их начальник, правда сам он редко тестирует.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34709435
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codenamed2bebop: угу, я понял вашу ситуацию.

bebopВ такой ситуации по одной и той же форме часто параллельно ведётся несколько проектов и проектиков.

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

bebopДаже если отвлечься от темы - "аргументы за и против УДФ", то в целом, мне НЕ кажется, что автоматизация выгладки клиента кардинально снизит трудозатраты по статье "внедрение". Мне кажется большинство трудозатрат там организационные - позвонить, договориться, приготовиться к откату.

Согласитесь, что отсутствие процедуры выкладки клиента вообще, всё таки менее трудоёмко, чем супер-автоматизированная выкладка.
Поддерживаю. Отсутствие каких-либо действий лучше, чем их присутствие. Даже если действия вроде-бы где-то автоматические.

grexhideДело не в траве. Но я сильно сомневаюсь, что за месяц можно придумать, создать и отладить действительно стоящий инструмент, дающий значимый эффект (внедрить и оценить отдачу).
Ну опять за свое
То, что я сделал, делать неделю, если не отвлекаться. Ну по крайней мере мне :)
Как можно высказывать мнение, не видя сделанного? Да даже и не видя - из описания понятно, что все просто, я не углублялся в компоненты, их расстановку и т.д.

grexhideВот честно. У меня лишь на фоновое концептуальное осмысление и оценку всех аспектов,
проблематики и вариантов реализации может уходить до полугода (при том сама реализация - ну
день-два, плюс откатка с неделю). Если говорить про сопоставимый функционал (озвученный ранее).
Ну вот видишь - день-два всего.
А осмыслять полгода - это нужна либо такая задача, либо ... так осмыслять :) У меня задача простая, там только лишь настройка связей между формами и начитывание их специфических свойств - многостраничность, редактируемость и т.д. Никакого vcl-ного гемора :)

grexhideВ твоём же случая - я просто увидел типовое верхоглядство или хваствовство (внешние признаки),
потому и засомневался (больше в сроках). Так что никакой телепатии. Может быть я и не прав,
но - лишь выразил сомнения (скорее рефлекторно). Привычка - не обижайся ;)
Я же добавлял - не мешал бы еще месяц, чтобы отполировать функционал, но пока времени нет, пока работает для клиентов так, как надо, а уж внутри пусть пока подождет.
Я не продумывал все возможные случаи и комбинации - что необходимо в данный момент, то и сделал.

Могу даже рассказать, как оно сделано, и станет понятно, что делать это недолго.

ЗЫ Мне правда уже надоело программировать, перестаю потихоньку :)

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34710102
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraЗЫ Мне правда уже надоело программировать, перестаю потихоньку :)


Как я тебя понимаю ;)))

Впрочем, при нормальном инструментарии - программировать в Delphi нечего, только версткой (свойств в т.ч.) заниматься (ща тут яверам поди икнется с их ограниченным гридобаттнокидание восприятием).

Что отчётов, что форм.

Программировать же ИМХО, имеет интерес только в части самого инструментария, но в прикладных задачах - чё там на клиенте программить то нужно? 25-ый способ валидации данных или выпадающие списки через ComboBox?

Ну а сервер... А что сервер - сервер это святое, перекладываение так сказать, бизнес-сучности на IT рельса (пока еще таки приходится чуток напрягать извилины в этом вопросе, правда - больше в методическом плане, паттерны (лекала) кодирования каких пакетов хранимок - чей давно поди пройденный этап).

--

Но про суть своего инструмента - таки расскажи. Интересно ведь.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34712896
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra
Могу даже рассказать, как оно сделано, и станет понятно, что делать это недолго.

А я бы с удовольствием послушал (и не только ...;), ибо актуально. (можно ли котя бы концепцию?)

если на мыло - то ts-andy DOG yandex.ru
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34717765
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел написать, начал, но понял - не мой сегодня день для больших и умных текстов, криво получается, оставлю на завтра :))

-- Tygra's --
Мои фотогалереи тут и тут
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34752167
Сергей Фролов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerУгу. Вот к этому все в итоге сводится - "маленькая примитивная дельфа". Без нормального редактора, без нормального отладчика и с примитивным результатом. При этом программисты жутко довольны - поскольку они занимаются НАСТОЯЩИМ ДЕЛОМ, разрабатывают КРУТОЕ ЯДРО, а для реальной работы - набираются толпы неграмотных невесть кого, поскольку "они дешевые, а у нас все примитивно".

Надо сказать, сейчас вожусь ровно с такой же системой. И пока что не вижу гениальности в этом подходе; как только нужен интерфейс сложнее "списка колонок в столбик", так хоть плачь.
Читаю, и чувствую в себе проблески гениальности. Эту мысль я понял на третьем году профессиональной работы. :)
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34752231
Фотография Сиоко Асахара
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide tygraЗЫ Мне правда уже надоело программировать, перестаю потихоньку :)


Как я тебя понимаю ;)))

Впрочем, при нормальном инструментарии - программировать в Delphi нечего, только версткой (свойств в т.ч.) заниматься (ща тут яверам поди икнется с их ограниченным гридобаттнокидание восприятием).

Что отчётов, что форм.

Программировать же ИМХО, имеет интерес только в части самого инструментария, но в прикладных задачах - чё там на клиенте программить то нужно? 25-ый способ валидации данных или выпадающие списки через ComboBox?

Ну а сервер... А что сервер - сервер это святое, перекладываение так сказать, бизнес-сучности на IT рельса (пока еще таки приходится чуток напрягать извилины в этом вопросе, правда - больше в методическом плане, паттерны (лекала) кодирования каких пакетов хранимок - чей давно поди пройденный этап).

Мне кажется, истина где то рядом, но она как минимум на одно измерение дальше. Ваш спор, напоминает мне соперничество и спор двумерных существ по поводу пирамид. На дополнительное измерение я уже скромно намекал! Как говорится, допустите недопустимое и познаете истину и истина сделет вас свободными...Не все ответы находятся в технической плоскости чисто технического вопроса...Побудьте философом, закройте учебники по программерству и откройте Достоевского, попробуйте ответить наконец на его вопрос, : " А был ли мальчик? "
--

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

Мне кажется, истина где то рядом, но она как минимум на одно измерение дальше. Ваш спор, напоминает мне соперничество и спор двумерных существ по поводу пирамид. На дополнительное измерение я уже скромно намекал! Как говорится, допустите недопустимое и познаете истину и истина сделет вас свободными...Не все ответы находятся в технической плоскости чисто технического вопроса...Побудьте философом, закройте учебники по программерству и откройте Достоевского, попробуйте ответить наконец на его вопрос, : "А был ли мальчик?"

друзья зовут меня Красавчег Сёка
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34752245
Сергей Фролов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой-ё-ёй, как ужасно. Стыдно не знать русскую классику, особенно если ее цитируете. Эта фраза принадлежит Максиму Горькому...
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34771048
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей ФроловОй-ё-ёй, как ужасно. Стыдно не знать русскую классику, особенно если ее цитируете. Эта фраза принадлежит Максиму Горькому...

Про мальчика - программиста
который плохо кончил
патаму шта выбрал неправильный интерфейс
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34857320
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ниасилил многабукаф

В начале было сказано, что такой реализации нет.
Кто полностью прочитал, были посты что такое есть?

Я сделал такую систему. Но я не стал полностью все формы генерировать по метаданным, а только простые формы. Более сложные я все-таки делаю в Дельфях, но вызываются они через метаданные. В базе регистрируется класс формы для сущности и в Дельфях через FindClass находится.

Кроме того, в Монолит-Инфо сделан визуальный дизайнер форм с сохранением всего описания в базе. Это как если бы dfm файл Дельфишной формы хранить структурированно в базе. Мало того, в базе же хранятся JAVA скрипты, которые подвешаны к основным события формы.

Дизайнер позволяет наследовать формы. Работать с этими формами можно из любой среды которая поддерживает Ole.
...
Рейтинг: 0 / 0
Построение интерфейса приложения из БД
    #34905785
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таких систем немало.
Из тиражируемых раньше была БОСС-Компания (не путать с БОСС-корпорация), у меня даже где-то демка завалялась.
Из малотиражных: Монолит SQL (коммерческая ERP), NEXUS (КИС, открытая, бесплатная, http://nexus.arbinada.com)
...
Рейтинг: 0 / 0
336 сообщений из 336, показаны все 14 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Построение интерфейса приложения из БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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