Коробочная интеграция с SAP Business One

Дата публикации:

SAP Business One — это система, обеспечивающая полный контроль над всеми аспектами деятельности коммерческой компании. А именно — управление продажами, финансовыми потоками, закупками, производственным процессом и т.д.  SAP Business One может разворачиваться, как в офисе, так и на виртуальном сервере. Использование этой системы помогает в ведении всех аспектов бизнеса.

Интеграции с SAP стоит строго разделять по назначению. Мы выделим два основных сценария и вопроса, на которые они помогают ответить:

  • Репликация данных — существует ли подмножество таблиц в базе данных SAP B1, действующей в качестве совместно используемой мастер-БД? Или копию этих данных хранят внешние БД?
  • Синхронизация данных — если данные дублируются, они синхронизируются всегда или только периодически?

Реализация интеграций с SAP B1 сталкивается с проблемами в момент пересечения с бизнес-логикой,  а также при столкновениями с большими объемами данных. Также отметим, что подобные трудности оборачиваются дополнительными затратами на северное оборудование.

Подведем промежуточный итог — суть процесса интеграции с SAP кроется в ответе на два важных вопроса: каков тип сценария репликации данных и какова периодичность их синхронизации?

Для получения исчерпывающего ответа перейдем к самим механизмам интеграции. А для затравки предложим вашему вниманию стандартные решения, которые поставляются в комплекте SAP B1 SDK (впрочем, комплект не означает что все будет работать, как вам нужно — такова коммерческая подоплека):

  • SAP Business One DI-API
  • SAP Business One DI Server

SAP Business One DI-API

DI-API предоставляет интерфейс объектам SAP Business One, с типичным для API CRUD набором действий (вы можете читать, просматривать, создавать, обновлять или удалять объекты в базе данных SAP B1, а также выполнять некоторые XML-операции). Из приятного: SAP обеспечивает максимально полную проверку данных и автоматически заполняет значения полей, основанные на бизнес-правилах SAP B1. Таким образом, консистентность данных в базе гарантированна.

На самом деле DI API дает доступ не только внешней системы к базе данных с объектами, но и частично — к бизнес логике, реализованной в SAP B1.

DI-API реализован в виде DLL на основе Microsoft COM. Это обеспечивает совместимость с любой COM или .NET средой разработки, включая Microsoft Visual Studio или Visual Studio .NET. Кроме того, имеется возможность адаптировать DI-API под Ruby on Rails. Для этого потребуется использовать небольшую прослойку на Savon, способствующую реализации интерпретатора SOAP протокола и генерации полезного XML.

DI-API действует, как COM на основе фасадной капсулы, за которой скрывается множество внутренних служб (рис. 1), обеспечивающих:

  • доступ к функциям базы данных и метаданных (менеджер данных)
  • расширенные функциональные возможности XML (схемы Generator)
  • SAP B1 бизнес-логики (ObserVer).

Обратите внимание, что DI-API представляет собой мононаправление и синхронный интерфейс. Интеграция данных требуется также и для получения уведомлений о создании, удалении и обновлении объектов в SAP Business One DB.

SAP-B1-DI-API-Structure-e1458900776882

SAP Business One DI Server

DI-сервер предоставляет SOAP интерфейс для SAP B1. Набор операций, осуществляемых этим интерфейсом является подмножеством методов, экспортируемых DI-API. В целом, он обеспечивает проведение CRUD операций на объектах (как и в DI API), но с одним ограничением: не поддерживаются функции метаданных. DI Server не позволяет изменять структуру пользовательских таблиц в БД.

Однако он дает возможность передачи нескольких операций в течение одной транзакции. Впрочем, подобным функционалом наделен и API.

Главное положительное отличие DI Server от DI API — поддержка более   широкого спектра клиентских технологий. А это автоматически означает и наличие больших возможностей интеграции (конечно после предварительной обработки “напильником”). DI Server позволяет использовать: COM, COBRA, или TCP/IP для взаимодействия с SAP Business One с помощью XML. В отличие от DI-API c COM-оберткой, его можно рассматривать как SOAP-обертку вокруг внутренних служб SAP Business One.

На приведенной ниже схеме показана архитектура для DI Server (рис 2).

SAP-B1-DI-Server-Structure-e1458900788179

Интеграция с мобильными клиентами (IOS и Android)

Команда JetRuby также имеет опыт интеграции SAP с мобильным приложениями на базе IOS и Android. В этом деле на первый план выходит дополнительная прослойка с конвертацией в JSON формате. Кроме того, интеграция SAP с мобильными устройствами требует внедрения отдельных вспомогательных сервисов и дополнительных ресурсов препроцессинга выдачи данных. Например, для быстрого поиска и выдачи предварительно подготовленных результатов мы используем ElasticSearch.

Что же касается действий на запись или вычислений, они проходят асинхронно в фоновых потоках. Если вычисления занимают более 10 секунд для одного клиента, для этого используются дополнительные адаптеры Ruby или GoLang.

Мы Крым Диджитал

С 2015 года мы предоставляем полный цикл услуг мобильной и веб-разработки клиентам из различных отраслей и разных стран.

Подпишись
на наши новости

Контакты пресс-службы

+ 7 (926) 118-80-32

WhatsApp, Viber, Telegram

Давайте обсудим Ваш проект

или свяжитесь с нами по почте projects@crimeadigital.ru

Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных

Прошел день карьеры в СевГУ

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая. Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы. Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов — как начать свою карьеру в ИТ? Есть ли возможность совмещать учебу с работой? Кем я смогу стать? Как понять, кем я хочу работать? И многие другие.

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая.

Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы.

Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов - как начать свою карьеру в ИТ?

Есть ли возможность совмещать учебу с работой?

Кем я смогу стать?

Как понять, кем я хочу работать?

И многие другие.

Завершен набор студентов на летнюю практику

Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться — front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.
Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться - front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.

Крым Диджитал приняла участие в стратегической сессии

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня. Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства. Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня.

Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.
Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства.

Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Выпуск курса Software Testing

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing! Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании. Следующий курс намечен на август. Не пропусти анонс записи!

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing!

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

Следующий курс намечен на август. Не пропусти анонс записи!