SAP HANA Extended Application Services (XS)...

46
SAP HANA Extended Application Services (XS) инструмент разработки приложений для SAP HANA Тимофей Данилов / SAP CIS Июнь 11, 2014 Public

Transcript of SAP HANA Extended Application Services (XS)...

Page 1: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

SAP HANA Extended Application Services (XS) – инструмент разработки

приложений для SAP HANA

Тимофей Данилов / SAP CIS

Июнь 11, 2014 Public

Page 2: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 2 Public

Содержание

HANA

• Введение

• Архитектура платформы

HANA Studio

• Введение

Modeled Views

• Attribute, Analytic, Calculation

XS Engine

• Введение

• Репозиторий

• Архитектура

XS Engine приложения

• Контейнеры приложений

• Regi и Workspaces

• Развертывание

Обзор готовых приложений

Ресурсы

Page 3: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 3 Public

Введение в HANA

“SAP HANA allows for the processing of massive quantities of real-time data in main memory to provide

immediate results”

Как?

• Высокая параллелизация процессов за счет многоядерной серверной архитектуры и алгоритмов

обработки данных

• In-memory дизайн

• Эффективное хранение данных

(поколоночное хранение, компрессия, insert only deltas, отсутствие материализованных агрегатов,

…)

Page 4: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 4 Public

Multi-Core и In-Memory

Традиционные базы данных

• Узкое место дисковые операции чтения/записи в

связи с ограничением оперативной памяти

HANA

• Благодаря многоядерной архитектуре и

хранению данных в памяти единственное узкое

место кэш CPU и оперативная память

Page 5: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 5 Public

In-Memory дизайн

Традиционные базы данных

• Разделение хранения данных и логики сервера приложения

• Данные переадресуются между сервером БД и сервером приложений

HANA

• Интенсивная логика приложения реализуется на уровне БД

• Обработка данных непосредственно в БД

• Нет разделения хранения данных и обработки

• Расширение логики обработки данных за счет расширения SQL (SQLScript)

Page 6: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 6 Public

Эффективное хранение данных

Традиционные СУБД

• Даже когда данные в оперативной памяти, CPU тратит ½ времени выполнения на догрузку

(ожидание доставки данных из RAM в кэш CPU) или обработку отсутствия данных в кэше

HANA

• Эффективное кэширование данных – минимизация доставки данных в кэш CPU

• Ускорение поиска необходимых данных за счет поколоночного хранения

Page 7: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 7 Public

Преимущества колоночного хранения

• Высокий уровень компрессии данных при их избыточности (низкой кардинальности)

Примеры: run-length encoding, cluster coding, dictionary coding

• Высокая производительность колоночных операций

Примеры: поиск/агрегация циклами по массивам последовательно хранящихся данных

• Отсутствие необходимости в дополнительных индексах

Хранение поколоночно – хранение данных в виде индекса

• Параллелизация

Колоночное хранение уже вертикально партиционировано, поэтому операции по разным полям

таблицы легко выполнить параллельно

• Отсутствие необходимости в материализации данных

Поле таблицы в оперативной памяти позволяет выполнить агрегацию на лету, что упрощает

модель данных, логику обработки и конкурентный доступ

Page 8: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 8 Public

Колоночное хранение против строчного

Использовать column store:

Использовать row store:

• Обычно в вычислениях участвует одно поле или несколько

полей

• Поиск по таблице выполняется по нескольким полям

• Таблица содержит большое количество полей

• Таблица содержит большое количество записей и требуется

выполнение колоночных операций (агрегация, скан, т.д.)

• Возможен высокий уровень компрессии из-за низкой

кардинальности данных (в сравнении с количеством записей)

• Приложение одномоментно обрабатывает одну или несколько

строк таблицы (много select’ов и/или update’ов по единичным

записям)

• Приложению обычно требуется доступ к отдельной записи или

строке

• Поля таблицы содержат данные высокой кардинальности

