Поняття модуля
Glossary Item Box
загальні положення
Концепція Asynchronouse Module Definition (AMD)
Починаючи з версії 7.0 клієнтська частина програми bpm'online має модульну структуру, тобто реалізована у вигляді набору блоків функціональності, кожен з яких реалізований в окремому модулі. У процесі роботи програми завантаження модулів та їх залежностей виконується відповідно до підходу Asynchronouse Module Definition (AMD).
По суті, підхід AMD декларує механізм визначення та асинхронного завантаження модулів та їх залежностей, який дозволяє в процесі роботи із системою підвантажувати лише ті дані, які необхідні для роботи у поточний момент. Концепцію AMD підтримують різні JS-фреймворки. У bpm'online для роботи з модулями використовується завантажувач RequireJS.
Поняття модуля
Поняття модуль можна сформулювати як фрагмент коду, інкапсульований в відокремлений блок, який може бути завантажений та виконаний самостійно.
Інтерпретатор, виявляючи в коді такий функціональний вираз, одразу обчислює його. В результаті виконання у властивості myGlobalModule глобального об'єкта буде поміщена функція, яка повертатиме саме значення модуля.
Основні недоліки такого підходу полягають у складності декларування та використання модулів-залежностей для таких модулів:
- У момент виконання анонімної функції всі залежності модуля мають бути завантажені раніше.
- Завантаження модулів-залежностей виконується через HTML-тег