Третья часть — универсальный подход к хранению данных, позволяющий каждой программе осуществлять доступ к информации, независимо от ее формата и места хранения, будь то жесткий диск, база данных, папка системы электронной почты или что-либо еще. И, наконец, последняя, четвертая часть 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 несет с собой значительную сложность администрирования.
И вот теперь больше не нужно делать выбор между этими двумя подходами. Современная технология ПК сочетает широкие возможности централизованного администрирования с гибкостью, которая требуется от инфраструктуры нового информационного века. Одни и те же программы могут исполняться как целиком на сервере (так что на клиентской машине будут появляться только графические представления), так и полностью на ПК. Поскольку постоянное подключение каждого устройства к сети — пока еще очень отдаленная перспектива, то возможность автономной работы очень важна для работников интеллектуального труда. Между тем нынешние веб-приложения обычно не рассчитаны на работу в условиях, когда один из участников отключен от сети.
Находясь на основной территории компании, ее служащие могут использовать свои ПК в «терминальном режиме» для просмотра корпоративных данных и в то же время задействовать все функции этих машин для нужд своего интеллектуального труда. Например, для автоматизации планирования производства и поставок удобно использовать мощный сервер, к которому работник интеллектуального труда сможет время от времени обращаться для решения проблем, касающихся графика производства. В то же время в процессе переговоров с клиентом о крупном заказе тому же самому специалисту для определения возможности выполнения этого заказа в те или иные сроки может потребоваться инструмент, позволяющий просчитывать сценарии типа «а что, если».
Не забывайте и о том, что многие «однооперационные» рабочие места прекратят свое существование с переходом пользователей на самообслуживание на веб-узлах служб поддержки. Тогда если клиент все-таки соберется связаться со своим банком по телефону, то только для обсуждения сложных и важных вопросов, вроде инвестиционных планов или диверсификации активов. Вполне вероятно, что для связи будут использоваться интерактивные аудио— и видеосистемы. Клиент и работник банка смогут сотрудничать друг с другом в решении общей задачи. И каждому из них потребуется для этого мощный компьютер.
Универсальный ПК подойдет для всех этих случаев.
Персональный компьютер нуждается в повышении администрируемости. Новейшие версии комплекта приложений Microsoft Office и операционной системы Windows 2000 позволяют осуществлять гибкое конфигурирование компьютеров конечных пользователей из единого центра. Пользователь может держать приложения на своей машине или довольствоваться доступом к исполняемым на сервере, копируя на ПК лишь минимальный объем кода, необходимый для их запуска. Предусмотрен и вариант загрузки редко используемых функций по сети по мере необходимости. При повреждении какой-либо части приложения исправление ее кода может осуществляться в автоматическом режиме. Кроме того, ПК будут самостоятельно выбирать для себя варианты конфигурации в зависимости от идентификации текущего пользователя. Это позволит нескольким служащим обходиться одним компьютером при сохранении всех преимуществ ситуации, когда за каждым из них закреплен отдельный ПК. Любые изменения данных, произведенные пользователем в автономном режиме, будут автоматически синхронизироваться после установления соединения с сетью. Все эти возможности администрирования будут опираться на центральный каталог компании, хранящий сведения о пользователях и приложениях, а также другую информацию.