В конце прошлого года я участвовал в проекте миграции систем SAP на новую платформу, где, в частности, использовалась виртуализация. Так как до этого с продуктивным использованием сред виртуализации не сталкивался, а здесь пришлось достаточно глубоко погрузиться в эту область, я хочу поделиться своими знаниями.
В прошлом году наша команда получила запрос на разработку интересного и сложного приложения, которое будет использоваться как сотрудниками компании, так и клиентами. Редкая возможность разработки “с нуля” и полная свобода выбора технологии. Мы приступили к выбору платформы.
Во вселенной SAP сложились жёсткие границы между специалистами из разных областей. Каждый выполняет свои задачи, не выходя за пределы той области, в которой он специализируется. Функциональный консультант делает настройки в SPRO и пишет ТЗ для разработчика, разработчик пишет программы, создаёт объекты словаря, реализуя ТЗ, а администратор после всех этих действий обеспечивает работоспособность системы.
Обычно, при смене языка программирования, программисты пытаются применить лучшие практики и шаблоны из языка, на котором они писали ранее. Для отделения логики пользовательского интерфейса от бизнес-логики используют архитектурные паттерны MVC либо его модификации (MVP, MVVM и др.). При наличии опыта работы с такими языками, как Java, C#, C++, PHP, Python и т.п., сложностей с переходом обычно не возникает. Однако, при переходе на ABAP, программисты сталкиваются с рядом проблем, из-за которых многие отказываются от упомянутых паттернов.
Возникают задачи, в которых требуется выполнить большое количество однотипных операций. При этом, тело операций инкапсулировано, а порядок их выполнения не влияет на конечный результат. Суммарное время выполнения операций может достигать нескольких часов. Примерами таких действий может быть: массовое выполнение BAPI или пакетного ввода. Ускорить такие программы можно через параллельное программирование (pRFC).
Еще не умер старый добрый всем привычный «толстый» клиент SAP GUI, но на пятки ему уже наступает его убийца Fiori UX (User Experience), как любят описывать SAPовцы свое детище – самое удобное, самое красивое и вообще самое, самое, самое. Конечно, этот интерфейс предназначен для конечных пользователей, а консультанты и дальше будут настраивать систему в SAP GUI, но кто знает, может и его со временем полностью заменит Eclipse.
Сегодня я хочу поговорить про отношения между SAP и Oracle. Долгое время каждая компания была сосредоточена на одном виде программных продуктов: компания Oracle создавала базы данных и держала большую часть рынка СУБД, а SAP создавал системы управления предприятиями и владел большим куском "пирога" в своей софто-сфере.
Часто бывает нужно сделать так, чтобы стандартное программное обеспечение работало не так, как оно работает, а как-то иначе. Можно просто модифицировать существующее программное обеспечение. Можно, если сделать аккуратно, без ошибок. Но от производителя время от времени приходят обновленные версии, заменяющие старые. После приема новых версий старые будут потеряны вместе с внесенными в них изменениями.
Часто бывает нужно сделать так, чтобы стандартное программное обеспечение работало не так, как оно работает, а как-то иначе. Можно просто модифицировать существующее программное обеспечение. Можно, если сделать аккуратно, без ошибок. Но от производителя время от времени приходят обновленные версии, заменяющие старые. После приема новых версий старые будут потеряны вместе с внесенными в них изменениями.
Часто бывает нужно сделать так, чтобы стандартное программное обеспечение работало не так, как оно работает, а как-то иначе. Можно просто модифицировать существующее программное обеспечение. Можно, если сделать аккуратно, без ошибок. Но от производителя время от времени приходят обновленные версии, заменяющие старые. После приема новых версий старые будут потеряны вместе с внесенными в них изменениями.
Практика показывает, что пользователи не любят запускать фоновые задания, а упрямо предпочитают пользоваться диалоговым режимом работы для всех своих задач и операций. И я так понимаю, что пользователи во всех странах очень похожи, раз в SAP системе был реализован механизм ограничивающий работу в режиме диалога.
SAP Agricultural Contract Management (ACM) является отраслевым решением для торговли сельскохозяйственной продукцией: зерновыми, соей, маслосеменами и продуктами их переработки, которыми торгуют на продовольственных биржах.
Эта глава посвящена использованию моделей Core Data Services (CDS) для транзакционных приложений. Это приложения, которые не только считывают данные, но и изменяют их.