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

Corda 7 в Oracle BI EE+

Источник: ashmakov
Антон Шмаков

Внимание: В статье сделаны изменения, старая версия компонента не работает!!! Читайте изменения!

В Oracle Business Intelligence Enterprise Edition Plus за построение графиков отвечает специальный компонент, который называется Corda PopChart. Разрабатывает его компания Corda Technologies, одна из ведущих компаний в области технологий программного обеспечения для визуализации данных. Офис компании располагается в США, штат Юта. Corda Technologies одной из первых в своей отрасли предложила ряд принципиально новых подходов для визуализации данных на базе таких технологий как Flash и векторная графика (SVG). PopChart - мощное интерактивное, масштабируемое средство для представления в сети графиков и диаграмм различной сложности. В Oracle BI EE+ PopChart включается по OEM-лицензии. В последний релиз 10.1.3.4.1 включена очень старая версия 5.1.2 сервера PopChart. На сегодняшний момент существует уже версия 7.3 сервера PopChart Enterprise.

На рисунке ниже представлена архитектура сервера Corda PopChart.

corda_arch

В основе лежит PopChart Server, полностью написанный на Java, который занимается генерации графиков и диаграмм. На веб-сервере (сервере приложений) выполняется код, который посылает запросы к источникам информации, а затем результаты передает серверу PopChart, который генерирует окончательный код. PopChart поддерживает около 30 различных типов графиков, диаграмм и представлений, может работать с различными источниками информации, включая базы данных через ODBC/JDBC протокол, XML-файлы и плоские файлы. На выходе можно получать графические представления в следующих форматах:

  • Интерактивные
    • Flash
    • SVG
  • Статичные
    • JPG
    • PNG
    • TIFF
    • BMP
    • WBMP

Сервер можно легко масштабировать, обеспечивая балансировку нагрузки. Также в состав решения входит специальный компонент, который называется Corda Embedder, необходимый для встраивания графического содержимого в web-страницы, т.е. это некий шлюз между web-страницей и графическим сервером. Для создания шаблонов существует специальный инструмент, который называется Corda Builder.

Вообще говоря отличий между 5ой и 7ой версиями огромное множество - появились новые типы графиков, изменились старые, стало больше возможностей в настройках графиков - да много чего, разница в несколько лет. Конечно хотелось бы прикрутить новую версию Corda к "старому" BI. Ниже я опишу один из возможных способов такой "интеграции".

Надо отметить, что различий с точки зрения интеграции между 5ой и 7ой версиями больше, чем даже могло представиться. Corda Embedder - это специальный компонент (набор библиотек API), который позволял использовать Corda - претерпел коллосальные изменения. Полностью изменилась библиотека тегов Java Tag Library, исчезла поддержка C++, JavaBean, JavaScript, изменились названия многих ключевых методов и функций. Но самое главное - полностью изменился формат шаблонов графиков! Раньше формат назывался - pcxml, в новой версии он стал itxml. Причем никакой приемственности в форматах нет! В API осталась поддержка как pcxml, так и itxml. Но новые фичи и возможности, доступные в itxml, не возможно использовать с шаблонами, сделанными в формате pcxml. Если открыть pcxml шаблон в Corda Builder, он сразу преобразуется в itxml. В Corda можно было загрузить базовый шаблон, а потом дополнительно его подправить с помощью внутренних команд (метод setPcScript). Но если у вас есть pcxml шаблон, любые новые параметры itxml использоваться нельзя. Поясню на примере: пусть у вас есть pcxml шаблон и вы устанавливаете его для отчета:
...
embedder = new LibraryEmbedder();
embedder.setHeight(height);
embedder.setWidth(width);
embedder.setOutputType(imageType);
embedder.setUserAgent(userAgent);
embedder.addPCXML(pcxml);
embedder.setPcScript("graph.addITXML(<cit :graph-settings animate=\"true\"/>)"); // Будет ошибка!!!
...

Но даже без новых опций (типа flash-анимации), можно использовать Corda 7 и Oracle BI EE+.
Итак, что надо делать:
1. Установить Corda PopChart 7.x;

2. Поскольку за интеграцию с PopChart в Oracle BI EE+ отвечает сервис JavaHost, надо скопировать новые библиотеки в папки с JavaHost. За интеграцию с Corda PopChart "отвечает" папка: {BI_HOME}/web/javahost/lib/sawrpccalls/corda. Туда надо скопировать следующие библиотеки (предварительно, конечно записать старые файлы CordaServer.jar,FreeLib.jar в укромное место на всякий случай):
CordaServer.jar, FreeLib.jar, jai_codec.jar, jai_core.jar, log4j-1.2.9.jar, mlibwrapper_jai.jar, oslib.jar

Внимание: библиотека redist.jar больше не нужна.

