powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Построение интерфейса приложения из БД
25 сообщений из 336, страница 11 из 14
Построение интерфейса приложения из БД
    #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
25 сообщений из 336, страница 11 из 14
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Построение интерфейса приложения из БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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