Мое приложение должно получать данные из НЕСКОЛЬКИХ источников. Следующее должно быть определено пользователем
- Порядок источников данных
- В рамках Заказа условия (если вообще) определяют, использовать ли источник данных или пропустить его
Как только пользователь определил вышеупомянутые два, приложение назначит имя для его "оркестровки", которое он впоследствии будет использовать для извлечения данных.
Я хочу получить руководство по
- лучше ли мне писать свой собственный код для обработки заказа и условий ИЛИ это случай использования конечного автомата
- Если это вариант использования конечного автомата, то это лучший проект с открытым исходным кодом, обеспечивающий такую поддержку
- Есть ли спецификации для конечных автоматов? SCXML
- Каковы лучшие реализации конечного автомата с открытым исходным кодом? Критерии (в следующем порядке): основаны на стандарте, легко отлаживаются, легко встраиваются, активно разрабатываются, поддерживают создание конечного автомата
Вариант использования: Это мультитенантное приложение. Каждый клиент собирается спроектировать свою собственную организацию и сохранить ее в БД. Это мы называем посадкой клиента. После того, как клиент забронирован, все его запросы будут использовать orcestration, который он сохранил ранее.
Теперь допустим, что есть 3 источника данных A, B и C. Мало кто из возможных оркестровок
- Orchestrion 1: Потяните A, Потяните B и
затем потяните C в этом порядке
- Orchestrion 2: Потяните A, если A вернул ошибку, затем потяните B, потяните B (так в основном (A или C) и B)
- Crchestrion 3: Потяните A, B и C. Порядок НЕ имеет значения. все нужно тянуть (может быть параллельно)