Авторы – Баков Рустам, Дмитриева Людмила, Кульнев Дмитрий, Медведев Юрий

Привет, Хабр-сообщество!

В данной статье мы не будем рассказывать, что такое SAP HANA, об этом и так много говорят и пишут, а сразу покажем, как можно «поиграть» с системой и создать простое приложение из серии «Hello World!» с применением среды разработки Eclipse.

Вначале настроим среду разработки Eclipse с необходимыми плагинами. Плагины для работы с SAP HANA существуют для двух версий Eclipse – Luna и Kepler. Если у вас не установлен Eclipse, то скачать его можно по ссылкам:
Luna — www.eclipse.org/luna
Kepler — www.eclipse.org/kepler
В нашем примере мы будем показывать все шаги настройки на примере Eclipse Luna.

image



Следующим шагом станет установка плагинов — стандартный процесс для Eclipse. Единственное «но» – версии плагинов для Luna и Kepler отличаются, поэтому выбирайте именно тот, который подойдет вашей версии Eclipse.
Ссылка на плагины для Luna — tools.hana.ondemand.com/luna
Ссылка на плагины для Kepler — tools.hana.ondemand.com/kepler
Выбираем Help в верхнем меню Eclipse и выбираем Install New Software.

image

Копируем ссылку в строку Work with: и добавляем в список сохраненных ссылок.

image

После этого появится список плагинов, доступных для скачивания. Из этого списка нас интересуют только два плагина:

• ABAP Development Tools for SAP NetWeaver – он содержит в себе все необходимые инструменты для разработки на языке ABAP;
• SAP HANA Tools – данный плагин включает в себя все инструменты для разработки для SAP HANA, включая инструменты для администрирования (на уровне разработчика), проектирования и разработки баз данных на основе платформы SAP HANA.

image

Отмечаем эти два плагина для установки и нажимаем на кнопку Next.

image

После этого, ознакомившись со списком устанавливаемых компонентов и согласившись с лицензионным соглашением,

image

ждем на Finish.

После перезапуска Eclipse вас встречает обновленная страница приветствия. На ней можно найти ссылки на статьи по основам разработки на языке ABAP, а также много другой полезной информации.

image

Нажимаем на кнопку Workbench в правом верхнем углу и попадаем уже в «рабочую зону» среды разработки. Следующим шагом станет выбор необходимых перспектив разработки.
Это можно сделать двумя способами. Первый – пройти в Window->Open Perspective->Other…
Второй способ – нажать Open Perspective непосредственно на панели перспектив.

image

Нам необходимо добавить поочереди две перспективы: SAP HANA Administration Console и SAP HANA Modeler.

На этом завершается этап подготовки Eclipse, теперь можно перейти непосредственно к получению тестового доступа к SAP HANA Cloud Platform.
Получить его достаточно легко. Во-первых, надо пройти по ссылке account.hana.ondemand.com/register и зарегистрироваться на сайте. Во-вторых, после регистрации и входа в систему, необходимо пройти в панель управления облачной платформы, нажав на соответствующую ссылку на панели навигации сайта или просто пройти по ссылке:
account.hanatrial.ondemand.com/cockpit

image

Здесь мы видим несколько вкладок, ведущих к просмотру и настройке разных частей облачной платформы. Сейчас нас интересует создание так называемого HANA XS приложения – создадим его!

Создание нового экземпляра приложения

Нажимаем на HANA Instances на панели быстрого доступа слева.
Для получения доступа нужно создать новый пробный пример (New Trial Instance) и, указав его имя, сохранить изменения.

image

Добавление системы (Eclipse)

Теперь соединим вместе Eclipse и SAP HANA. Для этого запускаем Eclipse и открываем перспективу SAP HANA Development. После чего переходим на вкладку Systems. Это будет выглядеть как-то так:

image

Кликаем правой клавишей мышки и выбираем Add Cloud System. После этого необходимо будет ввести имя аккаунта, имя пользователя и пароль.

image

Ваш Account name находится вот здесь.

image

Если вы забыли пароль, то сможете его восстановить здесь.

image

После нажатия на Next Eclipse спросит, какой инстанс надо выбрать. Скорее всего, вы увидите только один доступный вариант (тот, который был только что создан).

image

Выбираем его и нажимаем на Finish.

Посмотрим, что в итоге получилось.

image

Интерес представляют две паки – Catalog и Content. В каталоге системы HANA мы можем использовать две схемы: NEO_ и DEV_. Схема базы данных с префиксом NEO_ является схемой для разработки, то есть вы должны сохранять там все артефакты, относящиеся к разработке приложении. Схема с префиксом DEV_ — это ваша личная схема, в ней вы можете хранить все, что угодно, но только если эти объекты не будут использованы в основной разработке.
А в папке Content мы увидим наш созданный проект приложения HANA XS.
Итак, инструменты настроены, соединение с SAP HANA установлено – самое время создать новое приложение.

