|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
iscrafm2. Те, кого называете "толпами неграмотных" стоят на порядок дороже, чем те, кого считаете крутыми. Так что с "дешевыми" явно обознались. Угу. И при этом их занимают хрен знает чем, вместо того, чтобы посадить рядом того же "крутого", который знает SQL и все прочее. Парадокс. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 17:38 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
softwarerУгу. И при этом их занимают хрен знает чем, вместо того, чтобы посадить рядом того же "крутого", который знает SQL и все прочее. Парадокс. конечно. Зачем заниматься какой-то логикой, холдингами, расчетами, методиками, регламентами и прочей ерундой. Нужно тупо посадить крутого знатока SQL , который напишет гениальные запросы и натаскает контролов в гениальные формы. Не сомневался в таком ответе. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 17:46 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
iscrafm Вы не нашли ничего лучше, как попытаться не заметить разницы между "посадить рядом" и "посадить вместо". Ай, молодца, так держать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 17:52 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
tygra softwarer Попробую привести аргументы за тигрин подход На моём нынешнем месте работы, по факту, внесение изменений в хранимки или данные на sql-сервере получается чуть ли не на порядок дешевле, чем аналогичные изменения на клиенте. Причины по моему мнению такие 1) в гуёвом коде клиентского приложения написанного несколькими поколениями программистов средней ценовой категории разбираться, почему-то, на порядок сложнее чем в серверном 2) следствие 1 - риск возникновения проблем при изменениях в клиенте, по факту (в нашей конторе) оказывается существенно выше, чем при изменениях на сервере (соответственно тратится больше времени на тестирование) 3) интеграция изменений от нескольких разработчиков, правящих одну и ту же форму- постоянная головная боль, при изменениях затрагивающих клиентское приложение, с серверным кодом проблема практически отсуствует или решается механическим "мержем". 4) цикл выкладки для изменений затрагивающих клиентское приложение получается достаточно тяжёлым (интеграция изменений от нескольких разработчиков, сборка, ручное регрессионное тестирование, выкладка на нескольких промежуточных серверах, взаимодействие с пользователями ("ой, а мы не можем обновляться - у нас сейчас интенсив") 5) при проблемах откат изменений затрагивающих клиентское приложение также получается существенно более трудоёмким. А в таких ситуациях время особенно ценно. 6) клиентское приложение - вечный источник проблем. У одного пользователя офис не той версии, у другого права на реестр кривые, у третьего Windows XP, у четвёртого рантайм грида забыли развернуть итп. Соответственно каждый раз когда что-то меняешь в клиенте рискуешь собрать эти грабли. Сейчас подумал - мне кажется корневая причина - 1. Предпосылка к этому - то что интерфейсные объекты устроены гораздо сложнее, чем серверный код. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 18:05 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
softwarer iscrafm Вы не нашли ничего лучше, как попытаться не заметить разницы между "посадить рядом" и "посадить вместо". Ай, молодца, так держать. заметил. только это относилось к фразе, что проектировщиков занимают хрен знает чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 18:08 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
7) Небольшие изменения, "заплатки", если их делать на уровне БД стоят чуть-ли не на два порядка дешевле, чем если бы они затрагивали клиент. Часто можно вообще пропустить цикл "тестирование"-"внедрение" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 18:19 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
на софтварены слова я конечно внимания обращать не буду, но по поводу здравых мыслей: в этой ветке был человек который обосновывал универсальные интерфейсопостроители именно с коммерчекой точки зрения. Это ли не единственный и главный повод для разработки собственного фреймворка. Деньги решают всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 18:37 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
softwarer tygraЭто бессмысленно. ... а сейчас делаете то же, что начинает делать любой активный ламер как только научится динамически создавать компоненты. Я так понимаю, это и есть ваше мнение по теме топика? Похвально! И очень доказательно! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 18:52 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
bebopПопробую привести аргументы за тигрин подход В первую очередь спасибо, давно не приходилось встречать столь хорошего изложения. Было бы интересно глубже обсудить сказанное Вами, но перед этим позволю себе во-вторых задать несколько уточняющих вопросов, а во-первых дать "короткий универсальный ответ". Мне кажется, ваша ситуация не является прямым аргументом "за тигрин подход", в следующем смысле: если вы сейчас все бросите и реализуете тигрин подход теми же программистами в тех же условиях (включая множество поколений) далеко не факт, что станет лучше. "Не факт" по нескольким причинам, из которых первой назову следующую: реализация универсального клиента - более сложная задача, требущая более высокой квалификации проектирования и кодирования, нежели реализация "неуниверсальная". Если ваши программисты не сумели хорошо решить вторую задачу - сомнительно, что они осилят первую. А для более детальной беседы было бы интересно узнать следующее: 1. На чем сделан проект? Сервер, клиент, основные библиотеки? 2. Полагаете ли Вы, что проект реализован "в целом верно"? То есть "серверное" делается на сервере, "клиентское" на клиенте итп. 3. Полагаете ли Вы, что квалификация людей, делавших сервер и клиент, была примерно одинаковой, и качество реализации того и другого примерно одинаковое? Я понимаю, что трудно сопоставлять разные вещи, но все же. 4. Когда Вы сопоставляете изменения в клиенте и в сервере, Вы имеете в виду разные задачи или же "одну, которую можно было бы решить и там, и там"? Или задачи, которые приводят к модификации как сервера, так и клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 19:02 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
softwarer Мне кажется, ваша ситуация не является прямым аргументом "за тигрин подход", в следующем смысле: если вы сейчас все бросите и реализуете тигрин подход теми же программистами в тех же условиях (включая множество поколений) далеко не факт, что станет лучше. "Не факт" по нескольким причинам, из которых первой назову следующую: реализация универсального клиента - более сложная задача, требущая более высокой квалификации проектирования и кодирования, нежели реализация "неуниверсальная". Если ваши программисты не сумели хорошо решить вторую задачу - сомнительно, что они осилят первую. Нет задачи сделать "универсального" клиента. И тигра, насколько я его понял, универсального клиента не делал. Он добавил в клиента подсистему "Формы управляемые данными" (я бы это так назвал) и ощутил, что чась (существенная) задач стала занимать гораздо меньше времени, чем раньше. Т.к. система не универсальная, то мегаквалификации для её написания не надо. Сам я собираюсь сделать тоже что-то вроде такой системы. Сейчас, по факту, у нас управляются данными только простые отчёты. И нам они очень нравятся. Хочется расширить и углубить. softwarer 1. На чем сделан проект? Сервер, клиент, основные библиотеки? ms sql + вб.нет\шарп (правда есть ещё клиент на ацессе). Общая идеология системы - бизнес-логика на хранимках. Хотя не везде этот подход соблюдается. softwarer 2. Полагаете ли Вы, что проект реализован "в целом верно"? То есть "серверное" делается на сервере, "клиентское" на клиенте итп. 3. Полагаете ли Вы, что квалификация людей, делавших сервер и клиент, была примерно одинаковой, и качество реализации того и другого примерно одинаковое? Я понимаю, что трудно сопоставлять разные вещи, но все же.У нас большая, старая развивашаяся стихийно почти 10 лет, торговая система. Всё что можно сделать неправильно сделано неправильно. Качество реализации одинаковое, что на клиенте, что на сервере. Низкое. softwarer 4. Когда Вы сопоставляете изменения в клиенте и в сервере, Вы имеете в виду разные задачи или же "одну, которую можно было бы решить и там, и там"? Или задачи, которые приводят к модификации как сервера, так и клиента? Да и те и те. Моя правда жизни такова, что если тронуть клиентское приложение, то часто стоимость этапов ("тестирование" + "внедрение") оказывается на порядок больше стоимости этапов ("анализ" + "разработка"). Я кажется догадываюсь, почему, вам с тигрой никак не удаётся понять друг друга. У вас цикл "анализ-разработка-тестирование-внедрение" занимает месяца. У нас релиз делается раз в 1.5-2недели. И ещё несколько хотфиксов между релизами. (Думаю у тигры что-то вроде этого). Соответственно, для вас затраты на регрессию и внедрение это проценты от стоимости решения. А у нас они могут получиться дороже собственно функционала. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 19:45 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
bebopОн добавил в клиента подсистему "Формы управляемые данными" (я бы это так назвал) и ощутил, что чась (существенная) задач стала занимать гораздо меньше времени, чем раньше. При этом появилась другая часть задач, в итоге суммарное время - увеличилось в несколько раз. Но тигре было все равно - ведь он достиг своей цели (ради которой работал месяцы). bebopКачество... Низкое. И вы решили опустить его еще ниже? bebop Я кажется догадываюсь, почему, вам с тигрой никак не удаётся понять друг друга. У вас цикл "анализ-разработка-тестирование-внедрение" занимает месяца. У нас релиз делается раз в 1.5-2недели. Вранье. Даже в системе, где цикл выпуска релиза растянут на месяцы - патчи выпускаются порой по три штуки в день. И как то нет никаких проблем - обновить клиента (а вот обновить сервер - есть проблема, но это тараканы PL/SQL). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 20:05 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
grexhide bebopОн добавил в клиента подсистему "Формы управляемые данными" (я бы это так назвал) и ощутил, что чась (существенная) задач стала занимать гораздо меньше времени, чем раньше.При этом появилась другая часть задач, в итоге суммарное время - увеличилось в несколько раз. Какая? grexhideНо тигре было все равно - ведь он достиг своей цели (ради которой работал месяцы). Вы действительно думаете, что эта подсистема "весит" человекомесяцы? Вы представляете себе явно что-то из разряда "универсального клиента". grexhide bebop Я кажется догадываюсь, почему, вам с тигрой никак не удаётся понять друг друга. У вас цикл "анализ-разработка-тестирование-внедрение" занимает месяца. У нас релиз делается раз в 1.5-2недели. Вранье. Даже в системе, где цикл выпуска релиза растянут на месяцы - патчи выпускаются порой по три штуки в день. И как то нет никаких проблем - обновить клиента (а вот обновить сервер - есть проблема, но это тараканы PL/SQL). Судя по всему, вы занимаетесь контрактной разработкой и с in-house'ом вам приходится сталкиваться мало. Там есть, скажем так, свои особенности. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 20:45 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
bebopСудя по всему, вы занимаетесь контрактной разработкой и с in-house'ом вам приходится сталкиваться мало. Там есть, скажем так, свои особенности. Я работал в обоих структурах. И, по большому счету, особой разницы в этом всем нет. По большому счету, даже очень крупные и "долгие" (в выпуске релиза) комании имеют свой небольшой in-house (пусть это будет команда тестеров или пилотный проект). Так что мимо. ... А то, что платформу можно написать за день-два - посмеялся отдельно. Может у тигры спросим, сколько он свой тулз строгал то? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 21:05 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
grexhideПри этом появилась другая часть задач, в итоге суммарное время - увеличилось в несколько раз. Ещё раз, можно пояснить какие задачи появились у тигры, что его суммарные трудозатраты увеличились в несколько раз? grexhide bebopСудя по всему, вы занимаетесь контрактной разработкой и с in-house\'ом вам приходится сталкиваться мало. Там есть, скажем так, свои особенности. Я работал в обоих структурах. И, по большому счету, особой разницы в этом всем нет. По большому счету, даже очень крупные и "долгие" (в выпуске релиза) комании имеют свой небольшой in-house (пусть это будет команда тестеров или пилотный проект). Так что мимо.... ОК. не угадал. Но вы практик и я практик. У нас диаметрально противоположные точки зрения. Соответственно или мы говорим о разном или надо искать разницу в контексте (особенности процесса разработки, технологические особенности, особенности бизнеса итд). grexhide А то, что платформу можно написать за день-два - посмеялся отдельно. Может у тигры спросим, сколько он свой тулз строгал то? Ну может не день-два, но, думаю, не столько, чтобы потом было мучительно больно :). Опять же слово "платформа" навевает мысли, что вы представляете что-то достаточно большое и навороченное. Прочитайте ещё раз описание . Чего там делать несколько месяцев? 2tygra Можно попросить пару скриншотов? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 21:22 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Из чего, собственно, состоит написание нормальной двух- трехзвенки, не считая отчетов? 1. Подготовили таблицы и представления 2. Написали хранимые процедуры 3. Сделали формы редактирования 4. Сделали большие главные формы АРМов 5. Разместили приложение (на клиентах или на сервере) И так по кругу, пока заказчик не удовлетворен. На чем можно сэкономить время, я значит и $$$? 1. использовать нормальные инструменты дизайна БД (от диаграмм MS SQL Server до ERwin и Visio) 2. Использовать частичную генерацию кода хранимых процедур (покрывает всяко больше 90% кода хранимок) 3. Упростить разработку форм редактирования: можно вынести в базовый класс функциональность сопоставления элементов ввода и полей таблицы/объекта при загрузке формы и сохранении результатов, вызов хранимых процедур и пр. В итоге получается, что б о льшая часть форм не содержит вообще никакого кода. Все создание формы заключается в удобном расположении контролов на форме и указанию каждому контролу, за какой атрибут (поле) он отвечает. Дополнительно можно реализовать генерацию первичной версии формы. 4. Тут упростить можно постольку, поскольку... Реально можно хранить в БД описание (определение) списка объектов. Тогда можно сваять несложный компонент (например, на базе стандартного грида), который сам настраивается под произвольный список по его описанию и загружает данные. 5. Ну, с WEB все понятно. Как показывает практика, в большинстве случаев клиентские приложения можно размещать на сервере приложений (его роль легко исполняет сервер БД, например), и организовать автоматическое обновление. Скажите мне, уважаемые, где я неправ. И имеет ли смысл декларативно описывать формы в п. 3, если это повлечет следующие трудности: а) отказ от штатного дизайнера форм; б) необходимость изобретать само такое описание; в) проблема добавления дополнительных элементов ввода для специальных целей - в описании формы придется указывать, где этот компонент брать (codebase, так сказать) и подгружать дополнительные модули при необходимости. Не проще ли сделать все это в нормальном дизайнере и сложить в .dll, которая потом упадет клиенту? Где выигрыш-то получается при data-driven подходе? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 22:18 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
CodenamedНе проще ли сделать все это в нормальном дизайнере и сложить в .dll, которая потом упадет клиенту? Где выигрыш-то получается при data-driven подходе? Я думал, что я здесь привёл аргументы. http://www.sql.ru/forum/actualthread.aspx?tid=456205&pg=11#4478121 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 22:24 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
1024на софтварены слова я конечно внимания обращать не буду, но по поводу здравых мыслей: в этой ветке был человек который обосновывал универсальные интерфейсопостроители именно с коммерчекой точки зрения. Это ли не единственный и главный повод для разработки собственного фреймворка. Деньги решают всё. Иногда важнее способность быстрее изменить систему, чем конкурент. Т.е. в "коммерческую" точку зрения осмысленно включить весь комплекс конкурентных преимуществ декларативного подхода, а не только снижение затрат на разработку и сопровождение. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 22:44 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
Я понимаю, что ситуации бывают разные, но тем не менее: bebop 1) в гуёвом коде клиентского приложения написанного несколькими поколениями программистов средней ценовой категории разбираться, почему-то, на порядок сложнее чем в серверном Бывает, согласен. Но разбираться так и так надо. Иначе что это за система, в которой вы сами не разбираетесь?? bebop 2) следствие 1 - риск возникновения проблем при изменениях в клиенте, по факту (в нашей конторе) оказывается существенно выше, чем при изменениях на сервере (соответственно тратится больше времени на тестирование) Видимо, у вас очень сложный клиент. У вас бизнес-логика сосредоточена там? Это не издевка, как могло бы показаться. bebop 3) интеграция изменений от нескольких разработчиков, правящих одну и ту же форму- постоянная головная боль, при изменениях затрагивающих клиентское приложение, с серверным кодом проблема практически отсуствует или решается механическим "мержем". Хм... А вот это ерунда полная. Не должны одну форму править несколько разработчиков. Либо она принадлежит к одному функциональному модулю и ее "ведет" один разработчик, либо... Это даже трудно представить, по крайней мере пример не смог придумать. Кажется, надуманная сложность. bebop 4) цикл выкладки для изменений затрагивающих клиентское приложение получается достаточно тяжёлым (интеграция изменений от нескольких разработчиков, сборка, ручное регрессионное тестирование, выкладка на нескольких промежуточных серверах, взаимодействие с пользователями ("ой, а мы не можем обновляться - у нас сейчас интенсив") 5) при проблемах откат изменений затрагивающих клиентское приложение также получается существенно более трудоёмким. А в таких ситуациях время особенно ценно. Если отбросить проблему интеграции изменений и сборки (откуда такая проблема??)... Неужели вы не проводите тестирование при изменении серверной части? У вас не автоматизировано размещение на каком-то "сервере приложений" новых версий с сохранением текущих? Вы не можете отложить момент обновления клиентской части на произвольное время после того, как она выложена на сервер? bebop 6) клиентское приложение - вечный источник проблем. У одного пользователя офис не той версии, у другого права на реестр кривые, у третьего Windows XP, у четвёртого рантайм грида забыли развернуть итп. Соответственно каждый раз когда что-то меняешь в клиенте рискуешь собрать эти грабли. Источник всех перечисленных проблем - это не клиентское приложение, а неудовлетворительная работа системного администратора. И эти проблемы должны решаться независимо от того, обновляете ли вы клиентскую часть, или только серверную. Заранее извиняюсь, если где-то ответил некорректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 22:52 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
drev Иногда важнее способность быстрее изменить систему, чем конкурент. Т.е. в "коммерческую" точку зрения осмысленно включить весь комплекс конкурентных преимуществ декларативного подхода, а не только снижение затрат на разработку и сопровождение. Согласен, но декларативный подход - это не только создание UI "из БД". Перетаскивание на форму нужных контролов в дизайнере и указание каждому атрибута, за который он отвечает, безо всякого дополнительного "рутинного" кода - это тоже декларативный подход. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 22:56 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
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. Оксюморон, но очень много умных и правильных идей там было. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 22:57 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
bebop Сам я собираюсь сделать тоже что-то вроде такой системы. Сейчас, по факту, у нас управляются данными только простые отчёты. И нам они очень нравятся. Хочется расширить и углубить. Все подобные системы начинаются именно с простых отчётов. Следующий шаг - сложные, там понравится ещё больше. Затем добавляется декларативное описание интерфейса ввода фильтрующих значений для отчёта. Отсюда прямая дорога к использованию подобного механизма для декларативного описания форм. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 22:59 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
CodenamedСогласен, но декларативный подход - это не только создание UI "из БД". Перетаскивание на форму нужных контролов в дизайнере и указание каждому атрибута, за который он отвечает, безо всякого дополнительного "рутинного" кода - это тоже декларативный подход. Не-а. Таскать мышой - это, на самом деле, пустое. Если правильно изловчиться, то можно формочки базовые строить с должным качеством и от чисто описательной модели (ккккхм.... такой подход есть в Oracle BLAF, в реализации OAF (OEBS). Они только концептуальную модель рисуют, а от этой концептуальной модели - рисуется сам интерфейс). Правда у них, на практике, получается все довольно убого. Но сама идея - вполне себе. Впрочем, глядя на среднестатичный единичный софт (просто жуть чего там творится в стилистике и дизайне) - BLAF был бы для них спасением (лучше хоть какой то стиль, чем вообще никакого). Кстати, судя по твоему скриншоту (это был лучший да? ну тогда извини) - тебе бы данный подход бы очень подошел (а идея сама - проста как двери - лайоутинг от модели + чуток css подобного, и вуаля...). Но тут тоже оговорюсь - любителей и вообще способных "думать" в XML - это еще поискать (я вот - не могу, хоть ты тресни, в смысле - в XML "программировать/дизайнить"). ---- Кстати, для пущего разумения. В WinForms, WPF и (тем более - папа) VCL - разработчика перегружают на 99% информационным шумом (свойств). А для бизнес-задач - не дают вообще нихрена. Вот теперь - подумай (а лучше посмотри, если есть доступ на металинк) - что может иметь ценность именно как "бизнес-свойства" (впрочем, на металинк можно и особо не смотреть, там только 15-20% полезной инфы, остальное - дань Web/Java всякой разной шелухе). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 23:05 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
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, хотя на требуемом уровне их легко и самому написать. Больше комментировать вроде нечего. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 23:16 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
grexhide Codenamed На чем можно сэкономить время, я значит и $$$? 1. использовать нормальные инструменты дизайна БД (от диаграмм MS SQL Server до ERwin и Visio) Бред. Особенно последние два убожества. grexhide Это описание - называется VIEW + INSTEAD OF (VIEW) триггер или процедура/пакет (не знаю, что там у вас в Мастдай SQL, в последний раз когда на 2005 смотрел - ничего путного не увидел, в смысле пакетов). Немного рефлексии:) Судя по данному форуму, у людей использующих Delphi или Oracle, а особенно их комбинацию: 1. Нет проблем с категоричностью высказываний 2. Характерный лексикон: использование слов "бред" и "глупость" больше на порядки 3. Просто неописуемый уровень толерантности:) Вообще, данный форум просто клад для психологов:) Диссертация "Зависимость модели общения программиста от средств разработки" пишется легко и непринуждённо. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 23:22 |
|
Построение интерфейса приложения из БД
|
|||
---|---|---|---|
#18+
grexhide Таскать мышой - это, на самом деле, пустое. Если правильно изловчиться, то можно формочки базовые строить с должным качеством и от чисто описательной модели Скажи что ты это сделал, вместе посмеемся. grexhideПравда у них, на практике, получается все довольно убого. А когда получится (ну, вдруг) неубого, кинь скриншот, я тебе подскажу несложную жизненную ситуацию, когда у тебя все съедет. grexhideКстати, судя по твоему скриншоту (это был лучший да? ну тогда извини) - тебе бы данный подход бы очень подошел (а идея сама - проста как двери - лайоутинг от модели + чуток css подобного, и вуаля...). Ну прости что разочаровал. Но где там надо лайоутинг воткнуть, никак не пойму. Может, ты формы справочников и документов имел в виду? Так их нет на скриншоте, показалось тебе. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2007, 23:27 |
|
|
start [/forum/topic.php?fid=33&msg=34704902&tid=1548962]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 157ms |
0 / 0 |