Oracle BI Publisher: особенности использования Шеремета Сергей Цель презентации • Обзор BI Publisher • Рекомендации по использованию 1 Содержание • Обзор BI Publisher – для чего и почему – основная концепция – архитектура • «Узкие места» • Рекомендации по – настройке системы – этапу получения данных – этапу генерации отчетов 2 Для чего Предоставление отчетности в стандартизованном виде (форма представления важна не менее чем содержание) 3 Почему Скорость и простота создания отчетов Легкость поддержки и внесения изменений 4 Почему Множество форматов вывода Поддержка языковых трансляций отчетов Простота интеграции 5 Основная концепция 6 Основная концепция 7 Основная концепция 8 Архитектура BI Publisher используется в – OeBS – J.D.Edwards – Peoplesoft «урезанный» функционал – Siebel CRM …. – BIEE (standalone BIP) 9 Архитектура 10 Узкие места • Длительное время формирования отчета – время получения данных – время генерации отчета • Не полное соответствие выходной формы с исходной разметкой 11 Рекомендации по настройке системы используйте JDK 1.6 (и выше) ОЗУ • 8Gb на 64-битной ОС • 2Gb на 32-битной ОС ПЗУ • 30Gb – репозиторий отчетов • 20Gb – temp space по возможности - кластер 12 Рекомендации по настройке системы включите многопоточность знайте «в лицо» config-файлы (xmlp-server-config.xml) настройте логирование на DEV-среде (xdodebug.cfg) 13 Рекомендации по настройке системы желательно запускать JVM под en_US локалью (вычисляемые поля в DataTemplate используют NLS_NUM_CHAR от JVM) отрегулируйте кол-во сессий планировщика (database-config.xml) 14 Рекомендации по настройке системы настройте системное кеширование если BIP интегрируется с другими системами – настройте SSO 15 Рекомендации по настройке системы для отчетов с кириллическими именами сделайте настройку по переводу имен в «транслит» (MS Excel не может открывать файлы с полным именем > 223 символов) настройте шрифты для вывода в PDF (xdo.cfg) 16 Рекомендации по этапу получения данных используйте JNDI для работы с connection pool (пул средствами appl server/доступ через JNDI) кешируйте на уровне отчета (в кеше – сам отчет; также можно кешировать только результат) 17 Рекомендации по этапу получения данных убирайте автозапуск отчетов (дайте пользователю сначала задать пар-ры) сделайте настройку по запрету повторной генерации отчета «сразу за первым» (первый отчет не прерывается) 18 Рекомендации по этапу получения данных не используйте в качестве источника BI Answers (лучше делать ANSI SQL запрос к BI Server) давайте короткие альясы (уменьшайте размер XML данных, но без фанатизма) 19 Рекомендации по этапу получения данных используйте источник данных уровня отчета во всех DataSet’ах (проще сменить в одном месте) помечайте запросы (ненужные - kill) select b.* from V$SQLTEXT a, V$SESSION b where a.address = b.sql_address and b.status = 'ACTIVE' and a.sql_text like '%BAD REPORT%' 20 Рекомендации по этапу генерации отчета Общее используйте subtemplate • модульность разметки • повторное использование кода (XSL:число прописью) • вызов в колонтитулах выносите картинки на сервер (проще хранить картинки/логотипы в едином месте) 21 Рекомендации по этапу генерации отчета Общее постарайтесь изучить XML (XSL, XPath) (2-ое по важности место оптимизации, после SQL) • используйте абсолютные пути <?SALARY?> => .//SALARY поэтому <?./SALARY?> вместо <?SALARY?> • не стесняйтесь разбираться в XSL-FO шаблонах можно получить из Desktop Builder 22 Рекомендации по этапу генерации отчета Общее сложные вычисления/перегруппировки/ сортировки выносите на уровень БД (БД это сделает быстрее) используйте XSL-шаблоны в крайнем случае (тяжело править и поддерживать) 23 Рекомендации по этапу генерации отчета PDF-шаблон не поддерживает XPath не очень хорош на больших объемах скудный функционал, но гарантированная точность соответствия шаблону 24 Рекомендации по этапу генерации отчета RTF-шаблон универсальность (есть плюсы и минусы) пользуйтесь функционалом MS Word и визардами Desktop Builder (проще поддерживать; XSL-команды – только в Field) не используйте crosstab на больших объемах (подумайте об использовании БД: 10g – MODEL,11g – PIVOT либо применяйте XSL/Excel-шаблоны) 25 Рекомендации по этапу генерации отчета Excel-шаблон полное соответствие отчета шаблону доступность макросов диаграммы таблицы среза полистовое разбиение данных (!лимит 65к) доступность XSL-функций 26 Вопросы! Шеремета Сергей http://obi2ru.blogspot.com s.sheremeta@sigma-it.ru