(низкая компрессия)

• Не требуется агрегация или поиск данных

• Таблица содержит небольшое количество записей

(конфигурационные таблицы).

Выбор способа хранения данных зависит от ситуации …

Page 9: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 9 Public

Архитектура HANA

Платформа разработана на C++ для Linux серверов

Page 10: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 10 Public

Архитектура HANA

Index server

• Хранение данных в RAM, сolumn и row data stores, обработка данных

Preprocessor server

• Используется index server для анализа текстовых данных

Name server

• Содержит топологию системы HANA

• В распределенных системах хранит информацию о сервисах и местах хранения данных для

каждого сервера в кластере

Statistics server

• Собирает информацию о статусах, производительности и используемых ресурсах для всех

компонент системы

XS engine

• Связывает модель хранения данных в БД с моделью представления данных для HTTP

Page 11: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 11 Public

Распределенная система HANA

Обычно инсталляции HANA распределены на несколько хостов для масштабирования и отказоустойчивости

Система HANA идентифицируется по system id (SID)

Узлы HANA идентифицируются по instance id (IID)

XS engine и statistics сервер в одном экземпляре на систему

Page 12: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 12 Public

HANA Студия

Среда разработки и администрирования HANA

• Разработка: создание modeled views или stored procedures

• Администрирование: start/stop сервисов, управление системой

• Разработана на Java на платформе Eclipse

Структура директорий в HANA

Catalog

• Модель данных HANA

• Содержит все структуры данных, модель данных и сами данные

Content

• Репозиторий design-time объектов

• Содержит все информационные модели данных

Примечание:

• “Content“ это набор физических таблиц и метаданных в “Catalog“

• Content представляет данные в виде аналитических моделей

Page 13: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 13 Public

Modeled Views

• Создаются при помощи среды моделирования HANA studio

• Design-time артефакты хранятся в репозитории

• Для runtime на основе modeled views создаются column store views при активации

Преимущества:

• Семантическое насыщение моделей данных (например описания атрибутов)

• Простой инструмент моделирования вместо ручного создания DDL

• Контроль версий в репозитории

• Простота моделирования для клиента

Modeled Object (design-time) Database View (run-time)

Attribute View Column view of type JOIN

Analytic View Column view of type OLAP or column view of type CALCULATION on

top of OLAP view

Calculation View Column view of type CALCULATION

Page 14: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 14 Public

Attribute Views

Определяют связи между таблицами и/или проекции таблиц

• Например соединение множественных таблиц для единой таблицы измерения в многомерном

представлении; измерение таблицы фактов в analytic view

Соединение

сотрудников и

подразделений,

измерение

фактов продаж в

analytic view

Page 15: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 15 Public

Analytic Views

• OLAP куб (многомерный массив данных)

• Набор физических таблиц объединенных по схеме

«звезда» (таблицы измерений вокруг таблицы фактов)

• Таблица фактов содержит измеримые величины для

анализа

• Таблицы измерений представляют категории

(атрибуты или признаки) для группировки фактов,

• Таблица фактов является контентом OLAP куба

т.е. «что измерить в разрезе»

• Таблицы измерений представляют разрезы куба

• Кардинальность факта к измерению обычно N:1

Page 16: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 16 Public

Calculation Views

• Композитное представление данных (join или union нескольких потоков данных) или вызов встроенных и

основных SQL функций

• Используются так же как и analytic views

• Позволяют создать сложные алгоритмы обработки

Графические

• Моделирование потоков средствами HANA студии

Скриптовые

• Последовательность SQL запросов

Page 17: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 17 Public

Вычисления в оперативной памяти Интенсивная обработка данных в оперативной памяти

Сервер приложений

Сервер БД

Сейчас большинство

операций с данными

выполняется на

уровне сервера

приложений Высокопроизводительны

е приложения

выполняются в

оперативной памяти

