Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
Рис. 9.5. Применение BindingNavigator
Другой способ связи основан на взаимодействии приложений и называется Application Settings. Это тоже подход SmartClients, использующий Windows Forms. Форматом хранения данных является XML. Файл описывает состояние приложения и фиксирует такие параметры, как линейные размеры формы на экране, персональные предпочтения пользователя, какие элементы и в каком положении он хочет видеть на форме, как, скажем, мы можем создать «мой Яндекс», упорядочить или определить свои предпочтения по тому, каким образом представлены элементы управления и в каком порядке они расположены на Яндекс-баре или других элементах интерфейса, можно изменить место хранения файлов по умолчанию и целый ряд других параметров. При этом во время выполнения приложения возможна автоматическая загрузка в память элементов данных и фактически осуществление кэширования информации на клиенте.
Теперь следует рассмотреть, каким образом это происходит визуально, как осуществляется работа с гетерогенными источниками данных на основе Application Settings. Сначала создается элемент управления Application Settings, в Solution Explorer – Properties появляется описание метаданных, которые связаны с Application Settings, здесь есть параметр PropertyBinging и ряд параметров, которые показывают связи с целым рядом атрибутов конкретного приложения. Есть параметры, описывающие линейные размеры, – Margin, Location, шрифт, местоположение файлов и т. д. Таким образом, на форме можно в динамическом режиме конкретизировать параметры источника данных, из которого извлекается информация. При извлечении данных из приложения необходимо использовать параметр Location, чтобы увидеть, как они отображаются в визуальном интерфейсе.
Важным аспектом корпоративных систем, который обеспечивает сокращение совокупной стоимости владения, является технология экономичного развертывания приложения. Ранее была рассмотрена технологии ClickOnce, которая позволяет быстро и в ряде случаев одним щелчком мыши и без участия специалистов по администрированию систем на уровне пользователя осуществить установку стандартных компонентов корпоративных приложений. Под развертыванием стоит понимать установку пользователем на клиентском компьютере – своей машине. Это может быть ноутбук, рабочая станция, смартфон или коммуникатор, т. е. некое клиентское устройство, для которого существует. NET Framework и соответствующие компоненты, объектные библиотеки и прикладные интерфейсы. Естественно, речь идет о том, что приложение может быть установлено после того, как оно разработано и для последующего использования. При реализации концепции быстрого развертывания приложения существуют проблемы. Это прежде всего массовая рассылка обновлений. Естественно, в корпорации функционирует далеко не одна информационная система. В каждом офисе существует большое количество гетерогенных информационных систем, при этом каждая система имеет некий номер версии, и отслеживание взаимосвязи этих версий – достаточно сложный процесс. Для этого используется специальное ПО – контроль версий: нужно отслеживать возможность согласованного использования компонентов этих приложений и, естественно, тех дополнений, доработок, которые разработаны для этих приложений с целью обеспечения их взаимной совместимости. Достаточно сложно – если речь идет о десятках тысяч пользователей – упростить рассылку обновлений и установку приложений. Если предположить, что каждый пользователь должен тратить 5 минут в день для установки приложений и их согласованной работы, получим тысячи человеко-часов. Чтобы этого избежать и повысить отдачу от использования приложений и снизить стоимость владения, Microsoft разработала ClickOnce – по сути, механизм сборок, описание кода, компонентов корпоративных систем с точки зрения как хранимых данных, так и метаданных, которые требуются этим сборкам, и, естественно, политики безопасности. Технология ClickOnce позволяет достаточно просто и быстро развертывать приложения при наличии Visual Studio и. NET одним или несколькими щелчками мыши, без ввода данных с клавиатуры, т. е. стандартным образом. Пользователь практически не может запутаться, повести себя двусмысленно – есть только один путь установки приложения, прямой и простой, и за короткое время без участия администратора пользователь может установить и настроить дополнение к приложению, как мы устанавливаем дополнения к приложению в Windows или Office.
Именно поэтому еще одним достоинством является интернет-ориентированность. Пользователю необязательно получать весь код, просто URL-ссылку на веб-сервер, на котором хранится код приложения в форме сборки. И после щелчка мыши по установке сборка сама, вместе с технологией ClickOnce, определяет возможность установки, программной среды, версии сборки, подлинность сборки, уровень безопасности, и в соответствии с политикой безопасности осуществляется установка дополнения на клиентский компьютер. Продолжим описание преимуществ технологии Click-Once. Поскольку вся информация о компоненте приложения локализована в сборке, осуществляется унификация управления как элементами данных, так и зависимостями. Для корпоративной системы сложно переоценить значение сборки как средства управления зависимостями между компонентами приложения. Автоматически осуществляется определение возможности установки, сборки в программную среду пользователя, притом что программное окружение пользователя является сложным и гетерогенным и производится или не производится установка. Осуществляется проверка корректности установки – удалось/не удалось и почему. Если установить продукт не удалось, пользователь может обратиться к администратору и четко передать то сообщение, которое на экране свидетельствует о том, что версия сборки не соответствует версии программной среды. Более того, возможно автоматическое обновление приложения на основе информации из Интернета. Также автоматическое обновление осуществляется практически без участия клиента, если клиент подтверждает возможность осуществления такого обновления в принципе. Кроме того, при обновлении приложения разработчику, который осуществляет коррекцию кода в терминах сборки, достаточно опубликовать новый манифест, т. е. метаданные сборки по указанному URL. Следовательно, не нужно тиражировать на все компьютеры пользователя и заботиться о совместимости программной среды того компонента, который вновь разработан, и того, что имеется у пользователя. Каким образом осуществляется публикация изменений или вновь разработанных корпоративных приложений иллюстрирует рис. 9.6. Здесь речь идет о размещении приложения на локальном компьютере, тем не менее это можно сделать и на FTP– и HTTP-сервере при наличии соответствующих прав доступа. Кроме того, если мы один раз указали местоположение, то именно по этому местоположению будет производиться размещение последующих апдейтов, сервис-паков, патчей и т. д. Именно этот интерфейс и использует Publish Wizard, т. е. средство упрощения развертывания приложений. Эта технология основана на подходе ClickOnce, при этом пользователю также достаточно выбрать автоматизированное обновление, и при помощи технологии ClickOnce осуществляется обновление приложений, пополнение, коррекция в автоматизированном режиме.