Skip to content

[Разработка интеграционных систем] ПР №3

Notifications You must be signed in to change notification settings

shasoka/i_hate_soap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧼 Мыло, mtom/xop и прочие радости жизни

nu_prosto_k_slovu


Как это развернуть?

Warning

Это чудо писалось на Python 3.10. Заведется ли на чем-то моложе? - не знаю.

  1. Клиент и сервер пользуются общим окружением
  2. В файлах .env, .\server\core\config.py и .\client\config.py указаны переменные, с которыми можно (и нужно) играться
  3. Файл .\scripts\sql\tables.sql говорит сам за себя
  4. Открытый и закрытый ключи получаем при помощи openssl:
    • Закрытый ключ:
      openssl genrsa -out .\certs\jwt_private.pem 2048
    • Открытый ключ:
      openssl rsa -in .\certs\jwt_private.pem -outform PEM -pubout -out .\certs\jwt_public.pem
  5. Создаем виртуальное окружение python -m venv venv
  6. Активируем его .\venv\Scripts\activate

Important

Далее магия 🪄: единственная живая библиотека для поднятия SOAP-сервиса на Python - это Spyne. Но! Оно очень плохо умеет в MTOM. Поэтому пришлось поковырять исходники, и заставить его работать.

  1. Создаем директорию для моего форка Spyne: cd .\venv\Lib\site-packages\ && mkdir spyne
  2. Находясь в новоиспеченной директории: git clone https://github.com/shasoka/spyne -b fixing-mtom-xop .
  3. Билдим библиотеку: python setup.py install
  4. Поздравляю 🤝 Устанавливаем остальные зависимости: pip install -r .\requirements.txt
  5. Ну, все, победа!
    • Запуск сервера: python .\server\main.py
    • Запуск клиента: python .\client\main.py

Что-то про аптайм

Формула для вычисления процента времени работы сервера:

$$\text{uptime\_percentage} = \frac{\sum (t_{\text{death\_i}} - t_{\text{start\_i}}) + (t_{\text{now}} - t_{\text{start\_n}})}{t_{\text{now}} - t_{\text{start\_0}}}$$

И еще

Кому интересно pull request в Spyne тут

About

[Разработка интеграционных систем] ПР №3

Topics

Resources

Stars

Watchers

Forks