Основа вычислений в RAM: исключение перемещений данных, обработка

в памяти и предоставление конечного результата

Page 18: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 18 Public

Платформа SAP HANA

Логика там же, где

данные

Предопределенные

и собственные

модели в БД

Данные доступны

мгновенно

NW AS, HTML5-based, SAP BusinessObjects BI, third party tools, any application Server

XS Engine

Application Services

Web

Resource oData Service

Database Layer Физическая модель данных

SAP HANA PLATFORM

Customer Views

Customer

Queries

Customer SQL

Script

Stored Procedures

Modeled / Scripted views

SAP-

delivered

HANA Development

https, ODBC, JDBC, oData, SQL, MDX, …

Integration Layer библиотеки, R-интеграция, Hadoop, источники данных

SAP HANA

открытая

платформа! Не

только приложения

SAP могут

использовать

возможности HANA!

Page 19: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 19 Public

Сценарии интегрированной разработки

Application Function Library (AFL) / Business function library (BFL) & Predictive Analytic Library (PAL)

UI интеграция / SAPUI5

Внешние библиотеки / например статистический язык R

Внешние источники / например кластер Hadoop

Page 20: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 20 Public

Встроенный сервер приложений SAP HANA SAP Extended Services (XS)

Логика представления

Логика потоков

Логика вычисления

Клиент

Data Data artifacts

Control flow artifacts

Presentation artifacts

HANA

Сфера и свойства

• Легкие небольшие web приложения

• Использование встроенных

возможностей SAP HANA

• Минимизация “слоев”

• http-based UI (браузер,

мобильные приложения)

• Исполняется внутри SAP HANA,

без дополнительного внешнего

сервера приложений

Page 21: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 21 Public

Разработка приложений

Modeled Views (Calculation, Analytic, Attribute) и SQL Views

• Views используются для создания специфичных для приложения моделей данных, описания потоков данных,

структур и часто используемых запросов

• Моделируемые analytic views и attribute views могут быть созданы в HANA студии без программирования

• Комплексные потоки данных создаются как calculation views на SQLScript или в среде моделирования

SQLScript

• Богатый процедурный язык платформы HANA

• Процедуры могут содержать SQL запросы и вызывать другие процедуры

• Используется для разработки процедурной логики управления данными

R

• HANA так же поддерживает язык R для статистической обработки данных

Page 22: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 22 Public

Разработка приложений

L

• Специфический язык программирования для разработки процедур и пользовательских функций (scalar

functions), может быть вызван из SQL

• Хранимые процедуры на L обычно реализуют операторы или циклы, вызываемые из SQLScript процедур

• L компилируется в нативный код, что крайне эффективно

C++

• Код, критичный для производительности, может быть разработан на C++ как часть application function library

AFL

• Использование C++ разрешено только при разработке совместно с SAP

FOX

• Planning engine поддерживает операции планирования с помощью языка FOX формул

Page 23: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 23 Public

Введение в XS Engine

• Предоставляет доступ к HANA DB,

трансформируя модель хранения данных

в модель представления данных для

клиентов через HTTP

• Использует SAP ICM как сервер HTTP

• Обслуживает системные сервисы HANA

DB (Search сервис, встроенный web

сервер, обеспечивающий доступ к

статическому контенту репозитория)

• Опциональный компонент HANA

• Данные не хранит

Page 24: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 24 Public

Специфический код приложения: Где он?

Index server и XS engine могут хранить специфический код приложения. В чем разница?

Index server

• Все операции с данными выполняет index server (используя SQLScript, modeled views, L процедуры,

C++).

XS engine

• Формирует модель представления данных для клиентских приложений (не критичные по

производительности задачи, доступ к данным через views и хранимые процедуры, выполняемые на

index server).

Page 25: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 25 Public

Index Server и XS Engine

XS engine внешне

похож на index server,

но не хранит данные, и

имеет шину XS layer

Когда XS требуется

доступ к данным:

