Архив метки odata

Тестируем OData в eCATT – 2

VirVit No Comments

Привет.

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

Наша задача – протестировать OData сервис, чтобы любое изменения в его работе тут же показывалось в тестах. Это позволит нам заранее видеть как то или иное изменение скажется на всей системе, особенно, если у нас десятки и сотни тестов, а не 1-2.

OData по сути это формат обмена сообщениями между разными системами. Здесь нет визуальной составляющей, которую нужно или можно тестировать. То есть, мы не сможем проверить, как работа сервиса влияет на отрисовку таблички в приложении или реакцию кнопочки. Об этом я вам позже расскажу.

Итак, мы должны убедиться, что сервис выдает только нужные нам данные и в нужном формате. Если что-то меняется, то тесты должны это показать, а мы увидеть и принять решение – это изменились требования к сервису или ошибка разработки. Если перевести на русский язык, то тест должен запустить сервис как будто это настоящее приложение, получить данные и сверить их с эталонными. Если сверка прошла, то тест пройден. В противном случае – ошибка.

Вторая полезная функция теста это оценить покрытие. В идеале весь код должен быть покрыт тестами, то есть система при запуске тестов должна зайти в каждую процедуру, веточку условий, функцию и так далее. Только так мы можем проверить, что большинство алгоритмов работают верно.

Разрабатываем Fiori приложение – часть 1

VirVit No Comments

Открываем гугл, гуглим, разрабатываем, закрываем гугл. Примерно такой цикл разработки приложения по Agile для Fiori. Прошло буквально два года с момента, когда я сам писал первое приложение для себя, поиграться. Тогда это был старый и добрый Eclipse. Сейчас даже гугл уже не помнит примеры разработки Fiori приложений для Eclipse. Вендор активно стирает все в нашей памяти и тычет: вот облако, вот Web IDE, ходи туда.

Поэтому сегодня мы пишем простое приложение на WebIDE, а потом будем учиться его автоматизированно тестировать вдоль и поперек. Я обещал такую заметку, поэтому она будет.

Задача приложения – отображать системные журналы через веб. Системные журналы, это то, что разные программы пишут в базу, а мы можем посмотреть через транзакцию SLG1. Для разработки приложения нам нужны две вещи: OData сервис, который будет доставать данные из журнала, само приложение, которое будет визуализировать эти данные.

Очень упрощенная модель приложения, без проверок безопасности, авторизации, overflow, да и вообще уровня школьника, выглядит примерно так.

Будущее ABAP

VirVit 3 комментария

Я вам еще не надоел своими умозаключениями насчет будущего?

ABAP для HANA становится другим. Скажем так, совсем другим. Большинство исходных кодов системы написано процедурным языком программирования, когда вся логика зашита в маленьких кусочках кода – процедурах и функциях. Никакого наследования, полиморфизма, инкапсуляции. Раньше так на ассемблере программировали.

С течением времени появляется объектно-ориентированное программирование (ООП). Это классы, интерфейсы, объекты. Решается много проблем процедурного программирования, но многие программисты “старой закалки” не переходят на ООП. Почему? Потому что редко нужно писать свои интерфейсы, а чаще дорабатывать и отчеты рисовать. Да и на процедурках проще, хоть и одноразово.

САП начал смотреть по сторонам, что мы наглядно видим в облачных решениях, UI. Я только что закончил читать статью про ABAP for HANA (http://scn.sap.com/community/abap/eclipse/blog/2014/02/04/new-data-modeling-features-in-abap-for-hana). Дело все в современном подходе к разработке веб-решений. Еще в 2012 году, когда я сел изучать Ruby On Rails, я столкнулся с понятием аннотации. Позже в фреймворке Symfony на PhP тоже самое для ORM моделей. Что такое аннотация? Это набор ключевых слов, параметров, которые определяют работу модели данных. Например, как модель нужно сохранить в базе данных, как модель нужно маршрутизировать (роутинг), как обеспечить целостность модели, как визуализировать модель и так далее.

Fiori – старые технологии

VirVit 5 комментариев

Удивились?

Не вру ни разу. Что такое Fiori? Набор приложений. Что такое UI5 – HTML5. Давайте серьезно поговорим, может я чего не понимаю. Работа фиори приложения:

СУБД – САПчег ERP – Шлюзик Gateway – Клиентик Fiori

Фиори это страничка, сверстанная на HTML языке разметки, приукрашенная CSS стилями, приправленная AJAX вызовами с тяжелой server-side логикой бизнес функций и косметической приправой client-side проверок.

САПчег ERP. Все наше ESS/MSS-ное, ничего нового особо нет. Те же RFC функции, веб-сервисы, ФМ-ники для управления данными.

Основные участники Fiori

Шлюзик Gateway – вот тут уже интересно. Это своего рода прокси – прослойка между клиентом и ERP. Он ретранслирует запросы клиента в вызовы конретных ФМ в ERP. Все это делается через OData сервисы, которые являются частными примером реализации REST технологии. Очень упрощенно это выглядит так.