Архітектура
X-Fiber
представляє собою набір інструментів та правил для створення програмного забезпечення. Наразі платформа надає
можливості створення веб-клієнтів та веб-серверів. Кожна реалізація створена на базі X-Fiber
відповідає слідуючій
архітектурній побудові:
1. Ядро оточення
Ядро оточення описує логіку роботи програми відповідного оточення (браузерного чи серверного), надає широкий ряд конфігураційних можливостей, завдяки яким можливо конфігурувати роботу відповідного ядра оточення.
X-Fiber
можливо гнучко конфігурувати. Конфігурація надає можливість відключати, підключати, описувати деталей роботи
широкого ряду елементів кожного ядра. Описуючи різні профілі та під різне оточення, відповідне ядро буде працювати в
різних режимах, та з різними конфігураціями.
2. Взаємодія з бізнес-схемою
Окрім свого прямого призначення - ядро оточення описує інтерфейси функціональних можливостей, використання який дозволяє описати бізнес-логіку веб-застосунків, та диктує правила опису цієї бізнес-логіки. При завантаженні
При запуску програми відповідного оточення - ядро завантажує бізнес-схему формуючи знімок бізнес-логіки. Після чого надає ряду елементів програмного забезпечення структури бізнес-схеми. Ці структури в результаті будуть використовуватись при взаємодії веб-застосунку з обʼєктами взаємодії.
Наприклад, при отриманні http
запиту, адаптер ядра обчислень (серверне оточення) візьме актуальну версію бізнес-схеми,
знайде відповідний кінцевий маршрут та виконає обробник запиту, який описаний в бізнес-схемі.
3. Бізнес-схема
Бізнес-схема представляє собою опис бізнес-логіки по заданим правилам, які диктують структури взаємодії з
бізнес-логікою. X-Fiber
надає широкий опис, архітектуру та методологію побудови бізнес-схеми. Кожна бізнес-схема
складається з сервісів, які описують предметні області. Опис сутностей предметних областей та створення взаємодії між
ними і є бізнес-логікою.
Бізнес-схема є шаблоном, яке ядро відповідного оточення завантажує та отримує знімок версії бізнес-схеми. Завдяки цьому, описуючи нову версію бізнес-схеми та подаючи сигнали на перезавантаження бізнес-схеми дозволяє без перезавантаження ядра оточення підтягувати зміни.
Ядра оточення
Опис роботи бізнес-схеми та правила її створення описуються в розділі "Бізнес-схема". Розділ "Архітектура" ж описує модулі, взаємодію та архітектурну відповідних ядер оточень.
📄️ Ядро обчислень
📕 Опис роботи ядра обчислень
📄️ Ядро відображення
🔎 Опис роботи ядра відображення
Взаємодія ядер
Взаємодія між ядрами відбувається завдяки ряду протоколів. Так, комунікація між ядром обчислень (серверне оточення), та
ядром відображення (браузерне оточення) відбувається завдяки http
та ws
протоколам. Взаэмодія ж між різними ядрами
обчислень може відбуватись через запити http
/ ws
протоколів, або використовувати amqp
протокол, який реалізований
в брокері повідомлень X-Fiber
.
Єдина кодова база типів вирішує питання складності інтеграцій між різними елементами різних оточень. Так, зміни в
кінцевому маршруті бізнес-схеми веб-сервера приведуть до змін його типу, а зміни його типу призведуть до виникнення
помилок в бізнес-схемі веб-клієнта, в тих частинах, де цей кінцевий маршрут використовується. Обʼєднуючи ці можливості з
системами контролю версій, такі як Github
, Gitlab
тощо, надає просту та гнучку можливість підтримувати всі елементи
веб-застосунку в актуальній формі.