Архитектура web приложений как объект экспертизы: постановка задачи и границы исследования 💻
Настоящая статья открывает серию работ, объединённых общим названием «экспертиза web приложений», и посвящена одному строго очерченному аспекту — архитектуре web приложений как объекту экспертизы. Такой ракурс требует предварительного уточнения того, что именно понимается под архитектурой в контексте экспертной деятельности, какие свойства этого объекта доступны наблюдению, измерению и аргументированной оценке, а какие остаются за пределами экспертного заключения в силу своей природы. Экспертиза web приложений рассматривается здесь не как единичная процедура проверки, а как исследовательская деятельность, направленная на получение нового знания об объекте, которое не может быть получено простым перечислением его составных частей.
Архитектура web приложения представляет собой совокупность решений, определяющих организацию системы: состав компонентов, характер их взаимодействия, распределение ответственности между уровнями, способ обращения с данными и состояние системы в целом. Эти решения не всегда выражены в явном виде. Значительная их часть закреплена в исходном коде, конфигурациях, схемах развёртывания и соглашениях, сложившихся в ходе разработки. Поэтому первая задача экспертизы архитектуры состоит в восстановлении архитектурного описания по косвенным и прямым свидетельствам, доступным исследователю. Такая экспертиза в этом смысле сближается с реконструкцией: она восстанавливает проектную логику, стоящую за наблюдаемыми артефактами.
Границы исследования определяются тремя ограничениями.
- Первое ограничение предметное: рассматривается исключительно архитектурный слой, а не функциональная корректность отдельных операций, не качество пользовательских сценариев и не организационные условия разработки.
- Второе ограничение методологическое: экспертиза понимается как аналитическая процедура, опирающаяся на модели, критерии и измеримые свидетельства, а не на интуитивные суждения.
- Третье ограничение объектное: речь идёт о web приложениях, то есть о системах, доступ к которым осуществляется через сетевые протоколы и клиентские программы, а логика которых распределена между клиентом, сервером и промежуточными звеньями.
Постановка задачи экспертизы архитектуры включает несколько последовательных шагов. Сначала формируется перечень архитектурных решений, подлежащих оценке. Затем для каждого решения определяется набор свидетельств, которые могут быть получены без разрушения системы. Далее устанавливаются критерии, по которым решение признаётся обоснованным, спорным или несостоятельным в заданных условиях. Наконец, результаты оценок сводятся в согласованное заключение, в котором каждое утверждение сопровождается указанием на источник свидетельства и на применённый критерий. Такая дисциплина отличает экспертизу от аудита, ориентированного на соответствие формальному стандарту, и от ревью кода, ориентированного на локальные дефекты.
Существенное значение имеет различение статического и динамического аспектов архитектуры. Статический аспект охватывает структуру: модули, слои, интерфейсы, зависимости, схемы данных. Динамический аспект охватывает поведение: последовательности вызовов, распределение нагрузки, реакции на отказы, изменение состояния во времени. Экспертиза архитектуры обязана учитывать оба аспекта, поскольку решение, безупречное со структурной точки зрения, может оказаться несостоятельным при реальных сценариях нагрузки, и наоборот. Сведение архитектуры только к статической схеме обедняет экспертизу и снижает достоверность выводов.
Отдельного внимания заслуживает вопрос о том, что делает архитектуру вообще доступной экспертной оценке. Доступность обеспечивается тем, что архитектурные решения оставляют следы. Эти следы имеют разную природу: текстовую, конфигурационную, сетевую, метрологическую. Эксперт работает с ними как с данными наблюдения, а не как с готовыми выводами. Это означает, что любое утверждение о качестве архитектуры должно быть прослеживаемо до конкретного следа. Требование прослеживаемости является центральным для всей дальнейшей работы и будет уточняться в последующих частях применительно к отдельным слоям и свойствам.
Наконец, необходимо обозначить отношение экспертизы архитектуры к другим видам анализа web приложений. Экспертиза не подменяет собой нагрузочное тестирование, статический анализ кода или проверку защищённости, но использует их результаты как свидетельства. Её собственная задача — установить, насколько совокупность архитектурных решений образует связную, объяснимую и устойчивую конструкцию, соответствующую заявленным требованиям и условиям эксплуатации. Именно в этом состоит специфика архитектуры как объекта экспертизы, и именно этой специфике посвящены последующие части.
Формализация архитектурных представлений web приложений для целей экспертизы 🌐
Формализация есть необходимое условие того, чтобы экспертные суждения об архитектуре были воспроизводимыми и проверяемыми. Без формального представления архитектурное описание остаётся совокупностью разрозненных наблюдений, связать которые в единое заключение можно лишь произвольным образом. Поэтому в настоящей части рассматриваются способы представления архитектуры web приложений, пригодные для целей экспертизы, и требования, которым такие представления должны удовлетворять. Экспертиза web приложений опирается на формализацию не ради математической строгости самой по себе, а ради того, чтобы каждое утверждение о системе могло быть соотнесено с определённым элементом представления и проверено независимо.
Первое требование к формальному представлению — полнота в границах поставленной задачи. Представление должно охватывать все архитектурные решения, существенные для оцениваемых свойств, и не обязано охватывать решения, не влияющие на эти свойства. Полнота понимается не как исчерпывающее описание системы, а как достаточность для обоснования заключения. Это различение принципиально: стремление описать всё приводит к необозримым моделям, в которых теряется экспертная значимость деталей, тогда как точное определение границ позволяет сосредоточиться на том, что действительно определяет качество архитектуры.
Второе требование — однозначность интерпретации. Один и тот же элемент представления должен означать одно и то же для разных исследователей и в разных сессиях экспертизы. Однозначность достигается за счёт явного словаря понятий: что считается компонентом, что считается связью, что считается границей, что считается состоянием. В экспертной практике отсутствие такого словаря приводит к тому, что участники используют общие термины в разных значениях, и итоговое заключение теряет силу. Формализация начинается именно с договорённости о словаре, а не с выбора нотации.
Третье требование — многоуровневость. Архитектура web приложения естественным образом описывается на нескольких уровнях детализации: от обзорной схемы взаимодействия крупных блоков до детального описания отдельных интерфейсов и структур данных. Экспертиза нуждается в возможности переходить между уровнями, не теряя связи между ними. Многоуровневое представление позволяет оценивать решение на том уровне, на котором оно было принято, и одновременно проверять его согласованность с решениями других уровней. Рассогласование уровней само по себе является экспертным свидетельством.
Четвёртое требование — фиксация неопределённости. Архитектурное описание почти никогда не бывает полным в смысле знания всех деталей; часть сведений отсутствует, часть противоречива, часть устарела. Формальное представление должно допускать явную маркировку таких мест. Неопределённость, зафиксированная в модели, становится предметом экспертного суждения; неопределённость, скрытая в модели, превращается в источник ошибочных выводов. Поэтому требование фиксации неопределённости следует считать не ослаблением строгости, а её условием.
Пятое требование — операциональность. Представление должно поддерживать операции, которые эксперт выполняет в ходе работы: сравнение альтернативных решений, проверку согласованности, поиск зависимостей, оценку последствий изменений. Если представление не поддерживает этих операций, оно остаётся иллюстративным и не участвует в обосновании заключения. Операциональность отличает экспертную модель от презентационной схемы и определяет её практическую ценность.
Названные требования образуют основу для последующего изложения. В частях, посвящённых компонентной структуре, взаимодействию клиентской и серверной частей, данным и нефункциональным свойствам, формальные представления будут конкретизироваться применительно к соответствующим слоям архитектуры. Здесь же достаточно зафиксировать общий принцип: формализация в экспертизе архитектуры web приложений служит не описанию ради описания, а обеспечению прослеживаемости и воспроизводимости экспертных выводов. Этот принцип будет неизменным на протяжении всей работы.
Компонентная структура web приложений и ее экспертный анализ 📊
Компонентная структура образует наиболее осязаемый слой архитектуры web приложения. Именно с неё обычно начинается экспертный анализ, поскольку выделение компонентов и связей между ними даёт первичную картину устройства системы. Однако простое перечисление компонентов ещё не является экспертизой. Экспертиза web приложений в отношении компонентной структуры отвечает на вопросы о том, насколько выделение компонентов обосновано, насколько границы между ними проведены последовательно, насколько распределение ответственности соответствует реальному поведению системы и какие последствия влечёт принятая декомпозиция.
Первым предметом анализа является принцип декомпозиции. Компоненты могут выделяться по функциональному признаку, по признаку данных, по признаку владения, по техническому признаку. Каждый принцип имеет свои достоинства и свои издержки. Функциональная декомпозиция облегчает понимание назначения компонента, но может приводить к дублированию работы с данными. Декомпозиция по данным уменьшает связанность хранилищ, но затрудняет реализацию сквозных сценариев. Экспертное суждение состоит не в предпочтении одного принципа как такового, а в оценке того, насколько выбранный принцип выдержан последовательно и насколько он соответствует условиям задачи.
Вторым предметом анализа является согласованность границ. Границы компонента определяют, какие изменения остаются внутренними, а какие требуют согласованных изменений в других частях системы. Чем больше сущностей пересекает границу, тем выше стоимость изменений и тем выше риск рассогласования. Экспертный анализ выявляет сущности, пересекающие границы вопреки заявленному принципу декомпозиции, и оценивает, является ли такое пересечение осознанным решением или следствием архитектурной небрежности. Как правило, именно в этих местах сосредоточены основные риски сопровождения.
Третьим предметом анализа является распределение ответственности. Каждый компонент должен иметь ясно очерченную зону ответственности, и совокупность зон должна покрывать требуемое поведение системы без существенных пробелов и без существенных пересечений. Пробелы означают, что часть поведения не закреплена ни за одним компонентом и реализуется стихийно. Пересечения означают, что одно и то же поведение реализуется в нескольких местах, что порождает расхождения при изменениях. Экспертная оценка здесь опирается на сопоставление заявленной ответственности с фактически наблюдаемым поведением.
Четвёртым предметом анализа является характер связей между компонентами. Связи различаются по направлению, по синхронности, по степени обязательности, по устойчивости к отказам. Совокупность связей образует топологию, которая определяет многие свойства системы в целом: способность к независимому развёртыванию, устойчивость к локальным сбоям, возможность параллельной разработки. Экспертный анализ топологии выявляет циклы, избыточные зависимости, узкие места и скрытые центры связанности, которые не видны при рассмотрении отдельных компонентов.
Пятым предметом анализа является эволюционная устойчивость структуры. Компонентная структура оценивается не только в текущем состоянии, но и с точки зрения того, какие изменения она допускает без разрушения. Структура, требующая согласованного изменения многих компонентов при каждом существенном дополнении, обладает низкой эволюционной устойчивостью независимо от того, насколько аккуратно она выглядит в данный момент. Экспертное суждение об устойчивости опирается на анализ направлений зависимостей и на оценку того, где проходят естественные линии изменения.
Совокупность перечисленных предметов анализа образует методическую рамку экспертного исследования компонентной структуры. В рамках этой рамки заключение формируется как система взаимосвязанных утверждений, каждое из которых опирается на наблюдаемые свидетельства и на явно сформулированный критерий. Такой подход позволяет отделить обоснованные выводы от предположений и делает результат экспертизы пригодным для дальнейшего использования при принятии архитектурных решений.
Взаимодействие клиентской и серверной частей как предмет экспертной оценки 🧩
Распределение логики между клиентской и серверной частями относится к числу архитектурных решений с наиболее широкими последствиями. От него зависят требования к каналу связи, характер обработки отказов, возможности кэширования, модель доверия и способы сопровождения. Экспертиза web приложений в этой области исследует не отдельные реализации обмена, а саму границу между сторонами и правила, по которым эта граница поддерживается. Оценке подлежат как выбранное разделение ответственности, так и дисциплина его соблюдения в наблюдаемом поведении системы.
Первым предметом оценки является расположение логики. Логика представления, логика сценариев и логика предметной области могут распределяться между сторонами различным образом. Экспертный анализ выявляет, где фактически принимаются решения, определяющие поведение системы, и сопоставляет это с тем, где они должны приниматься согласно заявленной архитектуре. Расхождение между фактическим и заявленным расположением логики является устойчивым источником дефектов и усложнения сопровождения.
Вторым предметом оценки является протокол взаимодействия. Под протоколом понимается не только формат сообщений, но и совокупность правил: какие операции допускаются, как передаётся состояние, как обрабатываются ошибки, как обеспечивается идемпотентность повторных запросов. Экспертный анализ проверяет полноту протокола, его способность выражать все требуемые сценарии и его устойчивость к частичным отказам. Протокол, не предусматривающий явной обработки промежуточных состояний, порождает скрытые зависимости от порядка сообщений и от времени.
Третьим предметом оценки является модель состояния. Распределённое приложение неизбежно имеет несколько представлений состояния: на клиенте, на сервере, в промежуточных хранилищах. Экспертный анализ исследует, как эти представления согласуются, какие допущения о свежести данных заложены в каждое из них, и что происходит при нарушении этих допущений. Особое внимание уделяется ситуациям, в которых клиент действует на основе устаревшего представления, поскольку именно здесь возникают трудно обнаруживаемые рассогласования.
Четвёртым предметом оценки является обработка отказов и деградация. Взаимодействие клиентской и серверной частей протекает в условиях, когда отдельные звенья могут быть недоступны, замедлены или отвечать с задержкой. Архитектурное решение определяет, какие режимы деградации допустимы и как они достигаются. Экспертный анализ оценивает, предусмотрены ли такие режимы, описаны ли они в архитектуре и наблюдаются ли они в поведении системы. Отсутствие продуманных режимов деградации означает, что при отклонении условий от идеальных система переходит в неопределённое состояние.
Пятым предметом оценки является модель доверия на границе. Граница между клиентом и сервером разделяет области с разным уровнем доверия, и архитектурное решение должно явно фиксировать, какие данные и какие операции считаются доверенными на каждой стороне. Экспертный анализ выявляет места, где доверие предполагается без достаточных оснований, и оценивает последствия такого предположения для целостности системы. Эта часть анализа непосредственно связана с оценкой нефункциональных свойств, рассматриваемой в следующей части.
Перечисленные предметы оценки взаимосвязаны. Расположение логики влияет на протокол, протокол влияет на модель состояния, модель состояния влияет на режимы деградации, а все вместе они определяют модель доверия. Экспертное заключение по данной части формируется как согласованная оценка всех пяти аспектов, а не как набор независимых суждений. Именно согласованность оценок позволяет утверждать, что граница между клиентской и серверной частями спроектирована осознанно, а не сложилась стихийно в ходе разработки.
Данные, состояние и хранилища в архитектуре web приложений: экспертные критерии 💾
Данные составляют тот слой архитектуры, в котором наиболее отчётливо проявляются долгосрочные последствия принятых решений. Схемы, соглашения о владении, правила изменения и стратегии хранения определяют, насколько система способна развиваться без накопления неустранимых противоречий. Экспертиза web приложений в отношении данных исследует не конкретные запросы и не производительность отдельных операций, а архитектурные принципы обращения с данными и состоянием. Оценке подлежат как сами принципы, так и их соблюдение в наблюдаемых артефактах.
Первым критерием является ясность владения данными. Для каждой сущности должно быть определено, какой компонент является источником истины и какие компоненты располагают производными представлениями. Экспертный анализ выявляет сущности, владение которыми не определено или определено противоречиво, поскольку именно такие сущности становятся источником рассогласований при изменениях. Ясность владения — не бюрократическое требование, а условие предсказуемости поведения системы.
Вторым критерием является согласованность схем. Схемы данных на разных уровнях и в разных хранилищах должны быть совместимы в том смысле, что преобразования между ними определены и обратимы там, где это требуется. Экспертный анализ исследует неполные преобразования, неявные соглашения о форматах и места, где одна и та же сущность представлена по-разному без явного правила соответствия. Накопление таких мест ведёт к тому, что изменение в одной части системы требует непропорционально больших изменений в других.
Третьим критерием является управляемость изменения состояния. Архитектура должна определять, какие переходы состояния допустимы, какие операции их порождают и как обеспечивается согласованность при конкурентных воздействиях. Экспертный анализ оценивает, выражены ли эти правила в архитектуре или вынесены в реализацию, где они теряют обозримость. Правила, существующие только в коде, не могут быть предметом архитектурной экспертизы до тех пор, пока не восстановлены в явном виде.
Четвёртым критерием является стратегия хранения и жизненного цикла данных. Архитектурное решение определяет, какие данные хранятся постоянно, какие имеют ограниченный срок жизни, какие могут быть восстановлены и какие должны быть удалены. Экспертный анализ проверяет, согласована ли эта стратегия с требованиями к системе и выражена ли она в архитектурных артефактах. Отсутствие явной стратегии приводит к тому, что объёмы хранения растут непредсказуемо, а восстановление после сбоев становится неполным.
Пятым критерием является наблюдаемость данных. Архитектура должна обеспечивать возможность установить, в каком состоянии находятся данные, без обращения к деталям реализации. Экспертный анализ оценивает, предусмотрены ли средства контроля состояния, согласованы ли они между компонентами и позволяют ли они обнаруживать рассогласования. Наблюдаемость данных — условие не только эксплуатации, но и самой экспертизы, поскольку без неё значительная часть свидетельств остаётся недоступной.
Названные критерии образуют основу экспертного суждения о слое данных. Это суждение не сводится к оценке отдельного хранилища или отдельной схемы; оно относится к архитектуре обращения с данными как к целому. Последовательное применение критериев позволяет выявить как локальные слабости, так и системные свойства, которые проявляются лишь при рассмотрении всего слоя данных в совокупности. Именно такое рассмотрение и составляет содержание экспертной работы на данном уровне архитектуры.
Нефункциональные свойства архитектуры web приложений в экспертизе 💻
Нефункциональные свойства архитектуры — производительность, масштабируемость, доступность, безопасность, сопровождаемость, наблюдаемость — не существуют отдельно от структурных решений. Они являются следствиями того, как распределены компоненты, как организовано взаимодействие и как устроен слой данных. Экспертиза web приложений в отношении этих свойств состоит в установлении связей между архитектурными решениями и наблюдаемыми характеристиками. Такое установление требует не только измерений, но и объяснения того, почему система ведёт себя именно так.
Производительность рассматривается в экспертизе как свойство, определяемое архитектурными решениями о размещении вычислений, о характере обмена и о работе с состоянием. Экспертный анализ выявляет места, где архитектура предопределяет избыточные затраты независимо от качества реализации: повторные передачи данных, синхронные ожидания там, где возможна асинхронность, неоправданные обращения к удалённым хранилищам. Такие места не устраняются оптимизацией кода и потому должны быть предметом именно архитектурного суждения.
Масштабируемость оценивается через анализ того, какие части системы допускают независимое увеличение ресурсов, а какие образуют единое узкое место. Экспертный анализ исследует, сохраняется ли работоспособность при росте числа клиентов, объёма данных и числа одновременно выполняемых операций. Ключевым свидетельством здесь является наличие или отсутствие разделяемого состояния, ограничивающего возможность параллельного расширения. Архитектура, в которой такое состояние неизбежно, имеет принципиальные ограничения по масштабируемости.
Доступность анализируется через оценку зависимости системы от отдельных звеньев. Экспертный анализ выявляет элементы, отказ которых приводит к полной неработоспособности, и элементы, отказ которых приводит к частичной деградации. Соотношение между этими группами характеризует архитектурную устойчивость. Существенно, что доступность определяется не только наличием резервирования, но и тем, умеет ли система продолжать работу при недоступности части своих составляющих.
Безопасность в архитектурном аспекте рассматривается как свойство границ и распределения доверия. Экспертный анализ оценивает, насколько последовательно проведены границы доверия, насколько полно проверяются данные при пересечении этих границ и насколько архитектура ограничивает последствия компрометации отдельного элемента. Архитектурные решения определяют пределы, в которых могут быть эффективны частные защитные механизмы, и потому оценка безопасности начинается с архитектурного уровня.
Сопровождаемость оценивается через анализ того, насколько легко система поддаётся пониманию и изменению. Экспертный анализ исследует однородность решений, предсказуемость структуры и наличие явных соглашений, облегчающих ориентирование в системе. Неоднородность, при которой сходные задачи решаются несходными способами, рассматривается как архитектурный недостаток, поскольку она увеличивает стоимость каждого последующего изменения.
Наблюдаемость оценивается через анализ того, позволяет ли архитектура получить сведения о состоянии и поведении системы. Экспертный анализ исследует, предусмотрены ли точки сбора сведений, согласованы ли они между компонентами и достаточно ли их для установления причин отклонений. Наблюдаемость связана с предыдущими свойствами: она служит условием их подтверждения и одновременно самостоятельным архитектурным качеством.
Рассмотрение нефункциональных свойств в совокупности показывает, что они не являются независимыми. Улучшение одного свойства часто достигается за счёт другого, и архитектурное решение состоит в выборе приемлемого соотношения. Экспертное заключение поэтому не сводится к оценке каждого свойства по отдельности, а формулируется как суждение о балансе, достигнутом в данной архитектуре при данных условиях.
Инструментальные и модельные средства поддержки экспертизы архитектуры web приложений 🛠️
Экспертиза архитектуры опирается на средства, которые обеспечивают получение свидетельств, их упорядочение и их соотнесение с формальными представлениями. Без таких средств работа сводится к ручному просмотру артефактов и к субъективным обобщениям. Экспертиза web приложений нуждается в инструментальной поддержке, однако эта поддержка имеет свои границы: средства поставляют данные, но не формируют заключение. Настоящая часть посвящена анализу того, какие классы средств применяются и как их результаты включаются в экспертную работу.
Первый класс средств — средства восстановления структуры. Они позволяют получить перечень компонентов, связей и зависимостей по наблюдаемым артефактам. Их ценность для экспертизы состоит в том, что они дают первичную карту системы, свободную от деклараций разработчиков. Ограничение состоит в том, что восстановленная структура отражает лишь те связи, которые оставили следы в анализируемых материалах, и может не совпадать с проектным замыслом. Эксперт обязан учитывать это расхождение как самостоятельное свидетельство.
Второй класс средств — средства наблюдения за поведением. Они фиксируют последовательности обращений, распределение задержек, частоту отказов и другие характеристики взаимодействия. Эти данные позволяют проверить архитектурные предположения о характере нагрузки и о режимах работы. Ограничение состоит в том, что наблюдение отражает лишь те условия, в которых оно проводилось, и не гарантирует тех же характеристик в иных условиях. Экспертное суждение должно явно указывать границы применимости полученных данных.
Третий класс средств — модельные средства. Они позволяют построить формальное представление архитектуры и исследовать его свойства: проверять согласованность, оценивать последствия изменений, сравнивать альтернативы. Ценность модельных средств состоит в возможности работать с тем, что ещё не реализовано или реализовано частично. Ограничение состоит в том, что модель отражает лишь те аспекты, которые в неё заложены, и её выводы имеют силу лишь в пределах этих аспектов.
Четвёртый класс средств — средства сопоставления и хранения результатов. Экспертиза, выполняемая повторно, требует возможности сравнить текущее состояние с предыдущим и проследить изменение во времени. Средства этого класса обеспечивают преемственность экспертной работы и позволяют отличить устойчивые архитектурные свойства от временных состояний. Их отсутствие приводит к тому, что каждая сессия экспертизы начинается заново и не накапливает знания.
Пятый класс — средства представления результатов. Экспертное заключение должно быть понятно тем, кто принимает решения, и одновременно должно сохранять прослеживаемость до свидетельств. Средства представления обеспечивают баланс между наглядностью и полнотой. Их роль часто недооценивается, тогда как именно от неё зависит, будет ли результат экспертизы использован или останется невостребованным.
Общим требованием ко всем классам средств является прозрачность их работы для эксперта. Средство, результат которого невозможно объяснить, не может служить основанием для экспертного суждения, поскольку нарушает требование прослеживаемости. Инструментальная поддержка в экспертизе архитектуры web приложений имеет смысл лишь тогда, когда эксперт способен указать, каким образом получен каждый элемент данных и какие допущения при этом использованы. Это требование остаётся неизменным независимо от степени автоматизации применяемых средств.
Заключение ✅
Проведённое исследование было посвящено одному аспекту — архитектуре web приложений как объекту экспертизы. Такой выбор позволил рассмотреть предмет последовательно, переходя от постановки задачи к формализации, затем к отдельным слоям архитектуры и, наконец, к нефункциональным свойствам и средствам поддержки. Экспертиза web приложений в этом изложении предстаёт как деятельность, обладающая собственным предметом, собственной методической рамкой и собственными требованиями к обоснованности выводов. Именно это отличает её от смежных видов анализа, с которыми она использует общие данные, но не совпадает по целям.
Центральным результатом работы следует считать принцип прослеживаемости. Каждое утверждение о качестве архитектуры должно быть соотнесено с наблюдаемым свидетельством и с явно сформулированным критерием. Этот принцип проходит через все части: он определяет требования к формальным представлениям, к анализу компонентной структуры, к оценке границы между клиентской и серверной частями, к суждению о слое данных и о нефункциональных свойствах. Последовательное применение этого принципа превращает экспертизу из совокупности мнений в исследование, результаты которого могут быть проверены и воспроизведены.
Второй результат состоит в обосновании многоуровневости архитектурного анализа. Архитектура не сводится ни к статической схеме, ни к динамике взаимодействия, ни к данным, ни к свойствам. Каждый из этих слоёв даёт самостоятельный взгляд на систему, и полнота экспертизы достигается лишь при их согласованном рассмотрении. Рассогласование между слоями само по себе является ценным свидетельством, указывающим на места, где архитектурные решения не были доведены до целостной конструкции.
Третий результат касается соотношения инструментальной поддержки и экспертного суждения. Средства поставляют данные и позволяют работать с моделями, но не формируют заключение. Ответственность за интерпретацию, за выбор критериев и за формулирование выводов остаётся за экспертом. Такое разделение функций представляется принципиальным, поскольку оно сохраняет возможность объяснить каждый вывод и указать границы его применимости.
Наконец, следует отметить, что рассмотренный аспект не исчерпывает всей проблематики экспертизы web приложений. Архитектурный слой связан с другими аспектами, которые раскрываются в иных работах серии. Связь эта не является подчинением: архитектурная экспертиза имеет самостоятельную ценность и самостоятельные основания. Её результаты служат основой для дальнейших исследований и для практических решений, принимаемых на их основе. В этом состоит её место в общей системе знаний о web приложениях и в этом состоит её практическое назначение.



Задавайте любые вопросы