Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > XML - запрос, что это ?


Автор: 4epT 21.10.2011, 21:44
Здравствуйте! Есть задание .... нужно сделать веб приложение, которое работает с базой. По заданию сказано что должен делать xml-запрос, он должен как то обрабатываться и отдать ответ так же в xml виде.

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

Мне приходит в голову несколько вариантов:

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

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

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

Автор: boevik 21.10.2011, 22:44
Цитата(4epT @  21.10.2011,  21:44 Найти цитируемый пост)
Понятно что к базе нельзя сделать xml - запрос, что тогда имеется ввиду в этом задании ?

Я бы не торопился с таким поспешным выводом, почитать можно http://msdn.microsoft.com/ru-ru/library/ms345117%28v=sql.90%29.aspx.

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

Автор: 4epT 22.10.2011, 00:04
То есть я например могу послать запрос сервлету, у которого первый тег будет например какое то действие (insert, delete, select) дальше тегами идут какие  то параметры, написать специальный парсер который будет эту строку парсить и разбивать на параметры - parameterName и parameterValue, а потом какой то логикой формировать SQL запрос в базу ... я правильно понял ?

А как база может отдать ответ в XML ?

Автор: boevik 22.10.2011, 00:50
Цитата(4epT @  22.10.2011,  00:04 Найти цитируемый пост)
То есть я например могу послать запрос сервлету, у которого первый тег будет например какое то действие (insert, delete, select) дальше тегами идут какие  то параметры, написать специальный парсер который будет эту строку парсить и разбивать на параметры - parameterName и parameterValue, а потом какой то логикой формировать SQL запрос в базу ... я правильно понял ?

Да, правильно.


Цитата(4epT @  22.10.2011,  00:04 Найти цитируемый пост)
А как база может отдать ответ в XML ? 

К примеру, MSSQL:
Код

select * from table1 FOR XML AUTO

Автор: Samotnik 22.10.2011, 12:31
Цитата(4epT @  21.10.2011,  21:44 Найти цитируемый пост)
 По заданию сказано что должен делать xml-запрос

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

Автор: 4epT 22.10.2011, 14:00
Цитата(Samotnik @ 22.10.2011,  12:31)
куда ?

По заданию не ясно куда ...

А как клиент с сервером могут обмениваться XML ? Это нужно при помощи POST посылать строку, в которой будет зашит XML ?

что то вроде - www.host.ru?param="<param name='att'>value</param>...." ?

Автор: Vasay 22.10.2011, 14:25
4epT 

ИМХО от Вас хотят web-сервис.

http://ru.wikipedia.org/wiki/SOAP
http://ru.wikipedia.org/wiki/XML-RPC

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)