(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 Named User Plus License
Oracle Database Standard Edition 2 Processor License
Oracle Database Personal Edition Named User Plus License
Panda Internet Security - ESD версия - на 1 устройство - (лицензия на 1 год)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
СУБД Oracle "с нуля"
Новые материалы
Один день системного администратора
Программирование на Visual С++
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100