XML и веб-службы
В нашем мире, где постоянно усиливается взаимодействие, всё большему количеству приложений необходимо обеспечивать поддержку различных веб-служб. Иногда веб-службы просто обеспечивают дополнительную функциональность, иногда они составляют главное назначение приложения. Даже для приложений, которые долгое время были автономными, сейчас считается рациональным использование веб-служб.
Платформа GNOME предоставляет поддержку веб-служб приложениями и обеспечивает полным набором библиотек для использования, управления и преобразования XML — языка веб.
- 4.5.1. SOAP
- 4.5.2. Обработка XML
- 4.5.3. Преобразование XML с помощью XSLT
4.5.1 SOAP
GNOME при помощи библиотеки libsoup обеспечивает поддержку SOAP — широко используемого протокола передачи XML сообщений через HTTP. SOAP позволяет разработчику опубликовать программные интерфейсы через веб, которые приложения могут использовать для обмена информацией, выполнения транзакций и выполнения любых других возможных действий.
SOAP может быть использован для поиска и получения информации, взаимодействия с интернет-магазином, для управления учётными записями пользователей на других системах и множества других целей. Веб сервисы используются всё больше и больше для предоставления важной функциональности, и приложения, использующие SOAP, могут обеспечить пользователю более целостную функциональность.
Библиотека libsoup содержит реализацию HTTP и набор API необходимый для создания и обработки сообщений SOAP. Она также поддерживает безопасную аутентификацию, поэтому Веб-сервисы можно использовать для доступа к секретным данным через безопасное соединение. С помощью библиотеки libsoup легко использовать веб-сервисы без необходимости вручную разбирать и интерпретировать сообщения, посылаемые по SOAP.
За дополнительной информацией обратитесь к Справочнику по libsoup.
4.5.2 Обработка XML
Со дня официального представления в 1998 г. XML (eXtensible Markup Langauge) используется во всё большем количестве приложений. Он используется для широкого круга целей: от форматов документирования, например XHMTL и DocBook, до протоколов интернета, например SOAP и Jabber. XML имеет простой и чёткий базовый синтаксис, что позволяет сконцентрироваться на конкретных нуждах приложения.
GNOME поставляется с библиотекой libxml2, которая широко используется в рабочем окружении. Библиотека libxml2 обладает хорошим быстродействием и полностью совместима со стандартами XML, обеспечивая всё необходимое для работы приложений с XML.
Библиотека libxml2 предоставляет различные API для работы с XML, поэтому в приложениях можно использовать наиболее подходящий API. Кроме оригинального API, libxml2 также предоставляет основанный на обратных вызовах SAX2 API, интерфейсы потокового чтения и записи XML, и полную поддержку XPath.
Кроме поддержки механизма DTD, библиотека libxml2 полностью поддерживает верификацию документов с помощью RELAX NG, который предоставляет более гибкую модель верификации, оставаясь легким в использовании. Также частично поддерживается XML Schema — новый язык схем, представленный консорциумом W3C.
Для непосредственной работы с XML в приложении следует использовать библиотеку libxml2, что обеспечит полностью совместимую со стандартами обработку и вывод XML. Что позволит разработчикам не беспокоиться о совместимости приложений.
За подробной информацией о libxml2 обратитесь к Руководству по Libxml и Справочнику по libxml2.
4.5.3 Преобразование XML с помощью XSLT
XSLT — это язык,основанный на XML, который предназначен для преобразования XML в другие форматы. XSLT основан на шаблонах, позволяющих соотносить определённые типы элементов XML и создавать соответствующие выходные элементы. Основанный на XML и XPath, XSLT позволяет разработчикам преобразовывать одно представление на основе XML в другое, более подходящее для данного приложения.
Библиотека libxslt, поставляемая с GNOME, полностью реализует XSLT и создана на базе XML и поддержки XPath в библиотеке libxml2, что обеспечивает быстродействие и полную совместимость со стандартами.
Для трансформации документов необходимо использовать библиотеку libxslt, что может существенно упростить разработку, хотя выбор XSLT для обработки XML оправдан не всегда. Библиотека libxslt позволяет добавлять расширенные элементы и функции, что может обеспечить всё необходимое для использования в конкретном приложении.
За дополнительной информацией о libxslt обратитесь к Библиотеке XSLT для языка C для Gnome.