Инструменты пользователя

Инструменты сайта


sharixopen:knowledge:architecture:system_layers

Слои архитектуры и разделение ответственности

Как читать слои

Слои ShariX Open — границы владения данными и операциями, а не последовательность импортов всех приложений друг в друга. Для краткой навигации используйте карту источников; здесь описано, почему изменение относится к определённому владельцу.

Общая предметная модель: dbsynce

  • Orders, клиентские/корпоративные профили, Company, Service/Provider/Resource, Permissions/Relationship.
  • Documents/DocumentVersion и definitions/checks/requirement rules.
  • Scope метасервиса, канонические правила изменения и проверки actor/context.
  • Чистые контракты вроде documents_core и integration ports для адаптеров.

Не добавляйте поле в синхронизируемую модель только ради локального интерфейса. Сначала определите, должен ли другой хост понимать его смысл и кто отвечает за изменение.

Жизненный цикл заявки: tickets

Ticket хранит тип/статус, участников, комментарии, вложения и события. Его состояние помогает маршрутизировать процесс, но не является доказательством успешной внешней операции или выполненного платежа. История документа и локальный результат этапа не переносятся в Ticket вместо своих моделей.

Событие после commit уведомляет владельца новой стадии; потерянная доставка не откатывает сохранённое состояние. Обработчик должен уметь перечитать канонический объект.

Локальное исполнение: webservice_running

  • OrdersLocal хранит локальные дополнительные данные и географические представления, связанные с Orders; это не второй общий Order.
  • OrderExecution привязан OneToOne к Order и сохраняет execution-policy snapshot конкретного заказа.
  • Stage — локальная единица исполнения со статусами PENDING/COMPLETED, правилами видимости и blocks_order_completion.
  • Artifact, Correspondence и ExternalEvent имеют собственный execution context и проверку доступа.

Изменение design-time политики после создания заказа не должно молча менять сохранённый OrderExecution snapshot. Новый локальный этап или материал изменяется через owning execution service и его проверки, а не прямой подменой статуса заказа.

Процесс и транспорт: handlers

  • Blockly workspace описывает явные действия/ветвления/ожидания; из него генерируется Python.
  • handlers_backend предоставляет общий runtime, очередь/defer, transport и provenance.
  • handlers_examples связывает runtime с каталогом ShariX Open и его настройками/путями.
  • Narrow backend action сохраняет предметный результат; локальный reason/room и XMPP send не заменяют его.

Не прячьте новый workflow только в ручном generated Python и не переносите доменную модель в процессный буфер handler.

Сборка и optional-адаптеры

core.settings/core.urls определяют состав и маршруты сборки. AppConfig может зарегистрировать callback в backend-owned port: backend вызывает контракт, не импортируя web-layer ради discovery. Например, webservice_running регистрирует execution/verification adapters при готовности приложения.

Отсутствующий provider должен давать предусмотренное ограничение/ошибку, а не вымышленный успешный результат. Source checkout, Django runtime app, contribution manifest и фактический service result проверяются отдельно.

Закрытые расширения

Service Constructor — закрытый компонент. Здесь обозначена только граница: общая система может потреблять согласованные определения/снимки через предусмотренный контракт, но внутренние модели и алгоритмы конструктора описываются во внутренней базе знаний. Подробности и доступ уточняются у ответственных Platform. Shared не означает открытую лицензию каждого расширения.

Проверка архитектурного изменения

  1. Назовите владельца новых данных и единственную каноническую операцию изменения.
  2. Проверьте actor, объект, scope и возвращаемый результат.
  3. Разделите изменяемую конфигурацию, snapshot действующего заказа и процессное ожидание.
  4. Проверьте повтор/конкурентное действие и восстановление после неизвестного ответа.
  5. При изменении shared опубликуйте код и передайте ответственному Platform для отдельной проверки/принятия.

Файлы, формы и названия слоёв подтверждают структуру исходников; успешная работа установки проверяется по критериям приёмки.

Проверенные источники

Проверено по Git-исходникам 31.10.2026. Состояние исходников отделено от состояния конкретной установки; команды ниже при редакционной проверке не выполнялись, бизнес-данные и значения секретов не читались.

sharixopen/knowledge/architecture/system_layers.txt · Последнее изменение: — sx_knowledge_api_open

© 2022 ShariX