Сервіс-орієнтований підхід в бізнес-аналітиці від Oracle, Інші СУБД, Бази даних, статті

Введення


Технологія Business Intelligence (BI) продовжує активно розвиватися. За останні кілька років компанії стали представляти свої сховища даних і BI-системи як web-сервіси для використання іншими додатками і процесами, пов’язаними сервісно-орієнтованої архітектурою (SOA) або ПО проміжного рівня, таким як корпоративна сервісна шина (enterprise service bus – ESB). В цілому SOA пропонує компаніям численні переваги, як з точки зору бізнесу, так і інформаційних технологій.


SOA дозволяє зв’язати різні системи, що існують на підприємстві і формалізувати бізнес процеси їх взаємодії. В центрі уваги СОА знаходяться не дані, а сервіси, які є бізнес-функціями, призначеними для забезпечення узгодженої роботи великих, що складаються з безлічі частин додатків. З іншого боку у фокусі BI знаходяться дані, які треба обробляти й відображати. Технологія SOA має дуже хороший потенціал щодо BI-систем. Вона дозволяє забезпечити прозорий доступ до інформації, зібраної в “віртуальне” сховище даних з різних операційних і аналітичних джерел в реальному часі. Крім того, використання сервісів як основи для побудови BI системи дозволяє подолати багато труднощів пов’язані з клієнт-серверною архітектурою. Так наприклад, стає можливим управляти подіями, виконувати багато завдань в режимі реального часу, автоматизувати аналіз та обробку інформації, робити легко масштабовані і “інтегруються” системи.

У цій статті розглядається застосування та реалізація SOA технологій в Oracle Business Intelligence Enterprise Edition.


SOA архітектура в Oracle BI EE


