Горизонтальная интеграция привела к увеличению объемов производства и снижению цен на готовую продукцию. Независимость каждого из уровней означает, что конкуренция заставляет производителей развивать каждый из них максимально быстро. Корпорации Intel и Advanced Micro Devices подталкивают друг друга вперед в деле разработки новых микропроцессоров. Десятки компаний бьются за заказы на такие компоненты, как модули памяти, жесткие диски и приводы компакт-дисков. Крупнейшие производители компьютеров соревнуются, кто построит из этих компонентов самые быстрые и мощные машины. Фирмы Apple, HP, IBM, Microsoft, Sun Microsystems, а также начинающие компании, такие, как Be и Red Hat Software, соперничают в деле совершенствования системного программного обеспечения, включая межплатформное ПО. Корпорации IBM, Microsoft, Oracle и ряд других конкурируют на рынке СУБД, а компании Baan, J. D. Edwards, People-Soft, Oracle и SAP — в производстве ПО для финансовых расчетов. Cisco, Lucent Technologies, Nortel и 3Com соперничают в области сетевой инфраструктуры. В число сетевых интеграторов входят фирмы Entex, INS, региональные телефонные компании, возникшие при разделении корпорации Bell, а также Vanstar и Wang. К системным интеграторам относятся Andersen Consulting, «большая пятерка» аудиторских компаний, Cap Gemini, Compaq, CTP, Fujitsu, HP, ICL, SNI и Unisys.
Бизнес-модель, доминировавшая в компьютерной отрасли в первые три десятилетия ее существования, характеризовалась вертикальной интеграцией. Каждый производитель выпускал большую часть номенклатуры аппаратного и программного обеспечения. Решения различных производителей были закрытыми и с большим трудом поддавались интеграции друг с другом. Цена перехода от одного производителя к другому была очень высока, поскольку приходилось менять практически все. Новая бизнес-модель, построенная вокруг технологии персонального компьютера, характеризуется горизонтальной интеграцией. В каждой области прогресс идет независимо от других, движимый конкуренцией множества производителей. Всякий раз при очередной модернизации своей системы клиент может заново оценить достоинства продуктов — аппаратного и программного обеспечения, услуг системной интеграции и т.д. — различных поставщиков, учитывая их функциональные достоинства и предлагаемые цены.
Я перечислил лишь крупнейшие фирмы, хотя на некоторых уровнях чрезвычайно велика роль многочисленных более мелких производителей. Например, особые потребности отдельных отраслей в прикладном ПО удовлетворяются небольшими компаниями, специализирующимися именно в этой области. Без широкого горизонтального рынка существование этих компаний было бы невозможно: именно он обеспечивает необходимые для выживания объемы потребления.
Переход с вертикальной на горизонтальную структуру происходит в настоящее время и в телекоммуникационной отрасли — по мере того, как традиционные поставщики услуг начинают строить свои новые системы на базе стандартного аппаратного и программного обеспечения с архитектурой ПК и протокола IP вместо фирменных систем, охватывающих все уровни снизу доверху. Такая разбивка на уровни неизбежно приведет к росту конкуренции и расширению выбора для клиентов точно так же, как это произошло в компьютерной отрасли.
ПОСТРОЕНИЕ «ЭЛЕКТРОННОЙ НЕРВНОЙ СИСТЕМЫ»: ТРЕБУЕТСЯ ПЛАН
Горизонтальная интеграция компьютерной отрасли с участием множества производителей требует общего плана действий. В природе его роль выполняет молекула ДНК, содержащая инструкции каждой клетке, как ей жить, чтобы оставаться в согласии со всеми остальными. В бизнесе преуспевающие организации тоже опираются на такие планы технологического развития. Но если раньше каждая компания могла иметь свой собственный, отдельный план, то теперь, в эпоху всеобщей взаимозависимости, предприятию необходима архитектура, объединяющая его с партнерами и клиентами.
Microsoft разрабатывает свои продукты на основе плана, предусматривающего использование в будущем единой модели программирования — архитектуры Windows Distributed InterNet Architecture (Windows DNA), которая состоит из четырех частей. Первая — основанный на применении форм подход к построению пользовательского интерфейса, гладко интегрирующегося с веб-страницами и использующего более широкий набор элементов языка HTML, чем обычно встречается в традиционных настольных приложениях. Семейство платформ Windows использует HTML — стандарт описания несложной графики — на персональных компьютерах, простейших устройствах типа информационных киосков, компьютерных приставках к телевизорам и карманных устройствах, причем информационное наполнение подготавливается в соответствии с возможностями каждой машины. Кроме того, Windows предоставляет пользователям более мощные средства визуализации и сервисные функции операционной системы, необходимые для поддержки периферийных устройств с богатыми наборами возможностей, а также для обеспечения высокой скорости отклика и исполнения приложений в автономном режиме.
Например, Windows позволяет различным образом отображать многомерные наборы данных без повторных обращений к серверу всякий раз, когда пользователю вздумается изменить форму представления; системы этого семейства могут отслеживать действия пользователя и прогнозировать наиболее вероятные последующие команды; наконец, для этой платформы существуют средства распознавания речи и обработки естественного языка на ПК.
Вторая из четырех частей Windows DNA — объектная модель СОМ, предназначенная в первую очередь для управления бизнес-логикой по сети. СОМ — это спецификация, описывающая способ разбиения компьютерной программы на множество отдельных, но легко соединяемых между собой частей, называемых объектами, таким образом, чтобы затем было легко обеспечить их надежное и защищенное взаимодействие при исполнении программ на множестве различных узлов. Одно из фундаментальных свойств таких программных компонентов состоит в том, что разработчик приложений может использовать их, не думая о том, как они устроены внутри: достаточно знать способ применения. При модернизации приложения программисту нужно просто заменить те части, которые не удовлетворяют новым требованиям; а для распространения произведенной замены по пользовательским машинам достаточно переслать им по сети новые компоненты. Такой подход ценен еще и тем, что он исключает необходимость полной переработки всех приложений при появлении новой технологии или нового компьютерного языка. Windows DNA определяет также надежные способы обеспечения взаимодействия и совместной работы объектов; это особенно важно, если они выпущены разными производителями. Взаимодействующие объекты могут произвольным образом распределяться по различным машинам сети, и не только по платформам семейства Windows, но и по многим иным.
Третья часть — универсальный подход к хранению данных, позволяющий каждой программе осуществлять доступ к информации, независимо от ее формата и места хранения, будь то жесткий диск, база данных, папка системы электронной почты или что-либо еще. И, наконец, последняя, четвертая часть 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, вроде формы ввода заказа, может быть представлено просто еще одной папкой на настольном ПК, а все веб-приложения, как существующие, так и будущие, исполняются просто в оболочке, эмулирующей стандартный браузер. Пользователю никогда не приходится задаваться вопросом о том, «где живет» та или иная программа — в Сети, на локальной машине, в среде клиент/сервер или на мэйнфрейме. И ему никогда не доставит неудобства модернизация любой из них — просто на привычном рабочем столе появится еще несколько функций.