1. Создает локальное

DB connection и

отправляет SQL

запрос к

локальному SQL

proc.

2. SQL proc

определяет место

хранения данных и

передает обработку

index server,

хранящему данные

Page 26: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 26 Public

Repository

• Таблицы репозитория и их содержимое находятся на index server как и другие данные

• Используется для хранения и контроля версий исходного кода приложений XS engine

• Обеспечивает управление жизненным циклом приложений

• Объекты репозитория уникально идентифицируются пакетом в контенте, именем объекта и типом объекта

Преимущества:

• Сохранение / редактирование промежуточных разработок без влияния на исполняемые runtime объекты

• Разработчики работают с абстракцией repo объектов и не вникают в представление данных HANA DB (не

пишут DDL)

• Унифицированные зависимости и версии (не требуется сторонняя система, простое распространение

контента между системами)

• Дает возможность многим пользователям одновременно работать с несколькими версиями объекта

параллельно

Page 27: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 27 Public

Параллельная разработка приложений

• Репозиторий использует механизм lock-free

• Перед активацией необходимо выполнить слияние изменений

• Перед активацией репозиторий сверяет неактивную версию и активную

Page 28: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 28 Public

Архитектура XS Engine

Page 29: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 29 Public

Архитектура XS Engine

1. Request handler использует URL mapper для определения компонента, выполняющего запрос.

Если используемый ресурс является представлением данных, то используется OData сервис.

Иначе, URL mapper определяет какое приложение в каком контейнере выполняет запрос.

2. Request handler вызывает session manager (открывая сессию аутентификации)

3. Request handler использует authorization manager для проверки прав пользователя на выполнение

запроса

4. Request handler отправляет запрос OData сервису или контейнеру приложения (контейнер

загружает исполняемый код)

5. Контейнер исполняет код приложения (приложение получает входные параметры, выполняет

запрос и возвращает результат)

Page 30: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 30 Public

Разработка приложений XS Engine

• Для разработки приложения необходимо опубликовать модель представления данных через сервис

REST на основе OData

• XS engine включает сервис OData, который связывает модель данных с моделью их представления

• Если требуется дополнительная логика обработки данных, то разрабатывается собственный код

приложения

• Слой XS содержит множественные исполняемые контейнеры (окружение приложений)

Page 31: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 31 Public

Контейнеры приложений XS Engine

2 основных контейнера:

C++

• Не используется в основном для разработки приложений (только в отдельных случаях)

• Приложения входят в HANA DB и являются частью сборки DB

• Используется для системных приложений

• Web сервер для доступа к ресурсам web хранится в репозитории

JS, Разработчики приложений могут использовать следующие сценарии для доступа к данным SAP HANA

• Разработка нативных приложений, например, только SQLScript или внешние приложения SAP HANA XS

(или оба)

• Разработка ненативных приложений, например, внешнее окружение (ABAP или Java), работающие с

SAP HANA через внешний сервер приложений или клиентский интерфейс: ADBC, JDBC, ODBC или

ODBO

Page 32: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 32 Public

Приложения на XS Engine

Page 33: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 33 Public

Разработка приложений XS Engine

Доступ к репозиторию XS engine

• Regi основной инструмент доступа к репозиторию

• Используется для загрузки и активации объектов репозитория включая DB объекты (таблицы, view) и

ресурсов приложения (xs*, html)

• Позволяет отслеживать статус объектов

• Организует рабочее пространство на локальных машинах для разработки XS приложений

Page 34: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 34 Public

Структура Regi Workspace

Пример regi workspace на локальной машине

packageTopLevel/

packageBottomLevel/

db/ Persistence

*.schema

*_TBL.sequence

*_TBL.table

logic/ Backend logic

*.xsjs

*.xsjslib

odata/ OData

*.xsodata

*.view

ui/ UI related

*.png

*.css

index.html

*.xsa

*.xscfgm

*.xscfgd

