Информ.система на основе XML - прошу советов

MoSoft-ic

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

Здесь:
Д0 — ручное описание опроса спецом предметной области (например, социологом).
Д1 — валидный XML-документ, описывающий опрос (анкету).
Д2 — совокупность онлайн-форм, предъявляемых опрашиваемому для заполнения.
П1 — процесс перевода (кодирования) опроса в XML-документ.
П2 — процесс получения форм онлайн-опроса из XML-документа.
БД — база данных результатов опроса.

Т.к. у меня нет опыта разработки на основе XML, хочется получить какие-то содержательные советы на начальной стадии, чтобы не зарулить в тупик.
С форматом документа Д1 почти всё ясно, чего отнюдь не скажешь о блоках П1 и П2.
Я считаю, что П1 вполне можно и рационально реализовать с помощью готовых XML-редакторов (типа XMLSpy). Но заказчик пока склоняется к онлайн-конструктору, причем заточенному под «социологов» (т.е. не айтишников).
П2 — еще большая загадка. Я, конечно, слышал/читал про XSLT, но и только.
На схеме я упустил программную оболочку вокруг Д2. Видимо, ее разумно писать на PHP, она и будет вбивать данные ответов в БД.

Прошу советов, критики и т.д.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
первый вопрос: кто решил и на каком основании, что система будет на основе XML, если у Вас, как проектировщика, нет с ним опыта?

у вас на одну задачу получается 5 слоев уровня приложения, вместо стандартных 3х, и меня это настораживает
 

MoSoft-ic

спец по системам
первый вопрос: кто решил и на каком основании, что система будет на основе XML, если у Вас, как проектировщика, нет с ним опыта?
Эта идея моя, но она вполне понравилась технич.консультанту заказчика. ИМХО, XML тут как раз к месту. (конечно, я в курсе того, что одну задачу можно решить сотнями способов с применением десятков инструментов).
у вас на одну задачу получается 5 слоев уровня приложения, вместо стандартных 3х, и меня это настораживает
А вот этого я не понял, сорри :)
А как насчет советов?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
ты же не советов просишь, ты просишь научить выполнять свою работу
 

MoSoft-ic

спец по системам
будем надеяться, что кроме продвинутого Григория тут есть еще люди... %)
 

Вурдалак

Продвинутый новичок
А зачем это самое XML-описание опросов? Почему в БД же не может храниться вся информация по опросу?
 

MoSoft-ic

спец по системам
А зачем это самое XML-описание опросов? Почему в БД же не может храниться вся информация по опросу?
а зачем воще его (XML) придумали? может, и БД нафиг? всё на ассемблере писать, всё в массивах на МЛ (магнитной ленте) держать :)
 

Фанат

oncle terrible
Команда форума
MoSoft-ic
Ну, лично мне кажется, что XML - это такой формат текстового файла, навроде csv. Малозначительная техническая подробность, существенного влияния на алгоритм решения задачи не имеющая. Можно просто написать - хранилище. А что там будет - n-мерная таблица в бд, текстовый файл, текстовый файл с тегами - дело десятое.

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

По-моему, формату хранилища что в вопросе, что в обсуждении придаётся слишком большое значение
 

Вурдалак

Продвинутый новичок
Он разделил хранение данных сразу в 2 разных хранилища. Неясно зачем и почему. Даже ему самому.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Вурдалак да ясно и зачем и почему - тут же предполагается разнородная система, 2 или 3 разных приложения, и тс нутром чует, что надо как-то их связать, а обычно это делается через xml
но что советовать человеку, который не знает, что такое 3 слоя приложения?
 

MoSoft-ic

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

Фанат

oncle terrible
Команда форума
А то, что в XML-е удобно вносить изменения даже в Блокноте даже не айтишнику - это что, мало?
Это невозможно :)
XML - формат для роботов, а не для людей.

не знаю, в каких видах лучше получать Д2:
в 99% случаев формы генерируются динамически. Не вижу препятствий и в данном случае.
Вопрос, на мой взгляд, тоже совершенно малозначительный.
 

MoSoft-ic

спец по системам
XML - формат для роботов, а не для людей.
... но вполне читаемый и легко понимаемый людьми! именно поэтому он стал таким популярным.
в 99% случаев формы генерируются динамически. Не вижу препятствий и в данном случае.
Вопрос, на мой взгляд, тоже совершенно малозначительный.
ну, препятствия-то есть... например, как насчет скорости? я читал, что вся эта хня типа XSLT-процессоров довольно медлительна... или за 4-5 лет положение изменилось?
 

newARTix

Новичок
ты вроде как сказал что будет онлайн редактор для социологов, так причем тут "удобно вносить изменения даже в Блокноте"?
Получается что будет онлайн редактор. И будет база данных. Опять же ты упомянул PHP? Значит онлайн часть будет реализована на PHP, которому пофиг в каком формате хранить данные. XML получается третим лишним.
Если нужно еще десктопное приложение, то думаю ему тоже будет пофиг в каком формате получать данные, то ли XML, то ли JSON, то ли INI.

Почему XML стал популярным? Да хз.
 

Фанат

oncle terrible
Команда форума
... но вполне читаемый и легко понимаемый людьми! именно поэтому он стал таким популярным.
Читьать - да. Но "вносить изменения в блокноте" - это в 99% случаев делать невалидный XML, который потом не будет понят роботом вообще.
Учитывая, что ты собирался заставить неких социологов этим заниматься - твоя вера в XML несколько превышает разумные пределы.
как насчет скорости? я читал, что вся эта хня типа XSLT-процессоров довольно медлительна... или за 4-5 лет положение изменилось?
Что значит "довольно медлительна"?
Медлительно настолько, что убивает любые попытки им воспользоваться? Значит, XSLT преобразование должно было давно умереть.
Но ведь сам говоришь, что широко используется. Значит, наверное, у других оно как-то ползает? А почему у тебя должно тормозить?
Где логика?
 

MoSoft-ic

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

tz-lom

Продвинутый новичок
MoSoft-ic
правильно,а вместо доки давать XML Schema
социологи они же все с компьютером на ты
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
вот с этого последнего утверждения и надо было начинать выбор профессии
иди лучше устройся копирайтером
 

MoSoft-ic

спец по системам
не вам, батенька, это решать ;)
а так-то да, я и копирайтером иногда подкалымливаю, почему нет?
 
Сверху