Добавление нового проекта

Переходим на вкладку Project Explorer.

image

Выбираем из основного меню File->New ->Project и выбираем SAP HANA->Application Development->XS Project.

image

Задаем имя проекту, проверяем, что флажок Share project in SAP repository установлен, и идем дальше.

image

Выбор репозитория

image

В новом окне необходимо выбрать текущий workspace (Default Workspace).

image

Получаем:

image

Выбираем путь для Repository Package

image

image

Выглядеть он будет так:

image

Нажимаем Next и переходим к следующему шагу.

Создание объектов нашего приложения

Заполняем поле XS JavaScript.

image

Далее жмите Finish.

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

image

Файл HelloWorld.xsjs

Файл «HelloWorld.xsjs» был сгенерирован автоматически на предыдущем шаге и содержит некий код. Мы очистим его и добавим простейший функционал, реализующий:

1. Чтение данных из SAP HANA
2. Вывод результатов в HTTP формате в браузере

Для этого обновим содержимое файла на следующий код:

$.response.contentType = «text/html»;
var output = «Hello, World! Message from system »;

var conn = $.db.getConnection();
var stmt = conn.prepareStatement(«SELECT value FROM m_host_information WHERE key = 'sid' „);
var rs = stmt.executeQuery();
if (!rs.next())
{
$.response.setBody(“Failed to retrieve data!»);
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
}
else
{
output = output + rs.getString(1);
}
rs.close();
stmt.close();
conn.close();

$.response.setBody( output );
$.response.status = $.net.http.OK;

Получаем:

image

Программа обращается к таблице «m_host_information» для получения информации об уникальном идентификаторе SAP HANA системы. Полученная информация добавляется к приветственному тексту «Hello, World!»

Активируем скрипт.

image

После чего переходим в Cockpit и видим, что наше приложение HelloWorld появилось во вкладке HANA XS Applications (возможно, придётся перезапустить Cockpit, чтобы его увидеть). Берем URL нашего приложения,

image


прописываем в него созданный скрипт и запускаем.

image

Скрипт успешно отработал!

Итак, вы ознакомились с разработкой самого простого HANA-приложения с использованием среды разработки Eclipse.

Мы готовы обсудить с вами наш пост, ответить на ваши вопросы и поговорить о задачах, которые вам интересны!

Комментарии (11)


  1. kovshenin
    27.04.2015 18:12

    Уберите WordPress из хабов.


    1. land_driver Автор
      27.04.2015 19:42

      Спасибо, вы правы


  1. VGusev2007
    27.04.2015 22:36

    Если вы забыли пароль, то сможете его восстановить здесь. — И надо нажать на кнопку Register? — Если да, то это весьма, и весьма радует! SAP AG следует своим традициям, всё запутать и усложнить (кто знает, тот поймёт) :)!

    Спасибо за статью, будет здорово, если такие статьи продолжатся, а то на конференциях рассказывали какой, он очень хороший этот SAP HANA, но практики не было. Будет здорово, если показанный выше пример будет нечто большим чем Hello World. Но для начала, более чем! Спасибо!


    1. land_driver Автор
      28.04.2015 10:13

      Спасибо за отзыв, мы планируем продолжать наши публикации. В следующих статьях попробуем решить более сложные задачи, как, например, разработка простейших аналитических отчетов на in-memory базе данных.
      В любом случае — мы ждем предложений — что могло бы быть особенно интересно.


  1. ReGloom
    28.04.2015 10:03

    С «Hello World» более менее понятно. Хотелось бы больше узнать об Online IDE от SAP (SAP HANA Cloud Platform), а так же посмотреть на приложение с запросами к БД. Крайне интересно сравнение по времени обработки запросов с другими СУБД. Да и сам язык запросов было бы интересно рассмотреть.


    1. land_driver Автор
      28.04.2015 10:17

      Спасибо, интересное предложение, включим в наш список будущих публикаций!


      1. apmavrin
        29.04.2015 10:45

        Я планировал написать про Web IDE и разработку UI5 приложения в мае-июне)


        1. land_driver Автор
          29.04.2015 12:16

          Нам самим было бы интересно про это почитать!


          1. apmavrin
            29.04.2015 12:34

            Договорились. Напишу сюда)


  1. smartello
    28.04.2015 16:38

    Было бы интересней посмотреть на более функциональный проект, потому что пока что непонятно в чём преимущества САПовского решения.


    1. land_driver Автор
      28.04.2015 16:55

      SAP HANA Cloud Platform — это облако и in-memory база данных в одном флаконе, соответственно, со всеми плюсами и минусами облака и SAP HANA. Про более функциональный проект нам бы хотелось рассказать в нашей следующей статье. Не попустите!