*_ext.xscfgd

Page 35: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 35 Public

XS Engine файлы приложения

Пример:

Root

*.xsa

• Конфигурация приложения (JSON)

*.xscfgm

• Модель конфигурации

• Описывает типы переменных конфигурации

• Шаблон

*.xscfgd

• Данные конфигурации

• Описывает текущие параметры конфигурации

*_ext.xscfgd

• Данные конфигурации

• Перезаписывает / расширяет конфигурацию *.xscfgd файла

index.html

• Основной файл приложения

Persistence

*.schema

• Описывает схему данных

*_TBL.sequence

• Описывает последовательности

(JSON)

*_TBL.table

• Описывает таблицу (XML)

Page 36: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 36 Public

XS Engine файлы приложения

Логика

*.xsjs

• XS JS

*.xsjslib

• XS JS библиотека

• Содержит функции, которые можно вызвать из XS JS

• Используйте ‘repo’ XS JS API для включения функции в библиотеку:

repo.import(<package name>, <object name>);

ex. repo.import(“sap.app.logic”, “config”);

• Вызов функции из библиотеки:

$.<package name>.<library>.<function>(<parameters>);

ex. val = $.sap.app.logic.config.getConfig(configParam);

OData

*.view

• Описывает view (JSON)

• Необходим для получения данных из нескольких таблиц

*.xsodata

• Описывает таблицу OData (XML)

Page 37: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 37 Public

Неактивные и Активные объекты

Неактивные объекты

• При выполнении commit в repo, видны только создателю

• Могут иметь несколько неактивных версий объекта repo (делятся рабочими пространствами)

• Если используют к примеру attribute view, содержат описание attribute view

Активные объекты (могут включать и не включать runtime объекты)

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

• Если связаны с runtime объектами, соответствующие объекты создаются SQL DDL

• К примеру, если включают attribute view, создастся column view типа “join view” (CREATE COLUMN VIEW…)

• Другие объекты репозитория (web контент) не имеют runtime объектов при активации

Page 38: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 38 Public

Развертывание приложения XS Engine

1. regi track <package name>

Добавляет пакет к другим пакетам репозитория

2. regi commit

Активирует все изменения в репозитории

3. regi activate

Активирует все неактивные версии объектов репозитория

Page 39: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 39 Public

Rapid Deployment Solution – стандарт и уникальное решение

Наиболее эффективно было использовать RDS (покрывает 60% наших требований) и дополнить

решение разработкой с целью максимального удовлетворения нашим требованиям . . . Экономия 3–4

месяцев до полной готовности решения.

Dominik Beck, Papyrus GmbH

• Стандартизованные процессы, основанные

на SAP Best Practices

• Акселераторы и инструменты

• Фиксированная цена и содержание

• Расширение решения

• Кастомизация и локализация решения

Сокращение затрат

времени, ресурсов,

бюджета

SAP Rapid-

Deployment

solutions

РАСШИРЕНИЕ

пакета

Page 40: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 40 Public

Инновация. Больше преимуществ. Меньше риск.

Mobile

SAP HANA

Hybrid deployment

Инновация с чистым и понятным ROI

Фиксированная цена и содержание – доказанные бизнесом SAP Best Practices

6–10 недель

5 недель

2–5 недель

RDS явился мощным толчком для перехода на HANA, с меньшими рисками за меньший срок

Chuck Martin, Director of Application Development, TAMKO

Page 41: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 41 Public

Сервисы по разработке на SAP HANA

Rapid Deployment

Solution

• RDS отвечает потребностям на 90-100%

• Длительность согласно плану RDS (от 2 недель)

RDS Extension

• RDS отвечает потребностям на 60% и более

• Длительность согласно плану RDS + от 2 недель на расширение

SAP HANA App (CDP)

• RDS отвечает потребностям менее 50% или нет RDS

• Разработка нового приложения от 4 недель

Page 42: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 42 Public

