UnityBase - full stack-платформа з відкритим вихідним кодом на основі JavaScript-рушію Mozilla, SpiderMonkey.
UnityBase є інструментом розробки web-орієнтованих enretprise-додатків за принципом low-code[en] платформ, що підтримує повний цикл розробки: від опису моделі предметної області до автоматичної генерації інтерфейсу користувача.
Спочатку платформа розроблялась для реалізації великих проєктів класу Управління записів[ru] і мала назву Megapolis.UnityBase[2]. З часом вона розвинулась до повнофункціонального інструменту для розробки корпоративних рішень.
У квітні 2018 Міжнародна аудиторська компанія Baker Tilly[en] виявила, що за період 2010-2018 років було продано 1 514 ліцензій та 53 182 забезпечених робочих місць на використання спеціалізованих Програмних Комплексів на основі платформи та її попередніх програмних версій[3].
Технічна еволюція платформи
2012 — перша серверна реалізація — синхронний багатопотоковий server-side JavaScript + неблокуючий HTTP server на базі ОС Windows, клієнтська частина написана на Ext_JS
2014 — вийшла версія UB 1.9, розроблена згідно зі стандартами ES5, всі модулі платформи власної реалізації
2016 — версія UB 1.12, підтримка стандарту ES5.5, з'явилась часткова підтримка CommonJS
2017 — версія UB4 - підтримка ES6, повна сумісність з NPM [Архівовано 13 квітня 2018 у Wayback Machine.], з'явився власний репозиторій пакетів. Платформа розділилась на три ліцензії - OpenUB(відкритий вихідний код за ліцензією Apache 2.0, Enterprise і Defense)
2018 — версія UB5, підтримка Linux/Unix систем серверною частиною платформи
Особливості
Модельно-орієнтований підхід (Model-Driven Development[ru]) забезпечує інтеграцію нових та існуючих компонентів в рамках однієї системи. Головним принципом цього підходу є застосування шаблонів моделей для перетворення їх у програмні об’єкти на різних рівнях абстракції. Метарівень опису моделей, що використовуються у системі, надає багато можливостей для подальшого розвитку корпоративної системи:
Можливість використовувати прямий доступ до декількох різних СУБД, таких як MSSQL, PostgreSQL, Oracle, SQLite3, в рамках однієї програми.
Можливість створювати свої власні плагіни, модулі згідно з бізнес-специфікою та використовувати спільні рішення, наприклад, Salesforce, MS SharePoint, Google Maps, FastTax і DocuSign.
Базова версія містить інтерфейс адміністратора, функції для подальшого налаштування системи, ведення користувачів, аутентифікацію та аудит для майбутньої системи.
Інформаційна безпека:
Різні типи аутентифікації: Basic, Digest, на основі IP адреси клієнта, Negotiate (Kerberos, NTLM), на основі відкритих / закритих ключів RSA / ДСТУ, OpenIDConnect.
Щоб запобігти атакам "людина в середині" (man-in-the-middle) і нападам CSRF(підробка міжсайтового запиту), кожен запит супроводжується унікальним підписом у заголовку авторизації.
Контроль доступу на основі ролей(RBAC) використовується для регулювання прав користувачів системи на основі їх належності до ролі або групи ролей.
Row Level Security [Архівовано 11 грудня 2017 у Wayback Machine.] (RLS) дозволяє керувати доступом користувачів до записів бази даних залежно від характеристик користувача, що виконує запит (наприклад, членство або контекст виконання).
Attribute Level Security[en] підтримує набір дозволів для перегляду або редагування атрибутів об'єкта конкретним користувачем.
Журнал аудиту[en] (релевантний набір записів у хронологічному порядку, які надають документальне підтвердження послідовності дій, які були проведені в будь-який час конкретної операції, процедури або події) дозволяє відстежувати хронологію втручання.
Аналітичні інструменти:
Вбудований модуль для моделювання та виконання бізнес-процесів BPMN 2.0 на основі платформи з відкритим кодом Camunda[de].
Вбудований генератор звітів з підтримкою генерації HTML та PDF-документів.
Діаграми об'єктів (ER diagrams) для демонстрації взаємозв'язків між даними.
Процес відстеження процесів в системі забезпечує контроль над останніми діями користувачів та відслідковує історію змін даних.
Розробки на платформі
СЕД Megapolis.DocNet [Архівовано 18 квітня 2018 у Wayback Machine.], яка використовується в окремих центральних органах влади та містах України та входить до переліку засобів технічного захисту інформації, дозволених для забезпечення технічного захисту державних інформаційних ресурсів та інформації [5].
Державний реєстр речових прав на нерухоме майно, в якому програмне забезпечення всіх реєстрів переведено в режим роботи із підтримкою одночасно незахищених носіїв ключової інформації (USB-flash, CD тощо) та захищених носіїв ключової інформації. [6]
Система узгодження та підписання документів DEALS [Архівовано 18 квітня 2018 у Wayback Machine.], в якій реалізовано функціонал у сфері безпеки, що відповідає вимогам документа НД ТЗІ 2.5-004-99 [Архівовано 18 квітня 2018 у Wayback Machine.] «Критерії оцінки захищеності інформації в комп'ютерних системах від несанкціонованого доступу» [7]. Проєкт Deals був визнаний кращим кейсом з впровадження Цілі сталого розвитку № 13 «Боротьба зі зміною клімату» і отримав нагороду за найкращий кейс з корпоративної соціальної відповідальності (КСВ) за 2017 рік, в основі якого стало запровадження системи електронного документообігу Deals компаніями консорціуму Intecracy Group.[8][9]
Система "Персонал" для міністерства оборони на базі UnityBaseDefense, що має підвищений рівень безпеки. [10]
Програмний комплекс LoGo – Local Governance [Архівовано 12 липня 2019 у Wayback Machine.] – комплекс сучасних рішень для обліку, контролю та аналізу даних органів місцевого самоврядування – місцевих рад та об’єднаних територіальних громад, який складається з трьох програм, направлених на розв'язання різних питань. Мета створення LoGo – допомогти органам місцевої влади ефективніше та якісніше організувати свою роботу.