3. Но скопировать новые библиотеки не достаточно! Как я уже писал, в новой версии полностью изменился API, поэтому старый и новый CordaServer.jar - два абсолютно разных файлах с разной структурой классов и самими классами!!! Поэтому, надо настраивать классы вручную. Поэтому, надо настраивать классы вручную. В папке {BI_HOME}/web/javahost/config есть файл config.xml. В этом файле настраивается интеграция с внешними Java-сервисами (Кстати там, можно добавить свой новый лоадер). Находим раздел Charts (отвечает как раз за интеграцию с PopChart), который выглядит следующим образом:
<Loader>
<!-- Loader name to be used in ListOfEnabledLoaders key -->
<Name>Charts</Name>
<!-- Loader main class -->
<Class>com.siebel.analytics.web.javahostrpccalls.corda.CordaComponentLoader</Class>
<!-- XPath to configuration information for this Loader, starting from document root element ("JavaHost") -->
<ConfigNodePath>Charts</ConfigNodePath>
<ClassPath>{%javahostdir%}/lib/sawrpccalls/sawrpccalls.jar;{%javahostdir%}/lib/sawrpccalls/corda/CordaServer.jar;{%javahostdir%}/lib/sawrpccalls/corda/FreeLib.jar;{%</ClassPath>
</Loader>

Из него очевидно следующее: для работы с PopChart указаны пути к классам (classpath) и указан базовый загрузчик компонета com.siebel.analytics.web.javahostrpccalls.corda.CordaComponentLoader
Для того, чтобы подключить новую 7 версию - (теперь не надо писать свой загрузчик и) дописать недостающие классы, которыми пользуется Oracle BI EE+ для интеграции с Corda, но которые почему-то исчезли из новой версии. Кстати эти классы следующие:
com.corda.pcis.PopChartServer
com.corda.pcis.PCISLibEmbedder

в 7 версии их заменили соотвественно на классы:
com.corda.ctserver.pcis.CordaServer
com.corda.ctserver.pcis.LibraryEmbedder

Таким образом, остается написать шлюз между новыми и старыми классами и добавить старые классы к новой сборке. :-)

Внимание: Старая версия компонента не работает, я выложил новую рабочую версию! Читайте обновленную инструкцию ниже.

Готовый компонент можно скачать ниже. По умолчанию настроено, что Corda PopChart 7.x установлен в каталог C:\Corda\Corda7. Если вы собираетесь устанавливать в другую папку необходимо сделать изменения в конфигурационном файле server_config.txt (делать изменения в файле PopChartServer.java теперь не надо и компилировать компонент заново не надо). Для изменения параметров надо открыть любым zip-архиватором файл Corda7_Support2.jar (скачиваете ниже), далее идете com/corda/pcis, там находится файл server_config.txt, который выглядит следующим образом:
#Corda Properties File
#Fri Jul 17 15:36:34 MSD 2009
Server.internal.port=2002
Server.resource.root=C\:\\Corda\\Corda7\\Resources
Server.external.port=2001
Server.rmi.port=2003
Server.password=password
Server.root=C\:\\Corda\\Corda7\\Server

В нем можно изменить пути к папкам, номера портов или пароли, если что-то менялось при установке или настройке сервера PopChart.
Готовый Java компонент для интеграции: Corda7_Support2.jar (5,15 KB) (Новый компонент!)

Исходные коды Java компонента для интеграции: Corda7_Support_src2.zip (3,32 KB)

Надо скопировать файл Corda7_Support2.jar в папку {BI_HOME}/web/javahost/lib/sawrpccalls/corda.

4. Дальше необходимо в конфигурационном файле JavaHost {BI_HOME}/web/javahost/config/config.xml подключить новые Java-библиотеки (и не надо подключать новый загрузчик компонента):
<Loader>
<!-- Loader name to be used in ListOfEnabledLoaders key -->
<Name>Charts</Name>
<!-- Loader main class -->
<Class>com.siebel.analytics.web.javahostrpccalls.corda.CordaComponentLoader</Class>
<!-- XPath to configuration information for this Loader, starting from document root element ("JavaHost") -->
<ConfigNodePath>Charts</ConfigNodePath>
<ClassPath>{%javahostdir%}/lib/sawrpccalls/sawrpccalls.jar;{%javahostdir%}/lib/sawrpccalls/corda/CordaServer.jar;{%javahostdir%}/lib/sawrpccalls/corda/Corda7_Support2.jar;{%javahostdir%}/lib/sawrpccalls/corda/jai_codec.jar;{%javahostdir%}/lib/sawrpccalls/corda/jai_core;{%javahostdir%}/lib/sawrpccalls/corda/log4j-1.2.9.jar;{%javahostdir%}/lib/sawrpccalls/corda/mlibwrapper_jai.jar;{%javahostdir%}/lib/sawrpccalls/corda/oslib.jar;</ClassPath>
</Loader>

5. После указанных выше действий, все графики будут работать через новую версию Corda PopChart 7.x.

Пример реализации можно посмотреть ниже:

Вот так.

UPDATE: Обращаю внимание, что во-первых для использования Corda PopChart 7, надо купить лицензию, во-вторых, при подключении новой версии графического сервера к Oracle Business Intelligence Enterprise Edition +, вы теряете поддержку от Oracle, поскольку данная связка не сертифицирована Oracle. Данная статья является только иллюстрацией возможности интеграции двух продуктов. Все что вы делаете, вы делаете на свой страх и риск и несете полностью отвественность за любые ошибки, проблемы или потери важной информации.

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

Файлы для загрузки


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

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



    
rambler's top100 Rambler's Top100