Мой поставщик может войти в основную систему управления (Система A), которая управляет несколькими подписками SaaS (Система B).Каждая система B размещается отдельно на изолированном сервере.Система A и система B могут взаимодействовать через REST API.
Мой поставщик может в любое время обновить Систему B, что приведет к появлению нескольких версий Системы B на моей стороне.
Ситуация:
Vendor 1 > subscription 1 > version 1.0
Vendor 1 > subscription 2 > version 1.1
Vendor 1 > subscription 3 > version 1.2
Теперь у меня проблема с проектированием Системы A, чтобы она могла управлять всеми версиями Системы B.
Поскольку они взаимодействуют через API, я думаю добавить слой адаптера для перевода.версия модели отличается от Системы B.
![Adapter for multiple version](https://i.stack.imgur.com/AYDvJ.jpg)
Однако некоторые модели совместно используются Системой A и Системой B. Например,
- Система A имеет возможность передавать новую запись (Модель Z) на всю Систему B.
- Модель Z в Системе B версии 1.3 имеет дополнительный атрибут.
- Когда яВыпустив Систему B версии 1.3, Система A получит последнюю модель Z.
- Когда Системе A понадобится перейти в систему B, она переведет ее в соответствии с моделью Z в Системе B.
Теперь мой вопрос:
- Это правильный прак?Как управлять другой версией сервера?
- Какая практика полезна для управления моделью Z?Управлять через один источник с другой версией?Или 2 источника для 2 разных систем, чтобы добиться разделения проблем?