Загальна інформація
Починаючи з версії 3.0 деякі задачі в "Рахівниці" були виділені в окремі мікросервіси - невеликі програми з котрими користувач безпосередньо не взаємодіє, але котрі використовуються іншими програмами. Всі вони представляють REST API для комунікації і побудовані за схожими принципами.
Всі мікросервіси працюють як демони в Linux або служби у Windows. Всі вони конфігуруються одноіменним .ini файлом. При запуску у Linux конфігураційний файл шукається в таких місцях:
- $XDG_CONFIG_HOME/abacus/
- $HOME/.config/abacus/
- /opt/abacus/etc/
- /etc/abacus/
- власний каталог програми
При запуску у Windows файл шукається в наступних місцях:
- %PROGRAMDATA%\Abacus\
- %LOCALAPPDATA%\Abacus\
- власний каталог програми
Використовується перший знайдений файл, тому якщо ви редагуєте .ini файл що лежить поруч з бінарником і програма ігнорує ваші зміни, перевірте чи часом у вас немає ще одного-двох конфігів у інших місцях з переліку вище.
Кожна програма веде .log файл. Як і у випадку з файлами конфігурації, використовуєтсья перший з доступних для запису каталогів у такій послідовності: для Linux
- /var/log/abacus/
- /opt/abacus/log/
- $HOME/.config/abacus/log/
для Windows
- %PROGRAMDATA%\Abacus\Logs\
- .\Logs\
- %LOCALAPPDATA%\Abacus\Logs\
Доступ до REST API кожного сервісу конфігурується у елементі whitelist у файлах конфігурації. Додатково, кожен запит повинен містити заголовок X-API-KEY з валідним ключем.
Abasyn
abasyn — це сервіс синхронізації та реплікації баз даних Abacus.
Детально що таке реплікація та як нею користуватись описано тут.
Abhard
abhard — проксі-сервіс для роботи з торговим обладнанням.
Abrest
abrest — REST-сервіс для доступу до даних основної системи. Наразі знаходиться в активній розробці. Мінімальний функціонал повинен забезпечити імпорт документів із зовнішніх джерел у форматах XLS, XLSX, XML та синхронізацію залишків і документів між базою даних Abacus та різноманітними інтернет-платформами.