Выбрать главу

Третья часть — универсальный подход к хранению данных, позволяющий каждой программе осуществлять доступ к информации, независимо от ее формата и места хранения, будь то жесткий диск, база данных, папка системы электронной почты или что-либо еще. И, наконец, последняя, четвертая часть Windows DNA — механизм, позволяющий осуществлять обработку данных на том компьютере, на котором она будет выполнена наиболее эффективно: в одних случаях на клиенте, в других на сервере, в третьих — частью там, а частью тут; а иногда — это требуется, например, мобильным пользователям — вычислительные процессы дублируются на клиенте и на сервере.

Уникальная особенность Windows DNA состоит в том, что эта архитектура позволяет переносить существующие приложения в распределенные вычислительные среды, соединяя вместе все лучшее, что есть в Сети и в традиционных корпоративных приложениях. Другие подходы, как правило, требуют создания совершенно нового парка ПО с использованием одного конкретного языка программирования, в то время как Windows DNA позволяет клиентам пользоваться всеми преимуществами горизонтально интегрированной платформы ПК, продолжая параллельно с этим развивать уже существующие вертикально интегрированные решения.

Наряду с необходимостью разработки плана существует и другой императив — построение программ на базе «трехуровневой архитектуры», в которой логика программы делится на три класса: уровень представления, обеспечивающий генерацию представления данных для пользователя; промежуточный уровень, на котором реализуются бизнес-правила (например, предоставление скидки при оформлении выгодного заказа), и базовый уровень, обеспечивающий хранение, поиск и выборку данных. Трехуровневая архитектура позволяет логически разделить функции приложения между множеством машин и в дальнейшем производить изменения на любом из уровней, не затрагивая остальных.

Используя этот подход, корпорация Merrill Lynch смогла объединить более 50 отдельных приложений в единую систему для финансовых консультантов Trusted Global Advisor, описание которой приведено в главе 5. На базе Microsoft Office, Outlook, Windows Media Player и других приложений, использующих спецификацию СОМ, разработчики Merrill Lynch создали единый интерфейс, выглядящий для пользователя как одно заказное приложение. Он занимает уровень представления и исполняется на настольных машинах.

Многие из этих 50 приложений получают данные для своей работы от существующих систем базового уровня, основанных на различных СУБД, — от Microsoft SQL Server и DB2 корпорации IBM на платформе Windows до CICS и DB2 на мэйнфреймах. На серверах приложений, исполняющих ПО Microsoft Transaction Server и Microsoft Message Queue (программы промежуточного уровня), СОМ-компоненты применяются для реализации бизнес-логики и координации потоков данных от множества базовых приложений. Использование сервисов таких программных систем позволяет программистам сократить объем самостоятельно разрабатываемого кода распределенных приложений на 40-50% и избавляет их от необходимости решать ряд сложных задач координации и обеспечения безопасности. Для создания самих компонентов можно использовать множество различных систем программирования, включая Visual Basic, Visual С ++ и Java.

Благодаря СОМ приложение для мэйнфрейма с терминалами типа 3270, вроде формы ввода заказа, может быть представлено просто еще одной папкой на настольном ПК, а все веб-приложения, как существующие, так и будущие, исполняются просто в оболочке, эмулирующей стандартный браузер. Пользователю никогда не приходится задаваться вопросом о том, «где живет» та или иная программа — в Сети, на локальной машине, в среде клиент/сервер или на мэйнфрейме. И ему никогда не доставит неудобства модернизация любой из них — просто на привычном рабочем столе появится еще несколько функций.

ПОСТРОЕНИЕ «ЭЛЕКТРОННОЙ НЕРВНОЙ СИСТЕМЫ»: ИНФРАСТРУКТУРА

Построение «электронной нервной системы» требует хорошо проработанного плана, определяющего организацию и способ развертывания компьютерного оборудования и сетевого обеспечения, подход к приобретению или разработке приложений, а также порядок повседневной эксплуатации системы. Имеющийся положительный опыт для каждого из этих уровней подробно описан в документе Microsoft Solutions Framework — наборе руководящих принципов, составленном на основании опыта работы консультационной службы Microsoft Consulting Services с широким кругом корпоративных клиентов.

Первое «аппаратное» решение состоит в выборе типа настольной машины («клиента») для оснащения конечных пользователей. Исторически клиентские устройства подразделялись на два типа. Первый из них — неинтеллектуальные терминалы. Они предназначались, как правило, для использования работниками, выполняющими жестко определенные неизменные операции. Клиентские машины этого рода играют пассивную роль — в основном обеспечивают отображение результатов расчетов, осуществленных на хост-машине или сервере. Системы с такими терминалами удобны для централизованного управления, но могут генерировать большие объемы трафика между сервером и клиентом, так что соединяющая их сеть превращается в узкое место. Кроме того, этот вариант не подходит для мобильных работников. Второй тип клиентского устройства — персональный компьютер — представляет собой инструмент для работников интеллектуального труда, допускающий адаптацию к широкому спектру условий. Вычисления производятся на ПК или на сервере, в зависимости от конкретных требований бизнеса. Этот подход отличается высокой гибкостью, но 1 несет с собой значительную сложность администрирования.

И вот теперь больше не нужно делать выбор между этими двумя подходами. Современная технология ПК сочетает широкие возможности централизованного администрирования с гибкостью, которая требуется от инфраструктуры нового информационного века. Одни и те же программы могут исполняться как целиком на сервере (так что на клиентской машине будут появляться только графические представления), так и полностью на ПК. Поскольку постоянное подключение каждого устройства к сети — пока еще очень отдаленная перспектива, то возможность автономной работы очень важна для работников интеллектуального труда. Между тем нынешние веб-приложения обычно не рассчитаны на работу в условиях, когда один из участников отключен от сети.

Находясь на основной территории компании, ее служащие могут использовать свои ПК в «терминальном режиме» для просмотра корпоративных данных и в то же время задействовать все функции этих машин для нужд своего интеллектуального труда. Например, для автоматизации планирования производства и поставок удобно использовать мощный сервер, к которому работник интеллектуального труда сможет время от времени обращаться для решения проблем, касающихся графика производства. В то же время в процессе переговоров с клиентом о крупном заказе тому же самому специалисту для определения возможности выполнения этого заказа в те или иные сроки может потребоваться инструмент, позволяющий просчитывать сценарии типа «а что, если».