Rapid Deployment Solutions on HANA

ZBUN Brand Voice Package Name Internal Package Name

RDS_BDI_HANA SAP HANA Big Data Intelligence rapid-deployment solution RDS for Big Data Intelligence

RDS_CEI_HANA SAP HANA Customer Engagement Intelligence rapid-deployment solution Customer Engagement Intelligence Upgrade

RDS_CEI_HANA SAP HANA Customer Engagement Intelligence rapid-deployment solution Customer Engagement Intelligence with Social Contact Intelligence module - AC

RDS_CEI_HANA SAP HANA Customer Engagement Intelligence rapid-deployment solution Customer Engagement Intelligence

RDS_CEI_HANA SAP HANA Customer Engagement Intelligence rapid-deployment solution Customer Engagement Intelligence - Upgrade for GA Release

RDS_CEP_EPM_HANA SAP Extended Financial Planning rapid-deployment solution EPM on HANA for Planning RDS

RDS_CRA_HANA SAP HANA Commodity Risk Analytics rapid-deployment solution RDS for Commodity Analytics

RDS_CRM_BWHANA SAP HANA CRM Analytics rapid-deployment solution CRM Analytics with BW/HANA

RDS_CRM_BWHANA SAP HANA CRM Analytics rapid-deployment solution CRM Analytics for HANA

RDS_CRM_HANA SAP CRM rapid-deployment solution powered by SAP HANA CRM RDS on HANA

RDS_CRM_HANA SAP CRM rapid-deployment solution powered by SAP HANA SAP CRM RDS powered by SAP HANA V5.703

RDS_DAT_FND_HANA SAP HANA Analytics for Heterogeneous Data rapid-deployment solution RDS Data Foundation for HANA

RDS_DAT_LOAD_HANA rapid data load for SAP HANA Customer Engagement Intelligence applications RDS for Data Load from Legacy into Hana

RDS_DAT_LOAD_HANA rapid data load for SAP HANA applications Data Load from Legacy Applications into HANA

RDS_DM_BS_HANA rapid database migration of SAP Business Suite to SAP HANA Rapid database migration of SAP Business Suite to SAP HANA V4

RDS_DM_BS_HANA rapid database migration of SAP Business Suite to SAP HANA Rapid database migration of SAP Business Suite to SAP HANA V3

RDS_DM_POC_HANA SAP HANA data mart discovery offer Proof-of-concept kit for SAP HANA custom data marts

RDS_DSM_HANA SAP Demand Signal Management rapid-deployment solution RDS for Demand Signal Management with SAP HANA

RDS_FIN_HANA SAP ERP Finance and Controlling rapid-deployment solution Translation of ERP FI-CO RDS powered by HANA on V1/2.607 (SAAPLOB-625)

RDS_FIN_HANA SAP ERP for Finance and Controlling rapid-deployment solution Inclusion of v1.607 baselines for Qatar and Saudi Arabia into ERP RDS for Finance & Controlling

RDS_FIN_HANA SAP ERP Finance and Controlling for China rapid-deployment solution FIN ERP RDS for China

RDS_FIN_HANA SAP ERP Finance and Controlling for China rapid-deployment solution powered by SAP HANA Q4 Additional country baselines for ERP on HANA for Finance and Controlling

RDS_HANA_BWMIG rapid database migration of SAP NetWeaver BW to SAP HANA Rapid Database Migration of SAP BW to SAP HANA V3

RDS_HANA_COGL SAP HANA Accelerated Finance and Controlling rapid-deployment solution Financial Accelerator V2 with HANA

RDS_HANA_CUA SAP Customer Usage Analytics rapid-deployment solution O2C Offer-to-Cash Customer Behavior Analytics (Convergent Charging)

RDS_HANA_OPS SAP HANA Operational Reporting rapid-deployment solution SAP HANA Operational reporting V5 (including A2O)

