 | Уровень сложности: средний Никлас Чейз, Независимый автор, Backstop Media
03.12.2007 Это последнее руководство в серии, рассказывающей, как создавать mashup-приложения. К этому моменту у вас уже есть рабочее приложение и схема, необходимые для того, чтобы система могла использовать семантический анализ для понимания сервисов, находящихся в ее распоряжении. В этом руководстве мы дадим пользователю возможность выбора типа сервиса, данных, получаемых от Web-сервиса, а также представлением этих данных. Предисловие
Это руководство предназначено для разработчиков, которые хотят научиться использовать семантические методики и приложения. В частности, в нем показано, как с помощью семантических Web-технологий извлекать данные из произвольного Web-сервиса «на лету» и отображать их в форме по выбору пользователя.
В этом руководстве предполагается, что вы знакомы с программированием на Java. Вы также должны быть знакомы с основными понятиями XML и схемы описания ресурсов (RDF) в целом и языка Web-онтологий (OWL) в частности. Если вы желаете освежить свои знания по этим темам, ознакомьтесь с частями 3 и 4 руководств этой серии.
Об этой серии руководств
Похоже, сегодня в Интернете невозможно найти сайт, который бы либо не предлагал доступ к данным посредством API-интерфейса на базе Web-сервисов, либо не использовал данные с другого сайта, полученные посредством тех же API-интерфейсов Web-сервисов. Если оценить преимущества использования существующей информации в ваших собственных приложениях, это не слишком удивительно. Кто-то раньше или позже должен быть начать комбинировать данные этих несходных систем для получения чего-то качественно нового. Такие приложения, так называемые mashups – это «последний писк» моды в Web, от сайтов сообществ до специальных поисковых сайтов и вездесущих mashup-отображений.
Все эти приложения, как правило, полезны, но их объединяет одна общая черта - все они разработаны для определенного набора сервисов. Если параметры какого-либо сервиса изменяются, это влечет за собой большую работу.
Целью этой серии руководств является создание настолько интеллектуального mashup-приложения, чтобы пользователь буквально мог добавлять и удалять сервисы по желанию, а система сама знала, что с ними делать. Логика серии построена следующим образом:
В первой части содержится введение в основные понятия mashup, показывается, как они работают, и создается простой пример такого приложения. Также описываются серьезные проблемы производительности, связанные с обработкой множественных Web-запросов.
Во второй части некоторые из этих проблем решаются с помощью новых возможностей pureXML™, реализованных в IBM® DB2®, за счет построения кэша XML, который сохраняет результаты предыдущих запросов и позволяет извлекать определенную информацию.
И наконец, вам нужно будет использовать онтологии, или словари, которые определяют концепты и их отношения, поэтому в третьей части этот процесс начинается с изучения RDF и RDFS, двух ключевых составляющих языка Web-онтологий (OWL), который обсуждается в четвертой части. В пятой части с помощью онтологий, созданных в четвертой части, мы даем пользователю возможность изменения источников информации.
В этой шестой части все становится еще интереснее. К этому моменту у вас уже создано рабочее приложение и схема, необходимые для того, чтобы система могла использовать семантический анализ для понимания сервисов, находящихся в ее распоряжении. В этом руководстве вы дадите пользователю возможность управления, позволив ему выбирать сервисы из онтологии, а также выбирать данные, которые будут использоваться в mashup.
Об этом руководстве
В этом руководстве, шестом в серии, объясняется, как добавить семантические возможности к существующему mashup-приложению, использующему Web-сервисы. В пятой части (см. раздел Ресурсы), мы взяли существующую онтологию и реализовали ее, позволив пользователю с легкостью выбирать сервисы. В этом руководстве мы с помощью семантических методик предоставим пользователю полный контроль над отображаемой информацией и её представлением.
Из этого руководства вы узнаете, как:
- Вызывать блок рассуждения для семантических данных
- Программно определять подклассы класса
- Программно определять существующие свойства класса
- Программно определять значения конкретных свойств
- Создавать приложения, извлекающие информацию на основе семантики, а не выражения XPath
В этом руководстве мы возьмем mashup-приложение, созданное в первых пяти частях, и предоставим пользователю максимально полный контроль. Пользователь сможет выбрать тип сервиса, конкретный Web-сервис, который необходимо использовать, данные, запрашиваемые у сервиса, а также представление этих данных. После этого мы сможем добавлять в приложение новые функции и новые сервисы, просто добавляя их в онтологию и не трогая при этом само приложение.
Необходимые условия
Для работы с кодом, приведенным в этом руководстве, вам нужно установить и отладить следующее программное обеспечение.
-
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.
- Для удобства работы вы можете использовать интегрированную среду разработки, например, Eclipse или IBM Rational™ Web Developer for your development. Вы можете загрузить Eclipse с сайта Eclipse.org, загрузить Rational Web Developer, или использовать любую другую среду разработки, которая вам подходит. При компиляции и установке вам не придется делать ничего сверхъестественного.
 |
|  |