Базы данных Oracle - статьи



              

Реализация интерфейса Oracle Server => Express Server - часть 2



Рис. 1 Архитектура семейства Oracle Express.

В состав семейства продуктов Oracle Express включены следующие интерфейсы:

  • XCA
  • (eXpress Communications Architecture) - протокол, позволяющий двум Express-системам обмениваться данными;
  • EWA
  • (Express Web Agent) - средство для создания приложений, работа с которыми осуществляется через Web-браузер, обеспечивающий работу с таблицами. Набор хранимых процедур Web Agent Developer's Toolkit обеспечивает базовую архитектуру для построения развитых Web-приложений;

  • SNAPI
  • (Structured N-dimensional Application Programming Interface) - протокол для работы с многомерной базой данных Express. Представляет собой набор функций и переменных реализованных на языке "C" и помещенный в DLL-библиотеки, позволяющий писать свои собственные приложения.

    Следует отметить, что клиентские приложения Express Analyzer, Express Objects, Web Publisher используют в своей работе XCA и/или SNAPI. XCA является закрытым протоколом для внутренней работы самого сервера базы данных и для наших целей не подходит. EWA - это дополнение к Express Server, основной функцией которого является построение данных в Web формате. На рисунке 2 показана схема работы EWA.


    Рис. 2. Cхема работы Express Web Agent

    Таким образом, на роль интерфейса доступа к Express из внешних систем и, в частности, Oracle Server подходит только SNAPI.

    Поскольку Oracle BI Suite EE может работать с любым ODBC-источником, самым простым решением поставленной задачи было бы создание собственного ODBC-драйвера. Для этого можно воспользоваться готовыми коммерческими библиотеками (Software Developer Kit) для написания ODBC-драйверов. Мы сделали простой ODBC-драйвер на базе SimbaEngine SDK от компании Simba Technologies. При реализации базовых методов мы столкнулись со следующими трудностями:

  • представление многомерных данных в "плоском" реляционном виде;
  • преобразование SQL-запросов в многомерные запросы Express;
  • поддержка агрегатных функций SQL и сложных преобразований и многое другое.



  • Содержание  Назад  Вперед