RDS_HANA_OPS SAP HANA Operational Reporting rapid-deployment solution ERP RDS for Operational Reporting with SAP HANA Upgrade

RDS_HANA_OPS SAP HANA Operational Reporting rapid-deployment solution ERP RDS for Operational Reporting Version 4 with HANA

RDS_HANA_OPS SAP HANA Operational Reporting rapid-deployment solution SAP ERP rapid-deployment solution for operational reporting with SAP HANA

RDS_HANA_OPS SAP HANA Operational Reporting rapid-deployment solution SAP ERP rapid-deployment solution for operational reporting with SAP HANA

Page 43: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 43 Public

Rapid Deployment Solutions on HANA

ZBUN Brand Voice Package Name Internal Package Name

RDS_HANA_OPS SAP HANA Operational Reporting rapid-deployment solution SAP ERP rapid-deployment solution for operational reporting with SAP HANA

RDS_HANA_SAR SAP Sales Analysis for Retail SBOP Sales Analysis for Retail

RDS_HANA_SAR SAP Sales Analysis for Retail Sales Analysis for Retail

RDS_HANA_SENT SAP HANA Sentiment Intelligence rapid-deployment solution SAP HANA Sentiment intelligence V3 (Translation)

RDS_HANA_SENT SAP HANA Sentiment Intelligence rapid-deployment solution SAP HANA Sentiment Intelligence RDS

RDS_HANA_SHOP SAP Shopper Insight rapid-deployment solution Retail: Shopper Insight - (CAR data model, Dashboards)

RDS_MANU_HANA SAP ERP for Manufacturing rapid-deployment solution Translation of ERP Manufacturing RDS powered by HANA on V1/2.607 (SAAPLOB-626)

RDS_MANU_HANA SAP ERP for Manufacturing rapid-deployment solution Inclusion of v1.607 baselines for Qatar and Saudi Arabia into ERP RDS for Manufacturing

RDS_MANU_HANA SAP ERP for Manufacturing in China rapid-deployment solution Manufacturing ERP RDS for China

RDS_MANU_HANA SAP ERP for Manufacturing in China rapid-deployment solution powered by SAP HANA Q4 Additional country baselines for ERP on HANA for Manufacturing

RDS_MANU_HANA SAP ERP for Manufacturing rapid-deployment solution ERP for Manufacturing RDS Upgrade to 607

RDS_NMA_HANA SAP HANA Net Margin Analysis rapid-deployment solution Translation - RDS for Net Margin Analysis 2.0 with SAP HANA (A20)

RDS_NMA_HANA SAP HANA Net Margin Analysis rapid-deployment solution Upgrade RDS for Net Margin Analysis with SAP HANA for A2O Finance Cluster

RDS_PCC_HANA SAP Payroll Processing control center rapid-deployment solution SAP Payroll Processing control center rapid-deployment solution

RDS_PLAN_RET_HANA SAP Planning for Retail rapid-deployment solution SAP Planning for Retail RDS V2.730

RDS_PLAN_RET_HANA SAP Planning for Retail rapid-deployment solution RDS for SAP Planning for Retail

RDS_PRED_ANA_HANA SAP Predictive Analytics Content Adoption rapid-deployment solution Predictive Analytics RDS V3

RDS_PRED_ANA_HANA SAP Predictive Analytics Content Adoption rapid-deployment solution Predictive Analytics HANA RDS

RDS_PSFI_HANA SAP HANA Financials for Public Sector rapid-deployment solution Transl. for Public Sector Financials Accelerator with HANA upgrade version 2

RDS_PSFI_HANA SAP HANA Financials for Public Sector rapid-deployment solution RDS for Public Sector Financials & PSCD with SAP HANA

RDS_PSFI_HANA SAP HANA Financials for Public Sector rapid-deployment solution PS Financials Accelerator with HANA Upgrade

RDS_PSFI_HANA SAP HANA Financials for Public Sector rapid-deployment solution Public Sector Financials & PSCD with SAP HANA

