Сергей Зыков - Основы проектирования корпоративных систем
- Название:Основы проектирования корпоративных систем
- Автор:
- Жанр:
- Издательство:Литагент «Высшая школа экономики»1397944e-cf23-11e0-9959-47117d41cf4b
- Год:2012
- Город:Москва
- ISBN:978-5-7598-0862-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Сергей Зыков - Основы проектирования корпоративных систем краткое содержание
В монографии рассматриваются важнейшие аспекты разработки прикладных программных систем для корпораций – крупных распределенных индустриальных структур, объединенных общими бизнес-целями. Особенностью подхода является исследование всего комплекса архитектурных уровней, необходимых для построения таких систем, – от моделей жизненного цикла и методологий их реализации до технологических платформ и инструментальных средств. Приведен ряд примеров, иллюстрирующих особенности применения современных технологий (в первую очередь, разработанных корпорацией Microsoft) для реализации и внедрения крупномасштабных программных систем в различных отраслях народного хозяйства.
Для студентов, аспирантов и исследователей, а также специалистов-практиков, область интересов которых связана с разработкой крупномасштабных программных систем.
Основы проектирования корпоративных систем - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Как уже было сказано, необязательно включать в код весь комплект компонентов, которые включаются в Enterprise Library, для того чтобы построить корпоративное приложение. Можно взять всего один Application Block, можно взять несколько, они достаточно хорошо интегрированы между собой и позволяют обеспечить взаимодействие практически вне зависимости от того набора блоков, который выбирают разработчики. Таким образом, в приложения можно включить прежде всего блоки, действительно необходимые для реализации тех программных решений, которые поставлены как техническое задание разработчикам.
С другой стороны, важной возможностью повторного использования является возможность включать исходный код библиотек, уже разработанный специалистами Microsoft, в те новые системные библиотеки, которые будут создаваться в рамках корпоративных приложений, естественно, соблюдая соглашение об авторских правах. Поскольку библиотека поставляется как корпоративное решение, та корпорация, которая его получила, имеет определенного рода лицензионное соглашение, и в рамках этого соглашения можно использовать ту функциональность, буквально копируя и вставляя нужные фрагменты исходного кода в приложения, которые будут развивать Enterprise Library и на этой основе расширять информационную инфраструктуру корпорации. Очень важно отметить, что ноу-хау, принципы и подходы к проектированию корпоративных приложений, которые имеются у корпорации Microsoft, воплощены в коде этих библиотек. Поэтому исходный текст библиотек и, естественно, средств взаимодействия между ними является важной основой для изучения тех принципов архитектурного, технологического построения и проектирования корпоративных приложений, которые имеются у Microsoft. Достаточно интересно эти принципы изучать и в дальнейшем применять практически, поскольку Microsoft, используя MSF, достаточно сложную методологию, разработала большое количество кода корпоративного качества и на основе изучения этого кода можно изучать и степень применимости, и технологию применения, например подхода Microsoft Solution Framework, при проектировании и реализации корпоративных приложений. Это достаточно важное замечание, которое нужно учесть при разработке и работе с этим кодом, с этими библиотеками.
Функциональные блоки, входящие в состав библиотеки Enterprise Library, называются Application Block и имеют некий префикс, который определяет их функциональное назначение. Это блок кэширования, блок криптографии, блок доступа к данным, блок обработки исключений, блок ведения системных журналов, блок, связанный с политикой безопасности, блок, связанный с обеспечением безопасности в целом, и важный блок, который отвечает за контроль целостности и проверку корректности элементов этой системной библиотеки.
Можно более подробно описать некоторые из этих блоков. По сути, блоки реализованы инвариантно по отношению к архитектуре конкретных приложений. Например, блок, который отвечает за ведение системных журналов, может быть использован как в веб-приложениях, так и в приложениях, ориентированных на сервисы и интеллектуальные клиенты, технология Smart Clients, которая уже обсуждалась. Блок кэширования позволяет разработчикам реализовать средства кэширования в приложениях, при этом можно использовать и плагины для сторонних провайдеров методов кэширования. Блок, связанный с криптографией, включает симметричные алгоритмы шифрования и технологии хеширования. Естественно, эти методы, как и все реализованные в составе Application Block, созданы как открытые компоненты, в том смысле, что их код и их интерфейсы открыты для разработчика. То есть разработчик может просто пользоваться теми методами, теми классами, которые реализованы в этих компонентах, создавая свои решения.
Блок доступа к данным реализует стандартную функциональность доступа к данным, которая на уровне корпоративных систем может быть использована разработчиком. Блок обработки исключений существует и поддерживает как разработчиков, так и тех специалистов, которые создают политику безопасности, политику обработки исключений, причем это можно реализовать в рамках последовательной стратегии обработки исключений, которая происходит на всех архитектурных уровнях корпоративных приложений.
О блоке, который связан с ведением системных журналов, более подробно будем говорить далее. Понятно, что его функциональность – это ведение системного аудита и логирование, запись в журналы тех системных событий, которые происходят с компонентами корпоративных приложений. Блок, который называется Policy Injection, связан с реализацией таких важных и часто встречающихся возможностей ПО, как кэширование, ведение журнала системной информации, обработка исключений и поверка корректности системы во всей системе. То есть они распространяют эти правила на всю систему и дают возможность сквозным образом вести контроль над корпоративной системой, включающей, возможно, несколько приложений, построенных на основе технологии Enterprise Library.
Блок, связанный с безопасностью, поддерживает авторизацию и безопасное кэширование данных и дает возможность реализовать, как и прочие блоки, эту функциональность на уровне приложений. Блок, который связан с зависимостями, Unity Application Block, позволяет достаточно прозрачным и легким образом контролировать сложные и многоаспектные зависимости на уровне конструкторов, свойств и методов. И наконец, блок, связанный с проверкой корректности, осуществляет поддержку создания правил для автоматизированной проверки корректности на уровне объектов, которая существует в корпоративном приложении также на различных уровнях. Все это поддерживается блоками, отвечающими за соответствующую функциональность.
Взаимодействие основных функциональных блоков в библиотеке Enterprise Library представлено на рис. 15.1.

Рис. 15.1.Структурная схема библиотеки Enterprise Library
В центре находится ядро, включающее в том числе средство ObjectBuilder, средства настройки конфигурации и общих компонентов, которые поддерживают проектирование, а также взаимодействие с инструментальными средствами разработки. На периферии в прямоугольниках с закругленными углами расположены блоки, которые были перечислены. Основные потоки взаимодействия между блоками обозначены сплошными стрелками, а дополнительные возможности, которые могут обеспечиваться на уровне взаимодействия между блоками, – пунктирными. Далее рассмотрим более подробно ядро библиотеки корпоративных приложений Enterprise Library.
Нет ничего удивительного в том, что интерфейс погружается в среду. NET, в среду Visual Studio. На рис. 15.2 показаны метаданные, конфигурация того или иного приложения, которое в данный момент создается или настраивается.
Читать дальшеИнтервал:
Закладка: