Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Журнал ВРМ World

Способы получения данных из Хранилища данных компании SAP

Архитектура и способы получения данных из SAP R/3

SAP R/3 представляет собой многослойную систему и состоит из сервера базы данных, сервера приложений и сервера представления информации (см. рисунок 1).


Рис. 1. Архитектура SAP

Указанные компоненты архитектуры предназначены для выполнения следующих функций:

  • Сервер базы данных. Сервер базы данных используется для хранения всех долговременных данных (persistent data) в системе SAP R/3. Однако, не все данные SAP R/3 могут быть получены посредством SQL, поскольку некоторые из них находятся в специальных форматах: объединенных (pool) и кластерных (cluster) таблицах. Эти таблицы сжимают несколько логических таблиц в одну физическую таблицу. В результате, становится невозможно устанавливать соответствие между логическими таблицами SAP R/3, описанными в словаре данных SAP R/3, и таблицами или аналитическими выборками, хранимыми на сервере базы данных.
  • Сервер приложений. Сервер приложений связывается с сервером базы данных и исполняет программы (написанные на ABAP), которые реализуют бизнес-модели. В большинстве случаев, к бизнес-логике этих программ можно получить доступ, обратившись к ABAP-функциям. Кроме того, часть информации не хранится в таблицах, а вычисляется с помощью удаленного вызова этих функций (RFC, remote function call) во время исполнения. Сервер приложений - этот как раз то место, где находится SAP BAPI (Business Application Programming Interface, Бизнес-интерфейс прикладного программирования компании SAP).
  • Сервер представления информации. Сервер представления информации функционирует на рабочем месте каждого пользователя: обрабатывает команды, вводимые с клавиатуры, управляет отображением информации и обеспечивает связь с исполняемыми на сервере приложений программами, реализующими бизнес-модели. При этом, клиентские машины не задействованы в выполнении бизнес-логики.

При создании технологии R/3, предполагалось, что только небольшое количество пользователей будут досконально знать эту систему. Ожидалось, что они будут управлять набором стандартных отчетов и предоставлять информацию всем тем, кому она необходима. Однако, появление Интернета полностью изменило положение вещей: теперь за информацией можно обратиться из любой точки земного шара, в любой момент времени. Мгновенный доступ к информации, без привлечения сотрудников технических отделов - одно из требований, предъявляемых к системам поддержки принятия решений.

Помимо того, со временем стало очевидно, что стандартные отчеты SAP, о которых говорилось выше, больше не могут удовлетворять информационные потребности работников, ответственных за принятие решений. С этой целью, в систему SAP R/3 был встроен свой собственный язык репортинга: язык ABAP (Advanced Business Application Programming, Программирование продвинутых бизнес приложений). Этот язык позволяет создавать отчеты, отвечающие самым разнообразным пожеланиям пользователей.

Тем не менее, все больше и все больше бизнес-пользователей нуждаются в проведении сложного анализа и составлении отчетов. А IT-специалисты уже не могут "обслужить все новых и новых клиентов". Сами пользователи не могут воспользоваться мощью ABAP, поскольку ABAP - крайне сложный язык, к тому же нетехнический специалист просто не в состоянии освоить запутанную модель данных SAP (которая включает более 10 тысяч таблиц, каждый из которых состоит из сотен столбцов). Поэтому для того, чтобы получить данные SAP, необходимо прибегнуть к средствам репортинга третьих фирм, либо использовать потенциальные возможности технологии SAP R/3.

Ниже изложены три основных подхода, которые можно использовать для получения данных SAP R/3.

Прямой доступ к базовым таблицам базы данных SAP R/3 с помощью открытого SQL

В данном случае некоторые программы репортинга напрямую обращаются с запросами к прозрачным таблицам SAP. В результате, пользователи получают непосредственный доступ к данным, хранимым в базовой системе управления данными, используя ее "родные" программные средства (см. рисунок 2).


Рис. 2. Прямой доступ к таблицам SAP R/3 с помощью SQL

Достоинства

Основное преимущество этого подхода заключается в том, что он обеспечивает доступ к наиболее свежей, подробной информации, которая хранится в прозрачных таблицах R/3. Этот метод является простейшим решением и поэтому не требует большого опыта или продолжительных работ по внедрению. IT-специалисты должны сконфигурировать метаслой, описывающий данные, запросы к столбцам и колонкам SAP и сервер для хранения отчетов. При этом, данные в базовой базе данных доступны для любого пользователя, знающего SQL.

Недостатки

Данный подход приемлем для небольших проектов, по мере их развития SQL становится малопригодным. Как правило, приложения, которые напрямую обращаются к таблицам базы данных SAP, требуют значительных усилий по внедрению. Помимо этого, такие решения не гарантируют достоверность данных, поскольку часто игнорируют связи между таблицами. А в связи с тем, что в данном случае не задействован сервер приложений, не учитывается и структура таблиц SAP. Другими слова, это означает, что пользователи, не имея возможности воспользоваться справочной информацией по системе SAP, будут вынуждены самостоятельно разбираться в запутанных именах таблиц и полей. Более того, чтобы обратиться к данным, хранящимся в объединенных и кластерных таблицах, потребуется воспользоваться фирменным интерфейсом от SAP: RFC или BAPI.

Извлечение данных SAP R/3 в Хранилище данных

В этом случае данные SAP R/3 агрегируются и извлекаются в Хранилище данных. Эти данные используются для генерации отчетов и поддержки принятия решений. Как правило, в это Хранилище данных также поступают данные из других корпоративных систем. Для извлечения данных используются SQL- или ABAP-программы.

Рис. 3. Извлечение данных SAP R/3 в Хранилище данных