BI системи останнього покоління є не просто окрему програму, в якій користувачі будують і публікують звіти, а великий комплекс технологій та програм, створений для задоволення всіх потреб BI. Саме таким продуктом і є Oracle Business Intelligence Enterprise Edition (докладніше див “Oracle BI Suite EE – сама” всеїдна “і” інтелектуальна “з аналітичних платформ”, Oracle Magazine RE, Жовтень 2007 – http://www.oracle.com/global/ru/oramag/oct2007/russia_borlas_bi.html).

У цілому підхід Oracle до створення сервіс орієнтованої бізнес аналітиці (Service Oriented Business Intelligence) наступний. Однією з основних характеристик платформи Oracle BI EE є поняття “всепроникною” (Pervasive) бізнес аналітики, що дозволяє приймати більш обдумані та зважені рішення на різних рівнях. Тобто можна виділити наступні тенденції в розвиток SO BI:


• Включення BI в бізнес процеси компаній дозволяє додати аналітичну складову в Workflow і обробку різних подій.


• Інтеграція BI-систем і бізнес додатків дозволяє об’єднати транзакционную та аналітичну


обробку даних в єдиному інтерфейсі;


• Інтеграція історичних і даних реального часу дозволяє будувати сховища даних нового типу, займатися моніторингом різних аналітичних показників в режимі реального часу.


• Створення проактивного аналітики дозволяє ініціювати бізнес процеси з BI систем.

Якщо говорити про SOA архітектуру, то основними складовими її є наступні компоненти:


• Бізнес-процеси (Business Processes) і BPEL – мова формального опису бізнес процесів і протоколів їх взаємодії між собою;


• Бізнес правила (Business Rules);


• Бізнес події (Business Events) і корпоративна сервісна шина (ESB);


• Моніторинг бізнес деятальності (BAM).

Впровадження BI в SOA середу дозволяє розширити кожен з перерахованих вище компонентів:


• Аналітичні бізнес процеси (Analytic BPEL, ABPEL)


o Використання різних аналітичні умов і метрики в BPEL процесах;


o Можливість будувати звіти і запускати аналітичні моделі і обчислення з BPEL процесів;


o Займатися оркестровкою сервісів з використанням даних з BI систем;


• Аналітичні бізнес правила (Analytic Business Rules)


• Аналітичне управління бізнес подіями (Analytic Business Event Routing):


o Можливість генерації бізнес подій (у тому числі в шину даних) з агентів (Alert) в BI системах;


o Використання даних і звітів для генерації бізнес подій;


o Інтелектуальна маршрутизація бізнес подій;


• Аналітичний моніторинг бізнес діяльності (Analytic BAM).


Oracle BI EE і BPEL



За своєю суттю Oracle Business Intelligence є не монолітним додатком, а набором різних сервісів, які працюють на єдиній інформаційній платформі і виконують кожен свої певні функції. В Oracle BI EE сервером, на якому реалізуються всі сервіси, називається Oracle BI Presentation Services. Крім внутрішніх сервісів, в ньому існує цілий набір стандартних SOAP Web-сервісів, які можна використовувати при побудові різних композитних додатків з використанням BPEL.


По суті, вони є повноцінним API, тобто набором базових функцій для управління всією системою. Вони дозволяють виконувати наступні завдання:


* Отримувати звіти і дані з них


* Доставляти звіти зовнішнім системам


* Управляти каталогом метаданих


* Запускати бізнес-процеси і агенти виконання (iBot)


Формальний опис сервісів і методів представлено в WSDL-файл, який знаходиться за адресою http://host:port/analytics/saw.dll?WSDL. XSD-файл для сервісів називається SawServices.xsd і знаходиться в папці WebAppResWsdlSchemas.


Oracle BI надає користувачеві наступні 8 сервісів:


• HtmlViewService – сервіс, що дозволяє вбудовувати


звіти в HTML форматі в будь-які зовнішні програми або портали. Крім того сервіс, дозволяє в режимі реального часу змінювати кінцеве подання звіту;


• iBotService – сервіс, що дозволяє запускати агенти виконання (iBot). Створювати чи змінювати iBot за допомогою цього сервісу можна;


• MetadataService – сервіс, за допомогою якого можна отримувати метаописания для різних об’єктів включаючи • ReplicationService – сервіс, що дозволяє здійснювати експорт та імпорт метаданих з файлів;


• ReportEditingService – сервіс, за допомогою якого можна настроювати параметра для звітів;


• SAWSessionService – сервіс, який обслуговує всі сесійні змінні, такі як ім’я користувача, пароль, ключ сесія і т.д. Є обов’язковим і найпершим сервісом в роботі;


• SecurityService – сервіс, який відповідає за питання безпеки в системі;


• WebCatalogService – сервіс, за допомогою якого можна управляти Web-каталогом, дозволяє створювати, змінювати, видаляти будь-які об’єкти;


• XMLViewService – сервіс, що дозволяє виконувати довільні запити до модель даних і отримувати результати в XML форматі.


Таким чином, інтеграція BI з BPEL дозволяє вирішувати наступні завдання


• Запускати бізнес процеси з BI системи


o Інтерактивне взаємодія (Interactive Dashboards, Answers);


o Регламентоване взаємодія (Alerts / iBots);


• Вбудована в бізнес процеси аналітика


o Можливість виклику звітів та отримання результатів;


• Можливість виклику з бізнес-процесів механізму доставок (Delivers) в Oracle BI.



 

Приклад

Як приклад взаємодії Oracle BI EE і BPEL побудуємо простий процес, який буде авторизуватися в Oracle BI EE, а потім отримувати дані з нього.

Запускаємо JDeveloper 10.1.3.1 і створюємо новий BPEL Process Project, в якості шаблону вибираємо Synchronous BPEL Process, отримуємо готовий шаблон, який ми далі будемо розширювати.

Вибираємо Invoke метод в списку інструментів і вставляємо його між receiveInput і replyOutput. Заходимо в його властивості і натискаємо на кнопку огляду Partner Link. У вікні створюємо новий Partner Link – BI_SAWSession. У вікні редагування Partner Link в рядку WSDL File вписуємо шлях до Oracle BI EE WSDL файлу у вигляді http://host:port/analytics/saw.dll?WSDL і натискаємо на копку Parse WSDL. У рядку Partner Link Type вибираємо SAWSessionServiceSoap_PL, а в рядку Partner Role – SAWSessionServiceSoap_Role.



 
Повертаємося назад у властивості Invoke методу. У рядку Partner Link повинен бути вибраний тільки що створений об’єкт, в рядку Operation вибираємо logon. Вводимо назву BI_Logon_Invoke і натискаємо кнопки для автоматичного створення вхідний і вихідний змінної.
 

Тепер нам треба для виклику операції logon у вхідні змінну методу BI_Logon_Invoke передати ім’я користувача та пароль. Вибираємо в палітрі інструментів Assign метод, відкриваємо його властивості. На закладку Copy Operation створюємо дві Copy Operation для параметрів ns1: name і ns1: password для вхідної змінної методу BI_Logon_Invoke. Значення параметрів є ім’я користувача і пароль для входу в Oracle BI EE.



 

Таким чином, отримуємо наступний бізнес процес, який звертається до Oracle BI EE, авторизується на сервері і отримує ключ авторизації.



Між методом BI_Logon_Invoke і replyOutput вставляємо ще один Invoke метод – BI_SQL_Invoke, який буде передавати серверу Oracle BI SQL запит і отримувати результат його виконання. Створюємо новий Partner Link – BI_XMLView, як WSDL файл вказуємо такий же шлях як і в попередній раз, в Partner Link Type вибираємо XmlViewServiceSoap_PL, Partner Role – XmlViewServiceSoap_Role.


У новому методі вибираємо операцію executeSQLQuery і створюємо автоматично вхідну і вихідну змінну.



 

Між методами BI_Logon_Invoke і BI_SQL_Invoke вставляємо новий Assign метод – Assign_SQL. Створюємо в ньому три Copy операції:

Для sessionID з вихідної змінної методу BI_Logon_Invoke;



 

Для передачі SQL запиту: select Markets.Region, “Sales Measures”. Units from Paint



 

Для установки значення параметра async



 

Останнє що, треба створити, це Assign метод між методом BI_SQL_Invoke і replyOutput, щоб скопіювати результати роботи SQL запиту в вихідну змінну всього бізнес процесу.


BPEL процес цілком готовий, тепер якщо розмістити його на Application Server і запустити з BPEL Process Manager, отримаємо наступний результат:



Тобто ми отримали дані зі стандартної схеми Paint, яка поставляється разом з Oracle BI EE.


Цілком аналогічним чином можна викликати і інші сервіси, що входять в Oracle BI, будувати на основі них складні бізнес процеси тим самим впроваджуючи ту саму аналітику.


Виклик BPEL з Oracle BI EE

У попередньому прикладі ми показали, як можна викликати Oracle BI сервіси з BPEL, але існує можливість виклику BPEL процесів з самого Oracle BI EE. Це можна зробити з Oracle BI Delivers. При


створення iBot на закладці Advanced можна вибрати додаткову дію, яка буде відпрацьовуватися при виконанні або невиконанні умов агента. В якості можливих варіантів можна вибрати:


• iBot – можливість запустити інший агент


• Custom Script – виконати будь скрипт на JavaScript або VBScript;


• Workflow – запустити Siebel CRM Workflow;


• Custom Java Program – виконати довільний Java код.


Як інтеграції з BPEL підходять два варіанти Custom Script або Custom Java Program.


У першому випадку можна написати невелику програму, наприклад на JavaScript, яка буде звертатися до нікому


сервлету (Servlet) і передавати йому параметри, а він буде запускати BPEL процеси. Якщо BPEL Process має HTTP форму запуску, то JavaScript може напряму звертатися до BPEL процесу і передавати йому параметри.



 

Другий варіант взаємодії через Custom Java Program дозволяє писати на Java абсолютно будь-які виклики та обробки.

Незабаром Oracle обіцяє додати повноцінну підтримку BPEL в Oracle BI EE, тоді в списку можливих дій в iBot з’явиться ще один пункт BPEL.



 

Висновок

В якості такого собі закінчення хочеться відзначити, що загальна тенденція до створення додатків і систем, що працюють в реальному часі, здатних реагувати на різні бізнес події і ініціювати бізнес процеси стає абсолютно очевидною. Для Oracle одним з головних пріоритетів стає інтеграція SOA технологій в усі рішення та продукти, не є винятком і BI. Здається, що вже в 2008 році вийде реліз Oracle BI, який буде повністю інтегрований з SOA і BPEL.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*