Сервіси
Сервіси визначають набір функцій для ініціювання основних обчислювальних процесів в цілому. Сервіси, як функціональна група, відрізняються тим, що вони можуть управляти іншими складовими цього ж рівня абстракцій, мають лише один екземпляр в пам'яті основного обчислювального ядра або забезпечують рішення на рівні структури.
Архітектура
Запуск ядра обчислень супроводжується запуском зʼєднува ча відображень, який в свою чергу в певному порядку запускає сервіси. Кожний сервіс виконує власну структурну функцію. В переважній своїй кількості, сервіси можуть бути сконфігуровані, при чому сервісів надають ряд методів в агенти функціональності для подальшого їх використання в бізнес-схемі для опису бізнес-логіки
Завдяки використанню абстрактного сервісу AbstractService, який встановлює стандарти створення та базовий опис
сервісів, досягається підвищення надійності та спрощення розуміння принципів роботи сервісів. Крім того,
визначається спільна частина для кожного сервісу, що сприяє уніфікації їх правилам запуску, зупинки, а також базового
вмісту.
Ряд сервісів має можливості підключення чи відключення їх від роботи ядра відображень. Щоб підключити або відключити сервіси, які це допускають необхідно вказати це в конфігураційному файлі налаштування. При відключенні, ядро обчислень не буде витрачати ресурси на роботу цього сервісу.
Порядок виконання
Порядок виконання сервісів визначається залежностями одних сервісів від інших. Наприклад, сервіс
комбінацій CombinationService визначає порядок виконання фабрик та запускає адаптери запитів згідно їх конфігураційних
даних, що вже вносить залежність від сервісу відкриттів DiscoveryService оскільки він завантажує конфігурацію роботи
відображень - з цього слідує, що сервіс відкриттів DiscoveryService повинен запускатись перед запуском сервісу
комбінацій CombinationService.
| Назва | Обов'язковість | Порядок | Стабільність | Доступ | Опис |
|---|---|---|---|---|---|
| DiscoveryService | + | 1 | Stable | Загальний | Обробка конфігураційних файлів та надання конфігураційних параметрів як в рамках ядра так і конфігураційні параметри кінцевого веб-застосунку. |
| SchemeService | + | 2 | Stable | Загальний | Обробка бізнес схеми та побудови знімку версій бізнес схеми. |
| CombinationService | + | 3 | Stable | Внутрішній | Запуск адаптерів та фабричних конструкцій, які можуть підтримувати ряд стратегій функціоналу однієї напрямленості. |
| I18nService | - | 4 | Stable | Загальний | Обробка та надання функціоналу по роботі з інтернаціоналізацією. |
| SessionService | - | 6 | Alpha | Загальний | Створення та контроль роботи сесії користувача. |
| StoreService | - | 7 | Beta | Загальний | Організація роботи та функціонал створення сховищ |
| AuthService | - | 8 | Experimental | Загальний | Автоматизація обробки токенів доступу для якісної підтримки актуальності сесії. |
Порядок зупинки сервісів прямопротилежний порядку запуску сервісів, дозволяючи таким чином коректно завершувати процеси сервісів з більшою кількі стю залежностей.
Наразі X-Fiber не підтримує впровадження власних сервісів, але в майбутніх релізах X-Fiber буде допускати включати
Ваші власні рішення в порядок запуску сервісів.
Перелік сервісів
Деталі реалізації та застосування конкретного сервісу:
📄️ Сервіс відкриттів
📚 Обробка конфігураційних файлів та змінних
📄️ Сервіс бізнес-схеми
📚 Завантаження та надання бізнес-схеми
📄️ Сервіс комбінацій
📚 Запуск та конфігурація функціональних рішень
📄️ Сервіс інтернаціоналізації
📚 Обробка та зберігання перекладів
📄️ Сервіс сесій
📚 Робота з сесіями користувачів
📄️ Сервіс авторизації
📚 Підтримка актуальності сесії та обробка токенів доступу