Меню

Создание объектно-ориентированных корпоративных приложений и отделение доступа к базе данных от прикладной логики при помощи сервисов объектов ABAP

|

Сервисы объектов ABAP – сервис персистентности и сервис обработки транзакций – предоставляют разработчикам программного обеспечения на ABAP множество преимуществ. Они привносят в ABAP-программирование все те возможности, которые свойственны объектно-ориентированной разработке. В компании IOT GmbH фундаментальные принципы сервисов объектов в полной мере оправдали себя на практике, позволив сделать приложения более надежными, однородными и интуитивными. В этой статье рассказывается о том, как благодаря сервисам объектов удалось четко разграничить доступ к базе данных и прикладную логику, а также значительно ускорить весь процесс разработки. Также рассматривается вопрос о добавлении интегрированного сервиса блокировок к сервисам объектов.

В стремлении к более подробному, нежели в системах ERP, представлению производственных процессов специалисты немецкой компании IOT GmbH в 2003 году приступили к созданию системы управления производством на основе пользовательских разработок с использованием технологии SAP. Данная система должна была включать в себя приложения с пользовательскими интерфейсами для просмотра и обработки производственных данных, а также фоновые приложения, позволяющие взаимодействовать с другими системами, такими как системы управления предприятием или производством. В настоящей статье описывается, каким образом была решена эта задача и как можно использовать полученный опыт в аналогичных ситуациях.

На начальной стадии разработки использовался сервер веб-приложений SAP Web Application Server (SAP Web AS) 6.20. При этом было решено создать “с нуля” новую систему на основе развитой, высоко продуктивной среды разработок SAP Web AS ABAP. Таким образом, удалось воспользоваться всеми возможностями и преимуществами, свойственными объектно-ориентированной разработке программного обеспечения. Использование сервисов объектов ABAP подразумевает наличие обширной библиотеки сервисов и, соответственно, готовых функциональных возможностей, которые необходимы для каждого проекта по разработке системы (к таким возможностям относится, например, загрузка объектов из базы данных или сохранение объектов в БД). Применение сервисов объектов при разработке программного обеспечения позволило сократить объем затрат на весь процесс в целом.

В данной статье представлен опыт практического использования сервисов объектов ABAP: сервиса персистентности и сервиса обработки транзакций. Также дается краткое описание сервиса запроса, который входит в набор сервисов объектов ABAP в SAP NetWeaver 7.0; однако данный сервис не является главной темой настоящей статьи. Как показала практика, использование сервисов объектов позволяет отделить процесс доступа к базе данных от прикладной логики, а также способствует значительной экономии времени при разработке и расширении крупных информационных систем. Кроме того, полностью подтвердилась практическая ценность принципов, на которых базируются сервисы объектов (подробнее они будут рассмотрены в разделе “Сервисы объектов”). Далее мы попытаемся выяснить, можно ли повысить популярность сервисов объектов среди разработчиков путем добавления полностью интегрированного сервиса блокировок.

Эта статья предназначена для системных архитекторов, интересующихся вопросами отделения доступа к базе данных от объектно-ориентированной бизнес-логики при помощи сервисов объектов; разработчиков программного обеспечения, которым необходима информация об использовании сервисов объектов при разработке программного обеспечения ABAP; директоров по информационным технологиям, желающих получить представление о некоторых возможностях программирования с использованием объектов на ABAP.

Оформите подписку sappro и получите полный доступ к материалам SAPPRO

У вас уже есть подписка?

Войти

Обсуждения Количество комментариев1

Комментарий от  

Дмитрий Воронин

  |  28 июля 2010, 18:49

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