 | Уровень сложности: средний Никлас Чейз, Независимый автор, Backstop Media Мишель Митри, адъюнкт-профессор, James Madison University
07.11.2007 В этой серии статей подробно рассматривается создание mashup-приложений, которые дают пользователю возможность управления отображаемыми данными. Теперь, когда вы знаете, как создать онтологию, которая определяет представляемые сервисами концепты, вы можете дать пользователям возможность выбора того сервиса, который они хотят использовать.
Предисловие
Это руководство предназначено для разработчиков, которые желают узнать, как использовать онтологии с помощью API, в частности, в данном случае, Jena API, а также тех, кто хочет просто посмотреть, как можно использовать онтологии и другие семантические концепты в реальных приложениях. В нем рассматривается онтология, созданная вами в частях 3 и 4, которая интегрируется в mashup-приложение, созданное вами в первой части, предоставляя пользователю выбор сервисов, используемых в приложении.
Это руководство предполагает, что вы знакомы с понятиями XML, схемы описания ресурсов (RDF), онтологий и языка Web-онтологий (OWL). В нем также используется язык программирования Java, однако, если вы просто ищете концептуальные идеи реализации, это неважно. Если вам нужно обновить свои знания по любому из этих вопросов (конечно же, за исключением Java), обратите внимание на предыдущие части этой серии. Ссылки на них (а также на хорошие ресурсы по Java) можно найти в разделе Ресурсы.
Об этой серии руководств
Похоже, сегодня в Интернете невозможно найти сайт, который бы либо не предлагал доступ к данным посредством API-интерфейса на базе Web-сервисов, либо не использовал данные с другого сайта, полученные посредством тех же API-интерфейсов Web-сервисов. Если оценить преимущества использования существующей информации в ваших собственных приложениях, это не слишком удивительно. Кто-то раньше или позже должен быть начать комбинировать данные этих несходных систем для получения чего-то качественно нового. Такие приложения, называемые mashup – это «последний писк» моды в Web, от сайтов сообществ до специальных поисковых сайтов и вездесущих mashup-отображений.
Все эти приложения, как правило, полезны, но их объединяет одна общая черта - все они разработаны для определенного набора сервиса. Если параметры какого-либо сервиса изменяются, вам необходимо проделать большую работу.
Целью этой серии руководств является создание настолько интеллектуального mashup-приложения, чтобы пользователь буквально мог добавлять и удалять сервисы по желанию, а система сама знала, что с ними делать. Логика серии построена следующим образом:
В первой части содержится введение в основные понятия mashup, показывается, как они работают и создается простой пример такого приложения. Также описываются серьезные проблемы производительности, связанные с обработкой множественных Web-запросов.
Во второй части некоторые из этих проблем решаются с помощью новых возможностей pureXML™, реализованных в IBM® DB2®, за счет построения кэша XML, который сохраняет результаты предыдущих запросов и позволяет извлекать необходимую информацию.
И, наконец, вам нужно будет использовать онтологии, или словари, которые определяют концепты и их отношения, поэтому в третьей части этот процесс начинается с изучения RDF и RDFS, двух ключевых составляющих языка Web-онтологий (OWL), который обсуждается в четвертой части. В пятой части вы используете онтологии, созданные в четвертой части, чтобы позволить пользователям изменять источники информации.
Шестая часть руководства покажется вам еще более увлекательной. К этому моменту у вас уже будет создано рабочее приложение и схема, необходимые для того, чтобы система могла использовать семантический анализ для понимания сервисов, находящихся в ее распоряжении. В этой части вы дадите пользователю возможность управления и позволите ему добавлять новые сервисы в онтологию и осуществлять подбор данных, используемых в собственном mashup.
Об этом руководстве
В предыдущих руководствах этой серии объяснялось, что такое mashup и как его можно использовать для комбинирования данных из нескольких источников. Одна из целей этой серии - создание системы со встроенным интеллектом, способным переключиться с одного сервиса на другой без необходимости заранее точно знать, каким образом представлена информация. Чтобы это сделать, нужно определить концепты, например "bookstore" (книжный магазин), "DVD", "price" (цена) и так далее.
В предыдущих руководствах этой серии вы создали mashup-приложение, которое дает пользователю возможность запрашивать информацию по определенной теме или ключевому слову. Данные предоставляются сервисами, которые написаны как Java-класс. В этом руководстве вы узнаете, как дать пользователю возможность выбора сервиса, данные которого будут использоваться.
Из этого руководства вы узнаете, как:
- Загружать онтологию и работать с ней
- Программно извлекать элементы онтологии
- Работать со свойствами и их значениями из онтологии или другого документа RDF
- Преобразовывать произвольный результат REST в стандартный онтологический индивид
- Отображать информацию онтологии в HTML
В этом руководстве вы будете кодировать информацию об индивидуальных сервисах в файле OWL. После этого вы будете извлекать эту информацию с помощью интерфейса Jena API и использовать ее для формирования запроса REST. И, наконец, вы преобразуете ответ REST в стандартную форму, отображая ее, как и раньше, в виде страницы HTML.
Необходимые условия
Для работы с кодом, приведенным в этом руководстве, вам нужно установить и проверить работу следующего программного обеспечения.
-
IBM® DB2® 9 (ранее известная как "Viper"): Эта система управления реляционными базами данных имеет широкие возможности работы с XML, необходимые для этого руководства. Вы можете загрузить оценочную версию DB2 9: DB2 Enterprise 9 или DB2 Express-C 9, бесплатную версию сервера данных DB2 Express 9.
-
Apache Tomcat или другой механизм для запуска сервлетов: В этом руководстве предполагается, что вы создаете Web-приложения с помощью сервлетов, поэтому вам необходим механизм для их запуска, например, Apache Tomcat. Если вы хотите создавать приложение в другой среде, убедитесь, что у вас установлено необходимое программное обеспечение. Загрузите пакет apache-tomcat-5.5.17.zip и установите его в каталог, в названии которого нет пробелов.
- Java: Для работы Apache Tomcat 5.5, для которого созданы примеры из этого руководства, требуется Java версии 1.5 или выше. Загрузите J2SE SDK.
- Jena API: Jena API - это программный интерфейс приложений Java, предназначенный для работы с данными OWL и RDF. Вы можете загрузить его с сайта http://jena.sourceforge.net/.
- Для удобства работы вы можете использовать интегрированную среду разработки, например, Eclipse или IBM Rational™ Web Developer. Вы можете загрузить Eclipse с сайта Eclipse.org, загрузить Rational Web Developer или использовать любую другую среду разработки, которая вам больше подходит. При компиляции и установке вам не придется делать ничего сверхъестественного.
 |
|  |