|
|
|||||||||||||||||||||||||||||
|
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. В основе лежит PopChart Server, полностью написанный на Java, который занимается генерации графиков и диаграмм. На веб-сервере (сервере приложений) выполняется код, который посылает запросы к источникам информации, а затем результаты передает серверу PopChart, который генерирует окончательный код. PopChart поддерживает около 30 различных типов графиков, диаграмм и представлений, может работать с различными источниками информации, включая базы данных через ODBC/JDBC протокол, XML-файлы и плоские файлы. На выходе можно получать графические представления в следующих форматах:
Сервер можно легко масштабировать, обеспечивая балансировку нагрузки. Также в состав решения входит специальный компонент, который называется 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 шаблон и вы устанавливаете его для отчета: Но даже без новых опций (типа flash-анимации), можно использовать Corda 7 и Oracle BI EE+. 2. Поскольку за интеграцию с PopChart в Oracle BI EE+ отвечает сервис JavaHost, надо скопировать новые библиотеки в папки с JavaHost. За интеграцию с Corda PopChart "отвечает" папка: {BI_HOME}/web/javahost/lib/sawrpccalls/corda. Туда надо скопировать следующие библиотеки (предварительно, конечно записать старые файлы CordaServer.jar,FreeLib.jar в укромное место на всякий случай): Внимание: библиотека redist.jar больше не нужна. 3. Но скопировать новые библиотеки не достаточно! Как я уже писал, в новой версии полностью изменился API, поэтому старый и новый CordaServer.jar - два абсолютно разных файлах с разной структурой классов и самими классами!!! Поэтому, надо настраивать классы вручную. Поэтому, надо настраивать классы вручную. В папке {BI_HOME}/web/javahost/config есть файл config.xml. В этом файле настраивается интеграция с внешними Java-сервисами (Кстати там, можно добавить свой новый лоадер). Находим раздел Charts (отвечает как раз за интеграцию с PopChart), который выглядит следующим образом: Внимание: Старая версия компонента не работает, я выложил новую рабочую версию! Читайте обновленную инструкцию ниже. Готовый компонент можно скачать ниже. По умолчанию настроено, что Corda PopChart 7.x установлен в каталог C:\Corda\Corda7. Если вы собираетесь устанавливать в другую папку необходимо сделать изменения в конфигурационном файле server_config.txt (делать изменения в файле PopChartServer.java теперь не надо и компилировать компонент заново не надо). Для изменения параметров надо открыть любым zip-архиватором файл Corda7_Support2.jar (скачиваете ниже), далее идете com/corda/pcis, там находится файл server_config.txt, который выглядит следующим образом: В нем можно изменить пути к папкам, номера портов или пароли, если что-то менялось при установке или настройке сервера PopChart. Исходные коды 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-библиотеки (и не надо подключать новый загрузчик компонента): Пример реализации можно посмотреть ниже:
Вот так. UPDATE: Обращаю внимание, что во-первых для использования Corda PopChart 7, надо купить лицензию, во-вторых, при подключении новой версии графического сервера к Oracle Business Intelligence Enterprise Edition +, вы теряете поддержку от Oracle, поскольку данная связка не сертифицирована Oracle. Данная статья является только иллюстрацией возможности интеграции двух продуктов. Все что вы делаете, вы делаете на свой страх и риск и несете полностью отвественность за любые ошибки, проблемы или потери важной информации. Ссылки по теме
Файлы для загрузки
|
|