-
Notifications
You must be signed in to change notification settings - Fork 0
Application
Gennady Lebedev edited this page Dec 10, 2020
·
6 revisions
Application состоит из Componentов, служит их общей границей со внешним миром, управляет разделяемыми ресурсами (портами, коннекшнами).
При старте Application инициирует и группирует компоненты:
- объединяет порты одного типа в запуск низкоуровневой библиотеки-сервера
- объединяет адаптеры к одной системе (например, СУБД), инициирует подключения
- инициирует остальные компоненты, при необходимости проверяя целостность всех частей и корректность маршрутизации
В планах проекта реализовать поддержку всего ЖЦ приложения:
- design-time + compile-time + run-time как основа
- реакция на изменения - импакт-анализ, осмысленная история изменений
- сборка во внешний артефакт (условный .jar)
- управление единицами развертывания, их учет в управляемой среде
- мониторинг, реакция на изменение потребляемых ресурсов
В целом, приложение предполагается статичным, это позволяет формулировать бизнес-правила с привязкой к типам.
Но есть альтернатива - управляемое приложение. В нем предполагается, что конфигурация всего приложения содержится в управляемых (изменяемых извне) конфигурациях, включая:
- систему типов
- адаптеры и порты
- коммутацию сообщений в приложении
Приложение так же должно уметь перестраивать свою структуру и маршрутизацию на ходу, поддерживая сложный ЖЦ разныз компонентов.
Первый шаг к Manageable Application - это Manageable Module T.