Для реализации данного подхода: создания Хранилища данных, периодической загрузки данных и навигации по Хранилищу - требуется применение программных средств по управлению Хранилищем данных. Такое программное обеспечение берет описания таблиц SAP и генерирует директивы ABAP со встроенным SQL. Этот генерированный код закачивает из исходных таблиц все требуемые записи SAP и загружает их в целевую базу данных.

Для реализации других технологий извлечения данных SAP требуется написание программ на ABAP.

Достоинства

Преимущество данного метода состоит в том, что все корпоративные данные, которые обычно хранятся в многочисленных гетерогенных источниках данных, собираются в одном месте. В результате, пользовательские запросы не влияют на производительность исходной системы, поскольку они обращаются к агрегированным данным SAP, находящимся в Хранилище данных.

Недостатки

Оперативный режим, как и поддержка принятия решения, требуют прямого доступа к реальным данным. Часто процессы агрегирования и извлечения данных занимают окно обработки, которое отводится для генерации отчетов, используемых при принятии решения. Из-за того, что информация в Хранилище данных не синхронизована с SAP R/3, отчеты могут не включать самую последнюю информацию. Как правило, агрегированные данные не позволяют получать детальную информацию, необходимую для анализа.

Кроме того, всякий раз, когда меняется структура Хранилища данных, или выходит новая версия SAP, требуется модификация и повторная оптимизация программ извлечения.

Доступ к данным с помощью BAPI

BAPI был разработан компанией SAP в качестве основного интерфейса для связи с данными R/3. BAPI включает метаданные, позволяющие трактовать R/3 как бизнес-объекты.

BAPI отвечает основным спецификациям, как, например, стандарту объектов корпорации Microsoft и технологии CORBA. Интерфейс BAPI опирается на модули функций ABAP, обратиться к которым можно посредством OLE-автоматизации и технологии RFC.


Рис. 4. Доступ к данным с помощью BAPI

Достоинства

Поскольку BAPI являются хранимыми процедурами, которые имеют доступ ко всем данным SAP приложений R/3, IT-специалистам не нужно заниматься перемещением данных между системами, чтобы включить в отчеты самую последнюю информацию. Любые изменения в структуре таблиц автоматически отображаются в BAPI. Благодаря этому поддерживается стабильность интерфейса. При изменении базовой логики программ R/3 или структуры данных, отсутствует необходимость модифицировать отчеты.

Недостатки

Важные данные хранятся во всех корпоративных источниках данных, в том числе в Хранилищах данных, базах данных, витринах данных и прочих действующих системах. Для того, чтобы получить исчерпывающее представление о бизнесе, пользователям придется комбинировать данные R/3 с данными из указанных источников. Поскольку данные R/3 необязательно используют ту же базу данных, что и эти системы, программы репортинга, использующие BAPI, должны гарантировать возможность интегрировать данные R/3 c данными других приложений.

SAP Business Information Warehouse

SAP Business Information Warehouse (SAP BW, Хранилище бизнес информации SAP) - это комплект интегрированных компонент, предназначенных для сбора, хранения, анализа и администрирования данных SAP (и других данных). Другими словами, SAP BW - это система, которая опирается на технологию Хранилищ данных и позволяет получать доступ к данным, полученным как из систем SAP, так и других корпоративных приложений.

Базовая структура SAP BW является многомерной, то есть извлеченные данные агрегируются в многомерные склады (store) данных - кубы InfoCube, которые затем используются при репортинге и анализе информации.

Рис. 5. Архитектура SAP BW

При этом, компании могут использовать как предопределенные кубы InfoCube, так создавать свои собственные. Для анализа информации, находящейся в кубах InfoCube, и генерации отчетов, можно применять не только средства аналитики от SAP, например SAP Business Explorer Analyzer, но и продукты третьих фирм. Доступ к данным кубов InfoCube осуществляется через стандартный интерфейс OBDO (OLE-DB for OLAP, OLE для баз данных под OLAP). OBDO - это универсальный протокол, который компания SAP встроила в свое SAP BW (см. рисунок 5).

Архитектура SAP BW

SAP BW использует кубы InfoCube в качестве своего источника данных. Эти кубы хранятся в базе данных по схеме "звезда". Для того, чтобы конечный пользователь мог обратиться к кубам InfoCube, администратор Хранилища данных с помощью приложения Business Explorer Analyzer компании SAP готовит эти кубы, разбивая их на кубы Query Cubes. Затем эти кубы активируются, чтобы к ним было можно обратиться через ODBO, то они становятся доступными для программ анализа, предлагаемых третьими фирмами (см. рисунок 5).

Продукты для извлечения данных из SAP BW

Как было указано выше, кроме фирменных средств анализа данных, хранящимся в SAP BW, Хранилище данных позволяет применять сторонние средства. Примером успешного решения можно считать программное обеспечение, предлагаемое компаниями Brio и Cognos. Оба OLAP-клиента этих фирм опираются на технологию ODBO.

Для того, чтобы связать PowerPLay - программный продукт Cognos - с кубами InfoCube, используется специальная утилита, которая создает куб Pointer Cube. Эти кубы содержат информацию, необходимую для установления соединения с данными Хранилища, и сведения о том, какой драйвер SAP следует активировать, чтобы PowerPLay мог обращаться к данным Query Cubes.

Подобно решению Cognos, приложение, поставляемое Brio - Brio Intelligence - позволяет проводить OLAP-операций над данными, хранимыми в кубах Query Cubes. К достоинству Brio Intelligence также можно отнести возможность построения SQL-запросов.

Кроме того, продукты обеих компаний могут использоваться для генерации отчетов.