Для реализации “Хотелки №1” необходимо создать прототип библиотеки компонентов для построения среды передачи данных посредством протокола XML-RPC.
Свой проЭкт, на текущем этапе, я буду разрабатывать для платформы Windows. Возможно когда-нибудь я смогу реализовать кроссплатформенность, но это пока из разряда “мечталок”.
Итак, в качестве среды разработки выбираю Delphi 2010, демо-версия которой доступна на сайте производителя.
Составные части проектируемой библиотеки:
- Компонент “DdbXmlRpcClient”. (Для построения клиентских приложений).
- Компонент “DdbXmlRpcServer”. (Для построения сервера приложений).
- Источник данных. (Для обеспечения подключений к “Хранилищу данных”, дальше по тексту - ХД).
В рамках этой задачи необходимо:
- На стороне клиентского компонента обеспечить формирование и передачу запроса серверному компоненту на получение некоторых данных из ХД;
- На стороне серверного компонента обеспечить парсинг клиентского запроса, затем сформировать и отправить запрос к ХД;
- На стороне серверного компонента принять данные из ХД. Сформировать и отправить ответ клиентскому компоненту;
- На стороне клиентского компонента обеспечить обработку ответа, полученного от серверного компонента, затем отобразить полученные данные на экране пользователя системы.
Реализация “хотелки №1”. Начало.
Для начала я дал Имя нашей новой библиотеке, для последующего использования. Отныне она будет называться Delphi dbXmlRpc (VCL), что на человеческом языке означает – “Delphi Database XmlRpc (Visual Component Library)”. Прошу любить и жаловать...
В качестве базовой библиотеки для реализации задуманного буду использовать компонент Delphi XML-RPC for Windows and Kylix for GNU/Linux (разработчики: Clifford E. Baeseman и Team-DXmlRpc):
- Последняя версия доступная на сайте - 2.0.0 в CVS - 2.1.0;
- Дата последнего обновления: 2004-04-20;
- Поддерживается работа в средах Delphi 6, 7;
- Для работы необходимы компоненты INDY 9 и XMLParcer от Stefan Heymann (входит в комплект);
- Компонент уже достаточно давно не обновлялся авторами, но необходимый базовый функционал в нем заложен.
- Для использования в проЭкте – годен (потребуется относительно небольшая доработка).
Я установил Delphi 2010, а с ним идет INDY 10. Для начала придется "довести до нужной кондиции" используемые сторонние компоненты Delphi XML-RPC, и XMLParcer, а именно:
- Адаптировать для Delphi 2010 (желательно обеспечить совместимость с предыдущими версиями IDE и RAD Studio);
- Адаптировать для использования с INDY 10 (желательно сохранить совместимость с предыдущей версией INDY 9).
Я использовал последние доступные версии библиотек 2.1.0 и 1.0.17 соответственно. После некоторых "танцев с бубном" удалось адаптировать код используемых библиотек для работы с UNICODE и собрать все это хозяйство в Delphi 2010. Поддержку предыдущих версий среды буду реализовывать позже...
Сборка получилась на “скорую руку”, по-быстрому, короче – “рыба”, но мне, для испытания возможностей выбранных базовых компонентов – достаточно.
Кому интересно посмотреть что у меня получилось смотрим: http://www.opensvn.ru/project_info.php?id_project=dbxmlrpc
Читатель: "А где же передача данных?"
Писатель: "Вот отшлифую текущие наработки - тогда продолжим..."
За сим прощаюсь.