интеграция между приложениямиessbase.ru/uploads/oracle essbase xmla...
TRANSCRIPT
![Page 1: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/1.jpg)
Oracle EssBase интеграция
между приложениями
PL-SQL XMLA API
E v g e n i y A . R a s y u k
O r a c l e H y p e r i o n c o n s u l t a n t f r e e l a n c e r
j u n e 2 0 1 3
![Page 2: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/2.jpg)
преамбула
в данной презентации рассказывается о том зачем нужно отказаться от нативных способов передачи данных в пользу решения на основе PLSQL XMLA API
![Page 3: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/3.jpg)
постановка задачи
• Бюджетирование различных функциональных областей деятельности компании делается в различных приложениях
Требуется собрать консолидированный бюджет группы
Требуется вести учет для следующих видов бизнеса: производство торговля управление финансами управление кадрами
Учесть влияние внутригрупповых оборотов потребности в людских, материальных и финансовых ресурсах
![Page 4: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/4.jpg)
описание бизнес-процесса • Требуется вести учет различных функциональных
аспектов деятельности группы компаний. (производство, торговля, управленческие расходы)
• Требуется собрать информацию по деятельности как
каждого конкретного предприятия и головной компании, так и для всей группы (учесть влияние внутригрупповых оборотов)
• Каждая функция живет в своем «отдельным мире» аналитик и показателей, которые наиболее точно описывают аспекты ее деятельности.
• При старте бюджетного процесса изменения происходят параллельно во всех моделях. Работа осуществляется различными пользователями.
![Page 5: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/5.jpg)
функциональные решения
Использовать одно приложение для всех задач
для каждой функции использовать свое приложение
Оптимально на этапе проектирования приложений с использованием приема совмещения аналитик.
Позволяет решить проблемы Производительности для приложений с большими и детальными аналитиками, с множеством конкурирующих расчетов, и большим числом интерактивных пользователей
![Page 6: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/6.jpg)
существующие технологические решения по передачи данных ч1
• @XREF (XR) – точечный прием данных на «приемнике». Работает от «модели» в правиле
расчета
• @XWRITE (XW) – точечная передача данных на «источнике». Работает от «данных» в
правиле расчета
• Report Script (RS) – выгрузка среза данных на «источнике» в текстовый файл. Работает от
«модели» в командной оболочке. Для загрузке требуется писать интерфейс на Load Rules
• DataExport (DE) – выгрузка среза данных на «источнике» в текстовый файл. Работает от
«данных» в правиле расчета. Для загрузке требуется писать интерфейс на Load Rules
![Page 7: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/7.jpg)
существующие технологические решения по передачи данных ч2
• Transparent Partition (TP) – Отображение данных одного куба в другом. Инициализация через
командную оболочку
• Replicated Partition (RP) – Копирование данных одного куба в другой. Инициализация через командную
оболочку
• PLSQL EssBase XMLA API (PX) – API интерфейс по доступу к многомерным данным ЕssBase из PL-SQL
![Page 8: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/8.jpg)
сравнение методов передачи данных функциональность PX XR XW RS DE TP RP
управление передаваемым срезом + + + + + - -
управление на источнике, приемнике +/+ -/+ +/- +/+ +/+ -/- -/-
точечная передача, передача массива +/+ +/- +/- +/+ +/+ +/+ +/+
требуются временные или вспомогательные файлы
-/+ -/- -/- +/+ +/+ -/- -/-
простой системы при внесении изменений - - - - - + +
требуются дополнительные сетевые ресурсы + + + + - + +
системное влияние на целостность данных (при исключительных ситуациях)
- - - - - +2 +
создает блоки + - + + + - +
требует CreatOnMissingBlock - + - - - - -
управление скоростью выгрузки + - - - - +4 -
трансформация показателей + - - - - - -
Итого баллов ( + - складываем, + - вычитаем) 10 2 4 4 7 -1 -2
![Page 9: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/9.jpg)
описание преимуществ PLSQL XMLA API (PX) по сравнению с DataExport (DE)
Эти два способа по сумме баллов конкурентные между собой , но есть различия, которые могут быть нивелированы разработчиком.
Основное преимущество PX – это в том , что значения оказываются в БД и у разработчика появляются множество вариантов по управлению ими.
![Page 10: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/10.jpg)
PL-SQL XMLA API: системная архитектура
MDX XMLA req EssBase API PL-SQL
tcp/ip http
MDX
data row set XMLA answer data row set
Analytic Provider Services
Oracle Pl-SQL
EssBase
![Page 11: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/11.jpg)
Essbase MDX: пример запроса
![Page 12: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/12.jpg)
PL-SQL XMLA API : функциональная архитектура ч1
call CDF function FIX (Dim1_NA,Dim2_NA,….,DimN_NA) Account_NA( Account_NA=jRunCMD( CalcRelational_01.mxl); ) ENDFIX
MaxL load data with rule file Import DataBase app.db
data connect as Login identified by Password using rules_file DataLoad.rul on error write to DataLoad.err
PL Sql pipeLine calculation select * from
table ( xmla_pkg.currCalc ('&vParam1','&vParam2') )
![Page 13: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/13.jpg)
Создание Load Rules
EssBase Server
Database
Error File
Administration Services Console
ODBC SQL reports Rules File
+
MaxL Shell
Data Prep Editor
select * from table ( xmla_pkg.currCalc ('&vParam1','&vParam2') )
![Page 14: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/14.jpg)
get Essbase data ( call
XMLA API) select * from table ( xmla_pkg.getData ('vMDXStetment'))
PL-SQL or SQL calculation with d1 as ( select * from t1), d2 as ( select * from t2), ……. dN as (Select * from tN) Select * from d1 left join tN on p11=p1N
return calculated row to essbase load pipe row (vCurrRecord);
create MDX data select statement
SELECT {([Actuals])} on Columns, CrossJoin ([Product].Children,[Market].Children) on Rows From Sample.Basic Where ([FY11],[Profit])
PL-SQL XMLA API : функциональная архитектура ч2
![Page 15: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/15.jpg)
PL-SQL EssBase XMLA API все вместе
MDX select statement
Essbase TCP-IP address XMLA web services address
![Page 16: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/16.jpg)
function name description
getXmlaData получить строчки данных из ответа EssBase XMLA
getMdxValueColumn разобрать вывод из функции getXmlaData на колонки с данными и метаданными
getDimensionList получить список аналитик из базы данных Essbase
getApplications получить список приложений из сервера Essbase
getDataBase получить список баз данных из приложения Essbase
getHierarshyList получить значение аналитики из бд EssBase
PL-SQL EssBase XMLA API
![Page 17: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/17.jpg)
Essbase server tuning
discard reveres host name lookup
Generate “error” flow if odbc exception happens
limit for MDX queries
![Page 18: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/18.jpg)
?
![Page 19: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/19.jpg)
Thank you !
![Page 20: интеграция между приложениямиessbase.ru/Uploads/Oracle EssBase XMLA API... · Бюджетирование ... управление финансами управление](https://reader030.vdocuments.net/reader030/viewer/2022040307/5ecf264724359c0e2b5de606/html5/thumbnails/20.jpg)
послесловие
• работаю с Hyperion с 2004
• сертифицированный по различным версиям Oracle Hyperion Planning, Essbase и Financial Management
• Oracle DBA 10g
• Оказываю услуги для консалтинговых компаний:
– обучение ( семинары, вебинары)
– аудит и рекомендации по настройке производительности
– сопровождение проектов