Привет, Хабр-сообщество!
В данной статье мы не будем рассказывать, что такое SAP HANA, об этом и так много говорят и пишут, а сразу покажем, как можно «поиграть» с системой и создать простое приложение из серии «Hello World!» с применением среды разработки Eclipse.
Вначале настроим среду разработки Eclipse с необходимыми плагинами. Плагины для работы с SAP HANA существуют для двух версий Eclipse – Luna и Kepler. Если у вас не установлен Eclipse, то скачать его можно по ссылкам:
Luna — www.eclipse.org/luna
Kepler — www.eclipse.org/kepler
В нашем примере мы будем показывать все шаги настройки на примере Eclipse Luna.
Следующим шагом станет установка плагинов — стандартный процесс для Eclipse. Единственное «но» – версии плагинов для Luna и Kepler отличаются, поэтому выбирайте именно тот, который подойдет вашей версии Eclipse.
Ссылка на плагины для Luna — tools.hana.ondemand.com/luna
Ссылка на плагины для Kepler — tools.hana.ondemand.com/kepler
Выбираем Help в верхнем меню Eclipse и выбираем Install New Software.
Копируем ссылку в строку Work with: и добавляем в список сохраненных ссылок.
После этого появится список плагинов, доступных для скачивания. Из этого списка нас интересуют только два плагина:
• ABAP Development Tools for SAP NetWeaver – он содержит в себе все необходимые инструменты для разработки на языке ABAP;
• SAP HANA Tools – данный плагин включает в себя все инструменты для разработки для SAP HANA, включая инструменты для администрирования (на уровне разработчика), проектирования и разработки баз данных на основе платформы SAP HANA.
Отмечаем эти два плагина для установки и нажимаем на кнопку Next.
После этого, ознакомившись со списком устанавливаемых компонентов и согласившись с лицензионным соглашением,
ждем на Finish.
После перезапуска Eclipse вас встречает обновленная страница приветствия. На ней можно найти ссылки на статьи по основам разработки на языке ABAP, а также много другой полезной информации.
Нажимаем на кнопку Workbench в правом верхнем углу и попадаем уже в «рабочую зону» среды разработки. Следующим шагом станет выбор необходимых перспектив разработки.
Это можно сделать двумя способами. Первый – пройти в Window->Open Perspective->Other…
Второй способ – нажать Open Perspective непосредственно на панели перспектив.
Нам необходимо добавить поочереди две перспективы: SAP HANA Administration Console и SAP HANA Modeler.
На этом завершается этап подготовки Eclipse, теперь можно перейти непосредственно к получению тестового доступа к SAP HANA Cloud Platform.
Получить его достаточно легко. Во-первых, надо пройти по ссылке account.hana.ondemand.com/register и зарегистрироваться на сайте. Во-вторых, после регистрации и входа в систему, необходимо пройти в панель управления облачной платформы, нажав на соответствующую ссылку на панели навигации сайта или просто пройти по ссылке:
account.hanatrial.ondemand.com/cockpit
Здесь мы видим несколько вкладок, ведущих к просмотру и настройке разных частей облачной платформы. Сейчас нас интересует создание так называемого HANA XS приложения – создадим его!
Создание нового экземпляра приложения
Нажимаем на HANA Instances на панели быстрого доступа слева.
Для получения доступа нужно создать новый пробный пример (New Trial Instance) и, указав его имя, сохранить изменения.
Добавление системы (Eclipse)
Теперь соединим вместе Eclipse и SAP HANA. Для этого запускаем Eclipse и открываем перспективу SAP HANA Development. После чего переходим на вкладку Systems. Это будет выглядеть как-то так:
Кликаем правой клавишей мышки и выбираем Add Cloud System. После этого необходимо будет ввести имя аккаунта, имя пользователя и пароль.
Ваш Account name находится вот здесь.
Если вы забыли пароль, то сможете его восстановить здесь.
После нажатия на Next Eclipse спросит, какой инстанс надо выбрать. Скорее всего, вы увидите только один доступный вариант (тот, который был только что создан).
Выбираем его и нажимаем на Finish.
Посмотрим, что в итоге получилось.
Интерес представляют две паки – Catalog и Content. В каталоге системы HANA мы можем использовать две схемы: NEO_ и DEV_. Схема базы данных с префиксом NEO_ является схемой для разработки, то есть вы должны сохранять там все артефакты, относящиеся к разработке приложении. Схема с префиксом DEV_ — это ваша личная схема, в ней вы можете хранить все, что угодно, но только если эти объекты не будут использованы в основной разработке.
А в папке Content мы увидим наш созданный проект приложения HANA XS.
Итак, инструменты настроены, соединение с SAP HANA установлено – самое время создать новое приложение.
Добавление нового проекта
Переходим на вкладку Project Explorer.
Выбираем из основного меню File->New ->Project и выбираем SAP HANA->Application Development->XS Project.
Задаем имя проекту, проверяем, что флажок Share project in SAP repository установлен, и идем дальше.
Выбор репозитория
В новом окне необходимо выбрать текущий workspace (Default Workspace).
Получаем:
Выбираем путь для Repository Package
Выглядеть он будет так:
Нажимаем Next и переходим к следующему шагу.
Создание объектов нашего приложения
Заполняем поле XS JavaScript.
Далее жмите Finish.
В результате имеем новый проект, в рамках которого будет происходить разработка.
Файл 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;
Получаем:
Программа обращается к таблице «m_host_information» для получения информации об уникальном идентификаторе SAP HANA системы. Полученная информация добавляется к приветственному тексту «Hello, World!»
Активируем скрипт.
После чего переходим в Cockpit и видим, что наше приложение HelloWorld появилось во вкладке HANA XS Applications (возможно, придётся перезапустить Cockpit, чтобы его увидеть). Берем URL нашего приложения,
прописываем в него созданный скрипт и запускаем.
Скрипт успешно отработал!
Итак, вы ознакомились с разработкой самого простого HANA-приложения с использованием среды разработки Eclipse.
Мы готовы обсудить с вами наш пост, ответить на ваши вопросы и поговорить о задачах, которые вам интересны!
Комментарии (11)
VGusev2007
27.04.2015 22:36Если вы забыли пароль, то сможете его восстановить здесь. — И надо нажать на кнопку Register? — Если да, то это весьма, и весьма радует! SAP AG следует своим традициям, всё запутать и усложнить (кто знает, тот поймёт) :)!
Спасибо за статью, будет здорово, если такие статьи продолжатся, а то на конференциях рассказывали какой, он очень хороший этот SAP HANA, но практики не было. Будет здорово, если показанный выше пример будет нечто большим чем Hello World. Но для начала, более чем! Спасибо!land_driver Автор
28.04.2015 10:13Спасибо за отзыв, мы планируем продолжать наши публикации. В следующих статьях попробуем решить более сложные задачи, как, например, разработка простейших аналитических отчетов на in-memory базе данных.
В любом случае — мы ждем предложений — что могло бы быть особенно интересно.
ReGloom
28.04.2015 10:03С «Hello World» более менее понятно. Хотелось бы больше узнать об Online IDE от SAP (SAP HANA Cloud Platform), а так же посмотреть на приложение с запросами к БД. Крайне интересно сравнение по времени обработки запросов с другими СУБД. Да и сам язык запросов было бы интересно рассмотреть.
land_driver Автор
28.04.2015 10:17Спасибо, интересное предложение, включим в наш список будущих публикаций!
apmavrin
29.04.2015 10:45Я планировал написать про Web IDE и разработку UI5 приложения в мае-июне)
smartello
28.04.2015 16:38Было бы интересней посмотреть на более функциональный проект, потому что пока что непонятно в чём преимущества САПовского решения.
land_driver Автор
28.04.2015 16:55SAP HANA Cloud Platform — это облако и in-memory база данных в одном флаконе, соответственно, со всеми плюсами и минусами облака и SAP HANA. Про более функциональный проект нам бы хотелось рассказать в нашей следующей статье. Не попустите!
kovshenin
Уберите WordPress из хабов.
land_driver Автор
Спасибо, вы правы