На каком python-фреймворке написать SOAP сервер и клиент?
Добрый день!
Компания занимается торговлей. Нужно выгружать список товаров из ERP в кассовое ПО и выгружать чеки из кассового ПО в ERP.
ERP - SAP.
Кассовое ПО - Set Retail 10.
Сейчас используется такая схема при выгрузке товаров из ERP в ПО для касс:
SAP PI -> JDBC Receiver -> MSSQL -> SetBridge (Set Retail 5) -> Set1 retail 10
Из кассового ПО в ERP чеки едут так:
Set Retail 10 -> Set Retail 5 -> JDBC Receiver -> SAP PI
Хотелось бы избавить от прослойки "JDBC Receiver + Set Retail 5", это отдельная виртуальная машина,
которая, по сути, просто занимается конвертацией данных из формата SAP PI в формат понятный Set Retail 10.
В идеале, было бы здорово придти к схеме SAP PI < - > Set Retail 10, но специалиста по SAP PI нет,
отдавать заказ на сторону никто не хочет, всех всё устраивает.
Хочу попробовать заменить "JDBC Receiver + Set Retail 5" демоном на python-е.
Не энтерпрайз, просто улучшить свои навыки в программировании на питоне.
То есть схема будет такой:
SAP PI -> Python -> Set Retail 10
Из SAP на JDBC Receiver POST-запросом прилетают документы вида:
-----
POST /db/SETRetail_JDBC_receiver HTTP/1.0
content-type: multipart/related;boundary=SAP_005056A6DBA01EE89FD127DCB9C88B4A_END;type="text/xml";start=""
content-length: 8889
...
...
content-type:application/x-sap.idoc
content-length:4463
content-id:
<?xml version="1.0" encoding="utf-8"?>
...
тут описание товара
...
-----
В Set Retail 10 можно загружать товары через SOAP запросы. У них хорошая документация, все параметры описаны.
Вопрос:
Есть ли готовый фреймворк, который более-менее подходит под задачу, или лучше писать своё с нуля (слушать порт, читать данные, парсить XML итп)?
В данном случае "с нуля" - не такой уж большой объем работы, как может показаться. Один-два дня работы практикующему специалисту, неделя-две новичку.
Освоение фреймворка в педагогических целях безусловно полезно, и с практической точки зрения его применение зачастую оправдано, но возможно, в данном случае это будет лишним.
Вопрос, каким количеством времени вы располагаете. Перечисленные задачи не составляют какой-то особый объем. Что со фреймворком делать, что без фреймворка - это не публичное веб-приложение, требований по безопасности тут почти нет. Поэтому и разницы особой нет.
Делайте без фреймворка.
Совет: используйте ООП и разрабатывайте маленькими тестами. Так вы очень быстро достигнете искомого результата.