Уровень сложности: средний Шринивас Варма Китивели (Srinivas Varma Chitiveli), инженер-консультант, IBM
27.07.2007 ПО WebSphere® Information Integrator OmniFind™ Edition представляет собой корпоративное средство
полнотекстового поиска компании IBM®и обеспечивает высокую производительность, масштабируемость, высокое качество и поддержку различных источников данных. Каналы Really Simple Syndication (RSS) представляют собой один из наиболее распространенных методов распространения информации своим сотрудникам. Давайте рассмотрим, как можно легко совместить возможности RSS с WebSphere Information Integrator OmniFind Edition для распространения результатов поиска в виде RSS-каналов.
Введение
RSS-каналы основаны на стандартизированном XML-формате, предназначенном для распространения
информации. С помощью формата RSS можно создавать каналы данных, содержащие заголовки,
ссылки и краткое изложение статей с Web-сайтов. На страницы других сайтов эту
информацию можно добавлять автоматически. Можно также использовать RSS-каналы с других
сайтов для размещения на своем сайте текущих сводок новостей или статей по
интересным темам. Такие способы позволяют привлечь больше посетителей,
заинтересованных в самой последней информации.
Ежедневно на работе сотрудники предприятия создают множество документов:
электронные письма заказчикам, бизнес-отчеты, руководства по использованию программ. Документы различных форматов и размеров хранятся на различных
серверах баз данных. Для того чтобы сотрудники могли использовать эту информацию для принятия
бизнес-решений, компании часто предоставляют своим сотрудникам интегрированный доступ к этой информации
с помощью текстового поиска. И здесь
как раз используется WebSphere Information Integrator OmniFind Edition (далее называемый в этой статье OmniFind). Предложение IBM по поиску разработано с учетом поддержки поисковых требований в масштабе предприятия
среди широкого разнообразия источников данных, например, баз данных Domino,® реляционных баз данных,
контента порталов, файловых систем, Web-контента и корпоративных систем данных. ПО OmniFind предоставляет всесторонние возможности по поиску различных наборов
бизнес-информации из одной точки доступа, доставляя релевантные результаты поиска
за доли секунды, в то же время работая с миллионами документов и тысячами пользователей.
RSS-каналы широко используются на Web-сайтах с постоянно изменяющейся информацией (новости,
блоги, акции) для публикации самых последних данных. Для доступа к URL-адресам или физическим файлам,
представляющим каналы, пользователи настраивают программы чтения RSS, создают на своих
сайтах ссылки или создают портлеты на основе RSS. Вместо затопления пользователей информацией, каналы представляют собой небольших фрагменты, содержащие важные
данные. Пользователи получают доступ к каналам при перезагрузке или обновлении программ чтения RSS, Web-сайтов или страниц портлетов.
С помощью настройки поисковой машины, индексирующей новые группы, архивы или блоги для генерации результатов в виде
RSS-каналов, можно предоставить соответствующую информацию большому сообществу потребителей каналов. Просматривая
каналы блогов или новостных Web-сайтов, пользователи могут и дальше использовать свои Интернет-клиенты (программы чтения RSS,
Web-сайты или страницы порталов) для поиска определенных тем в базе данных предприятия.
Если в RSS-клиентах настроен URL-адрес с поисковым термином, пользователи получают доступ к результатам
поиска данных, которые периодически индексируются. Для получения последних результатов в клиентах необходимо выполнять обновление или
перезагружать их.
В данной статье описано J2EE™-приложение, которое на основе OmniFind выполняет поиск и возврат результатов в качестве RSS-каналов. Возвращаемые каналы совместимы со стандартом 2.0. В
остальной части статьи описано, как установить, настроить и использовать это приложение.
Далее представлена высокоуровневая диаграмма компонентов поиска и клиентов, получающих доступ к результатам поиска:
Рисунок 1. Компоненты для поиска
Примерные результаты и Web-клиенты
Перед изучением подробностей рассмотрим случаи, возможные для результатов поиска и RSS-каналов.
Web-браузеры
На собственном Web-сайте можно создать ссылку для доступа к результатам RSS по определенной теме. Темы
можно сопоставить с некоторыми ключевыми терминами на странице. Для этого требуется минимальная настройка
страниц JavaServer™ . Ссылка на Web-сайте может идентифицироваться стандартным изображение
и должна представлять полностью заполненный URL-адрес поискового сервера. Результаты
поиска отображаются на новой странице. См. ниже рисунки 2 и 3.
Рисунок 2. Пример Web-страницы со ссылкой
Рисунок 3. Пример страницы результатов
Программы чтения RSS
Для объединения каналов с нескольких сайтов имеется несколько
коммерческих и бесплатных программ чтения RSS. Такие программы предоставляют возможность задания URL-адресов, возвращающих
RSS-каналы. Доступ к URL-адресам выполняется при запуске или перезагрузке программ чтения. См. ниже рисунки 4 и 5.
В данной статье используется программа чтения RSS для настройки URL-адреса поиска по определенной теме и отображения результатов поиска.
Рисунок 4. Настройка программы чтения канала
Рисунок 5. Преобразованные в программе чтения результаты
Необходимые условия
Для использования приложения, обсуждаемого в данной статье, необходимо следующее:
- На сервере должен быть установлен пакет WebSphere Information Integrator OmniFind Edition (версия 8.3);
- WebSphere Information Integrator OmniFind Edition настроен для индексирования корпоративных источников данных, связанных с Web-сайтами, новостными группами
или базами данных Domino;
- Пользователи могут использовать программы чтения RSS или создавать ссылку на своих Web-сайтах для доступа к каналу
или настройке портлетов RSS-каналов.
Установка J2EE-приложения
Для использования приложения, обсуждаемого в данной статье, необходимо следующее:
- Загрузить прикрепленный файл ESRSSResults.ear . Это стандартный архив J2EE корпоративного приложения;
- С помощью консоли администрирования WebSphere развернуть загруженное приложение на сервер
WebSphere Application Server, предпочтительно на экземпляр "server1" сервера WebSphere Application Server.
Настройка приложения-примера
Файл ESRSSResults.ear представляет собой простое сервлетное J2EE-приложение, вызывающее реализованный интерфейс поиска и индексации
API (SIAPI) для поиска\ по корпоративному контенту, индексированному OmniFind. Результаты возвращаются клиентам в виде RSS-каналов. Файл .ear — это демонстрационные
результаты поиска в виде RSS-каналов.
Более подробные сведения об интерфейсе SIAPI см. в разделе "Ресурсы", где автор добавил несколько полезных ссылок на другие статьи developerWorks.
Перед публикацией этого приложения администратор WebSphere должен изменить настройки по умолчанию в
конфигурационном файле confi.properties, который при развертывании устанавливается в папку <папка установки
WebSphere>/ESRSSResults.ear/ESRSSResults.war/WEB-INF.
Для доступа к поисковому контенту, размещенному на OmniFind, измените следующие вхождения:
- hostname=<Поисковый сервер для WebSphere Information Integrator OmniFind Edition>
- port=<HTTP-номер порта сервера>
Если на поисковом сервере OmniFind используется глобальная безопасность, задайте
следующие учетные данные, чтобы не выводился запрос на ввод пользовательских учетных данных:
- username=<Действительный пользователь на поисковом сервере WebSphere Information Integrator OmniFind Edition>
- password=<Пароль пользователя>
Для начала требуется настроить совсем немного основных параметров. Файл конфигураций содержит несколько полей, настройка которых определяет контент RSS-канала. Настроенный
контент может быть заголовком или описанием канала. Добавьте дополнительные расширения каналов, возможные в соответствии со
спецификациями RSS 2.0, удовлетворяющие вашу компанию или идентифицирующие URL-адреса, которые определяют информацию в случае, если поисковый
сервер закрыт на техническое обслуживание. См. файл config.properties, имена полей в котором не нуждаются в объяснении.
В стандарте RSS 2.0 определено не менее 18 возможных элементов, из которых только три являются обязательными (<title/>, <link/> и
<description/>). В зависимости от требований предприятия файл config.properties дает нам ключ для
определения дополнительных элементов канала (например, <webmaster/>,<textinput/> или <skipdays/>).
Примеры поиска
После успешной настройки приложения
пользователи могут обновить свои персональные программы
чтения RSS-каналов для использования URL-адресов, по которым выполняется поиск с определенными терминами запроса и возвращается результат, совместимый с программами чтения. В этом разделе автор определил большой набор примерных URL-адресов, облегчающих
создание пользователями собственных URL-адресов.
В примерах предполагается, что <yourserver> — это имя сервера, на котором установлено
приложение ESRSSResults.ear.
Выполним поиск по простому термину, например, "IBM"
-
http://<yourserver>/ESRSSResults/rss.do?queryString=IBM
Это поле является обязательным и определяет термин запроса. Запросы с несколькими терминами необходимо
кодировать правильно.
Выполним поиск по нескольким терминам, например, "IBM Domino"
Символ пробела является специальным символом, поэтому в следующем примере пробел в запросе URL-адреса кодируется безопасным способом:
-
http://<yourserver>/ESRSSResults/rss.do?queryString=IBM%20Domino
Примечание: "%20" — кодированное значение пробела.
В разделе "Ресурсы" вы найдете документ с объяснением специальной кодировки в
URL-адресах. Описание допустимых
форматов строк запроса также см. в разделе "Ресурсы" в руководстве по программированию.
Выполним поиск по нескольким терминам, например, "+IBM -Domino +WebSphere"
В следующем примере показана безопасная кодировка специальных символов (знаков плюс и минус):
- http://<yourserver>/ESRSSResults/rss.do?queryString=%2BIBM%20%-Domino%20%2BWebSphere
Примечание: "%2B" — кодированное значение для знака "+", для знака "-" кодирования не требуется.
Поиск с помощью маркеров доступа
OmniFind можно настроить для ассоциации документов с маркерами
доступа или списков управления доступом. Для получения и возможности просмотра документов пользователи должны определить свои маркеры доступа или назначенные элементы управления
доступом (например, имена групп). Далее приводится пример
поиска документов с помощью маркеров доступа или элементов управления доступом:
-
http://<yourserver>/ESRSSResults/rss.do?queryString=business%20growth% 20rate&acl=staff&acl=userid
Параметр acl является необязательным. Если параметр acl не задан, возвращаются документы с меткой для публичного доступа.
Если задано несколько значений, для получения максимальных результатов необходимо использовать параметр acl типа ИЛИ.
RSS-каналы являются стандартным форматом распространения данных, открытых для пользователей, поэтому убедитесь, что
\индексированный OmniFind контент не является конфиденциальным. Предоставление пользователям возможности задавать произвольные группы с использованием этого параметра также может
привести к образованию брешей в системе защиты. Поэтому рекомендуется применять фильтр, выполняющий запросы к корпоративному пользовательскому репозитарию
(LDAP) для определения группы с возможностью входа в систему. Обнаруженные группы затем могут присоединяться к
поисковому URL-адресу как аргументы acl.
Поиск определенного приложения
Все вышеописанные примеры возвращают результаты из приложения, определенного по умолчанию в файле
config.properties. Поисковые наборы изолированы именами приложений. Если администраторы настраивают
для OmniFind приложение "Finance"
с наборами, содержащими документы со статистикой доходов компании, и приложение
"QuickHelp", в котором, возможно, содержатся документы с описанием проблем пользователей, для значимой информации можно задать определенное имя
приложения. Список имен
приложений, по которым выполняется поиск, можно получить у своего администратора.
В следующем примере выполняется поиск для приложения с названием "Finance" по ключевым словам "business growth +programs":
-
http://<yourserver>/ESRSSResults/rss.do?queryString=business%20growth%20% 2Bprograms&appID=Finance
Параметр appID является необязательным. Если параметр appID не задан,
используется значение по умолчанию, заданное в файле config.properties.
Системным администраторам следует аккуратно индексировать конфиденциальные данные и отделять их с помощью идентификатора
приложения.
Поиск определенных наборов
Приложения, упоминаемые выше, состоят из групп наборов. Примеры запросов, описанные
в предыдущих разделах, основаны на именах приложений. Если URL-адрес содержит имя приложения, а не идентификатор набора, запрос
передается всем наборам, а результаты интегрируются. Для конкретизации поиска можно также определить нужные наборы. В этом случае результаты не будут объединяться.
Наборы можно представить
уникальными идентификаторами. Получить список идентификаторов наборов, связанных с приложением, можно у своего администратора.
В следующем примере выполняется поиск идентификаторов набора с именами "col_2134" и "col_9876", связанными с приложением
"Finance" по ключевым словам "business growth +programs":
-
http://<yourserver>/ESRSSResults/rss.do?queryString=business%20growth%20% 2Bprograms&appID=Finance&colid=col_2134&colid=col_9876
Параметр colid является необязательным. Если параметр colid на задан, поисковый запрос выполняется по всем наборам в соответствии с
определенным приложением. Параметр colid может представлять несколько идентификаторов наборов.
Сортировка результатов
По умолчанию результаты поиска сортируются по значимости. Можно настроить URL-адрес для сортировки результатов по дате.
В следующем примере выполняется сортировка результатов по дате:
-
http://<yourserver>/ESRSSResults/rss.do?queryString=business&sortKey=date
Это необязательный параметр. Возможные значения - relevance и date.
По умолчанию результаты поиска отображаются в нисходящем порядке. Можно также представить результаты в
восходящем порядке.
В следующем примере результаты поиска отображаются в восходящем порядке:
-
http://<yourserver>/ESRSSResults/rss.do? queryString=business&sortOrder=ascending&sortKey=date
Это необязательный параметр. Возможные значения - ascending или descending. Результаты поиска
всегда отображаются в нисходящем порядке, если параметру sortKey задано значение relevance.
Когда изменения вступают в силу
Если администратор изменяет файл config.properties, изменения вступают в силу, когда следующий поисковый запрос вызывается командой "refresh=true".
В следующем примере J2EE-приложение вызывается для обновления своей конфигурации после пользовательских изменений.
-
http://<yourserver>/ESRSSResults/rss.do?refresh=true
Примечание: Это административная задача.
Заключение
В приложении, описанном в данной статье, показаны возможности тестового поиска WebSphere
Information Integrator OmniFind Edition, связанные с необходимости распространения корпоративной информации
сообществам пользователей, принимающим RSS-каналы с последней информацией с интранет/интернет
сайтов. Пользователь, способный настроить программу чтения RSS-канала, чтобы получить доступ к
последней информации с множества Web-сайтов, также может выявить канал (URL-адрес этого приложения) для
доступа к периодически изменяющемуся общедоступному корпоративному контенту.
Загрузка | Описание | Имя | Размер | Метод загрузки |
|---|
| Архив корпоративного приложения | ESRSSResults.ear | 4917Кб | HTTP |
|---|
Ресурсы
Об авторе  | 
|  | Шринивас Варма Китивели (Srinivas Varma Chitiveli), инженер-консультант в IBM software group. Занимается программами и технологиями IBM, связанными с цифровыми сертификатами обеспечения безопасности электронных транзакций, управления контентом и поиском информации по распределенным источникам данных. |
Выскажите мнение об этой странице
|