Разработка IT Архитектуры: Поддержание производительности
Поддержание производительности и эффективности
Канонические методы, при неправильном использовании, могут иметь серьезные негативные последствия для производительности и операций. Лучшие практики могут помочь при решении следующих задач:
- Непрозрачные преобразования: канонические форматы являются наиболее эффективными, когда преобразования из компонентов внутреннего формата данных в канонический формат являются простыми, без семантического рассогласования импеданса.
- Затруднения во время выполнения: интеграционные шины (или ESBs) являются полезными инструментами для поддержания слабой связи компонентов. Однако они также добавляют уровень косвенной интеграции, что затрудняет отладку и увеличивает время решения проблем. Уровень сложности может стать настолько высоким, что практически парализует процесс на время, если сценарий процесса приведет к промежуточному вызову процедур с несколькими преобразованиями в потоке данных от начала до конца потока.
- Неадекватная обработка исключений: преимуществом слабосвязанной архитектуры является то, что компоненты могут изменяться, не влияя на другие. Опасность заключается в том, что в крупномасштабной распределенной вычислительной среде со многими компонентами изменения происходят динамично, вследствие чего взаимодействие систем может показать неожиданное поведение.
- Ухудшение производительности: промежуточное ПО может увеличить накладные расходы по сравнению с интерфейсами один-к-одному, особенно если данное взаимодействие включает в себя несколько преобразований «из» и «в» канонические форматы.
Необходимые условия для эффективного моделирования включают:
- Определенные стандарты моделирования.
- Доступ к знаниям экспертов предметной области для определения области моделирования.
- Соответствующие инструменты и хранилища.
Лучшим архитектурным стилем в любой ситуации является тот, который наиболее близко рассматривает функциональные и нефункциональные потребности клиента. Тем не менее, есть два фактора, которые весьма желательны в любой большой распределенной системе: слабая связь и высокая интеграция. Эти качества конкурируют друг с другом. Методы, которые приводят к слабой связи, часто приводят к низкой интеграции, и методы, обеспечивающие высокую интеграцию, часто приводят к тесной связи. Архитектурный стиль, который находит оптимальный баланс между этими двумя силами, является крайне желательным, но недостижимым.
- Связность – степень, в которой каждый компонент системы может быть изменен, не затрагивая другие компоненты и, как правило, выражается в слабой связи или тесной связи. Свободно связанные системы разрабатываются для достижения конкретной цели и считаются полезными когда конечные информационные системы подвержены частым изменениям или принадлежат различным организациям.
- Интегрированность – мера того, насколько а) сильно связаны и б) сосредоточены различные функции компонента системы и, как правило, выражается в «высокой степени интегрированности» или «низкой степени интегрированности». В высоко интегрированной среде, компоненты имеют одну консистентную модель данных, и каждый компонент выполняет конкретный набор функций, которые являются уникальными и не перекрываются с другими компонентами. Модули с высокой степенью интеграции, как правило, предпочтительнее, так как высокая интегрированность связана с несколькими желательными качествами программного обеспечения, включая прочность, надежность, возможность повторного использования, и понятность, тогда как низкая интегрированность связана с нежелательными чертами, такими как сложная поддержка, сложная проверка, сложное использование, и даже сложное понимание.
Статьи курса:
1. Принципы построения модели данных
1.1 Семантика данных