(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Сервис-ориентированный подход в бизнес аналитике от Oracle Часть 2

Антон Шмаков ведущий консультант-разработчик IBS Borlas

Введение

Данная статья является продолжением статьи "Сервис-ориентированный подход в бизнес аналитике от Oracle", опубликованной в "Oracle Magazine/Русское Издание" за февраль 2008 г. (http://www.oracle.com/global/ru/oramag/ feb2008/feb-08_shmakov_soaway-31-37.pdf). Платформа Oracle Business Intelligence Enterprise Edition Plus является самым передовым решением в области бизнес аналитики. Она позволяет построить единую модель всей корпоративной информации.

Основной и отличительной особенностью платформы является ее "всеядность" (более подробно см. статью "Oracle BI Suite EE - самая "всеядная" и "интеллектуальная" из аналитических платформ" ("Oracle Magazine/Русское Издание" за октябрь 2007 - http://www.oracle.com/global/ru/oramag/oct2007/russia borlas_bi.html )), т.е. возможность работать с абсолютно  любыми источниками данных. Аналитический сервер, являющийся ядром системы, поддерживает интеграцию с целым рядом различных источников информации, включая, реляционные и многомерные базы данных, плоские и XML  файлы. Для доступа он использует следующие стандарты и технологии ODBC, OCI, CLI, MDX, XML, XMLA. Но технологий и стандартов доступа к данным существует гораздо больше. Для создания действительно полной модели корпоративных данных порой важным является подключения некоторого источника, которые работает с интерфейсами, которые Oracle BI не поддерживает.

Решением этой проблемы является специальный инструмент, называемый шлюзом. Таким образом, если между стандартом аналитического сервера и стандартом конечного приложения существуют шлюз, то существует и возможность интеграции BI и конечного приложения. Например, существует шлюз ODBC-JDBC, который позволяет подключать к платформе Oracle BI любую базу данных, поддерживающую стандарт JDBC. Другой пример - это стандарты OLE DB или OLE DB for OLAP (ODBO), которые напрямую не поддерживаются платформой Oracle BI. Если же использовать шлюзы, то данная проблема решается очень просто. На сегодняшний день на рынке существует целый ряд компаний, предлагающих подобного рода решения. Среди них можно выделить Simba Technologies и DataDirect Technologies. Но тема шлюзов между стандартами работы с данными не является главной в данной статье.

Основным же вопросом является рассмотрение возможности подключения Web-сервисов в качестве источников информации для платформы Oracle BI. Поскольку SOA-технологии развиваются очень активно, весьма важным становится вопрос о том, можно ли встроить систему бизнес анализа в SOA-среду так, чтобы поток данных шел не из BI-систем, но и наоборот.

Web-сервисы как источники данных

Следует сразу отметить, что аналитический сервер платформы Oracle BI EE Plus не поддерживает напрямую работу с Web-сервисами. Он имеет богатые возможности по работе с XML файлами и XML-серверами, т.е. некими  приложениями, которые могут обрабатывать XML-запросы и делать XML-преобразования. При подключении любого XML-источника можно дополнительно указывать XSLT- преобразования, которые позволяют трансформировать данные. Есть также и поддержка XPath. Однако, для того чтобы подключить Web-сервис как источник в аналитическом сервере, надо создавать специальный шлюз.

Опишем, как можно подключить некий тестовый Web- сервис с одним параметром, к которому есть http-доступ. Пусть он доступен по адресу http://host:port/webservices/ myWebService и поддерживает один параметр myParam, причем параметр можно передавать из URL, т.е. запрос http://host:port/webservices/myWebService?myParam=value возвращает данные. Если открыть тестовый репозитарий Paint, который поставляется вместе с Oracle BI EE, то можно увидеть, что в качестве источников используются XML-файлы.

 

Причем в пуле соединений указывается путь к папке, в которой лежат XML-файлы, а каждая физическая таблица имеет привязку к конкретному XML-файлу.

Если попытаться подключить аналогичным образом наш тестовый Web-сервис, то работать ничего не будет.

 

Проблема заключается в том, что в Oracle BI EE есть следующие особенности:

  • он не воспринимает URL без ".xml", т.е. все XML- источники (включая и Web-сервисы) должны иметь URL вида http://host:port/mapping/.../somename.xml;
  • название физической таблицы берется как часть от последнего "/" и до конца, поэтому в URL вида http://host:port/webservices/myWebService?myParam=value название физической таблицы - myWebService?myParam=value. При этом символ "?" в название таблицы не допустим. Для преодоления этих особенностей можно написать специальный шлюз. Самый простой вариант - написать Servlet-шлюз, который будет работать следующим образом:
  1. Servlet необходимо настроить на url-pattern вида *.xml;
  2. Параметры надо передавать как часть URL.

Таким образом, мы получаем следующий URL для обращения к сервлету http://host:port/proxy/myServlet_myParam_myValue.xml. При обращении Servlet разбирает URL и отправляет запрос Web-сервису с myParam=myValue, а затем получает XML-ответ и возвращает его обратно. После того как сделан специальный Servlet-шлюз, можно приступать к его регистрации в репозитарии, но перед этим надо создать сессионную переменную MYPAR, через которую можно будет передавать значения myValue для параметра myParam. Для переменной создается инициализационный блок для установки первоначального значения. После создания переменной, необходимо создать Connection Pool, указав в Data source name: http://host:port/proxy/myServlet_myParam_VALUEOF(NQ_SESSION.MYPAR).xml

Затем создаем физическую таблицу, в поле Name указываем следующее значение

На закладке XML указываем полный путь к сервлету-шлюзу: mhttp://host:port/proxy/myServlet_myParam_VALUEOF(NQ_SESSION.MYPAR).xml

 

После создания физической таблицы необходимо создать физические столбцы. При создании очередного столбца в поле External Name необходимо вписать Xpath-путь к данному полю в выходном XML-ответе от Web-сервиса.

 

Последним шагом в подключении Web-сервиса как источника информации для Oracle BI, является привязывание созданной сессионной переменной MYPAR к промту или презентационной переменной для того, чтобы можно было изменять ее значение и получать различные выборки из Web-сервиса.

Заключение

В заключение следует отметить, что если требуется подключить не один, а достаточно много Web-сервисов, то написать для каждого Web-сервиса сервлет-шлюз встанет в достаточно трудоемкую задачу. В качестве решения этой проблемы предлагается написать один универсальный сервлет-шлюз, первым параметром которого будет являться имя или идентификатор Web-сервиса, а потом будет следовать переменное число параметров, которое может варьироваться в зависимости от конкретного Web-сервиса. Описанный выше способ подключение Web-сервисов как источников данных для аналитического сервера Oracle BI не является единственным. В статье описан тот подход, который был опробован автором в одном из проектов. Важным является то, что с помощью различных шлюзов можно подключать абсолютно любые источники данных и строить действительно полные и универсальные модели корпоративных данных.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 01.08.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Standard Edition 2 Processor License
Oracle Database Personal Edition Named User Plus Software Update License & Support
Oracle Database Standard Edition 2 Named User Plus License
Oracle Database Personal Edition Named User Plus License
VMware Fusion 10 Pro, ESD
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Реестр Windows. Секреты работы на компьютере
СУБД Oracle "с нуля"
Новости мира 3D-ускорителей
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100