Читать «Основы проектирования корпоративных систем» онлайн - страница 202
Сергей Викторович Зыков
О блоке, который связан с ведением системных журналов, более подробно будем говорить далее. Понятно, что его функциональность – это ведение системного аудита и логирование, запись в журналы тех системных событий, которые происходят с компонентами корпоративных приложений. Блок, который называется Policy Injection, связан с реализацией таких важных и часто встречающихся возможностей ПО, как кэширование, ведение журнала системной информации, обработка исключений и поверка корректности системы во всей системе. То есть они распространяют эти правила на всю систему и дают возможность сквозным образом вести контроль над корпоративной системой, включающей, возможно, несколько приложений, построенных на основе технологии Enterprise Library.
Блок, связанный с безопасностью, поддерживает авторизацию и безопасное кэширование данных и дает возможность реализовать, как и прочие блоки, эту функциональность на уровне приложений. Блок, который связан с зависимостями, Unity Application Block, позволяет достаточно прозрачным и легким образом контролировать сложные и многоаспектные зависимости на уровне конструкторов, свойств и методов. И наконец, блок, связанный с проверкой корректности, осуществляет поддержку создания правил для автоматизированной проверки корректности на уровне объектов, которая существует в корпоративном приложении также на различных уровнях. Все это поддерживается блоками, отвечающими за соответствующую функциональность.
Взаимодействие основных функциональных блоков в библиотеке Enterprise Library представлено на рис. 15.1.
Рис. 15.1. Структурная схема библиотеки Enterprise Library
В центре находится ядро, включающее в том числе средство ObjectBuilder, средства настройки конфигурации и общих компонентов, которые поддерживают проектирование, а также взаимодействие с инструментальными средствами разработки. На периферии в прямоугольниках с закругленными углами расположены блоки, которые были перечислены. Основные потоки взаимодействия между блоками обозначены сплошными стрелками, а дополнительные возможности, которые могут обеспечиваться на уровне взаимодействия между блоками, – пунктирными. Далее рассмотрим более подробно ядро библиотеки корпоративных приложений Enterprise Library.
Нет ничего удивительного в том, что интерфейс погружается в среду. NET, в среду Visual Studio. На рис. 15.2 показаны метаданные, конфигурация того или иного приложения, которое в данный момент создается или настраивается.
Рис. 15.2. Директории в среде. NET
Из рисунка видно, что на диске C, в директории pub и т. д., существует некий конфигурационный файл, который описывает метаданные приложения, создаваемого на основе библиотеки, и все стандартные средства, которые поддерживаются. NET Framework, доступны. Можно сказать, что все функциональные блоки, которые рассматривались ранее, в том числе на рисунке, описывающем структуру Enterprise Library, поддерживают общие механизмы настройки, которые как раз и дают возможность осуществить интеграцию этих блоков и приложений на их основе, а на базе тех приложений, которые строятся, осуществить взаимодействие между компонентами этих блоков. Кроме того, на основе этого общего репозитория метаданных можно задавать механизмы расширения блоков, используя точки расширения, о которых уже говорилось.