RDS_RET_CAR_HANA SAP HANA Customer Activity Repository rapid-deployment solution RDS for Retail Customer Activity Repository (CAR) with SAP HANA

RDS_SHL_HANA SAP HANA Live rapid-deployment solution SAP HANA Live rapid-deployment solution V6

RDS_SHL_HANA SAP HANA Live rapid-deployment solution SAP HANA Live rapid-deplyoment solution V5 - 1

RDS_SHL_HANA SAP HANA Live rapid-deplyoment solution SAP HANA Live rapid-deplyoment solution V4 (aka SHAF, HAF, HANA-based Analytics)

RDS_SHL_HANA SAP HANA Live rapid-deployment solution SAP HANA Live rapid-deplyoment solution V3 (aka SHAF, HAF, HANA-based Analytics)

RDS_SHL_HANA SAP HANA Live rapid-deployment solution SAP HANA Live rapid-deplyoment solution V2 (aka SHAF, HAF, HANA-based Analytics)

RDS_SHL_HANA SAP HANA Live rapid-deployment solution SAP HANA Analytics Framework for SAP Business Suite V2

RDS_SOP_HANA SAP HANA Sales and Operations Planning rapid-deployment solution Sales & Operational Planning (S&OP) with SAP HANA (On-Demand & On-Premise)

RDS_TRADE_HANA SAP ERP for Trading rapid-deployment solution Translation of ERP Trading RDS powered by HANA on V1/2.607 (SAAPLOB-627)

RDS_TRADE_HANA SAP ERP for Trading rapid-deployment solution Inclusion of v1.607 baselines for Qatar and Saudi Arabia into ERP RDS for Trading

RDS_TRADE_HANA SAP ERP for Trading in China rapid-deployment solution Trading ERP RDS for China

RDS_TRADE_HANA SAP ERP for Trading in China rapid-deployment solution powered by SAP HANA Q4 Additional country baselines for ERP on HANA for Trading

RDS_TRADE_HANA SAP ERP for Trading rapid-deployment solution ERP for Trading RDS Upgrade to 607

Page 44: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 44 Public

Resources

SAP HANA Developer Guide

http://help.sap.com/hana/SAP_HANA_Developer_Guide_en.pdf

SAP HANA Developer Information Roadmap

http://help.sap.com/hana/SAP_HANA_Developer_Information_Roadmap.pdf

SAPUI5 Developer Guide for SAP HANA

http://help.sap.com/hana/SAP_UI5_Developer_Guide_for_SAP_HANA_en.pdf

SAP HANA Interactive Education (SHINE)

http://help.sap.com/hana/SAP_HANA_Interactive_Education_SHINE_en.pdf

SAP HANA Modeling Guide

http://help.sap.com/hana/SAP_HANA_Modeling_Guide_en.pdf

SAP HANA Rapid Deployment Solutions

http://service.sap.com/solutionpackages

Page 45: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved.

Спасибо и до встречи!

Контактная информация:

Тимофей Данилов

SAP CIS

Россия, Москва, Космодамианская наб., 52/7

[email protected]

Page 46: SAP HANA Extended Application Services (XS) …sapvod.edgesuite.net/saphanaonlineseries/2014/pdfs/sap_hana_xs... · SAP HANA Extended Application Services (XS) ... “SAP HANA allows

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 46 Public

© 2014 SAP AG or an SAP affiliate company. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG or an SAP affiliate company.

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG (or an SAP affiliate

company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

National product specifications may vary.

These materials are provided by SAP AG or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP AG or its

affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP AG or SAP affiliate company products and services

are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an

additional warranty.

In particular, SAP AG or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or

release any functionality mentioned therein. This document, or any related presentation, and SAP AG’s or its affiliated companies’ strategy and possible future

developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP AG or its affiliated companies at any time for

any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-

looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place

undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.