Я перечислил лишь крупнейшие фирмы, хотя на некоторых уровнях чрезвычайно велика роль многочисленных более мелких производителей. Например, особые потребности отдельных отраслей в прикладном ПО удовлетворяются небольшими компаниями, специализирующимися именно в этой области. Без широкого горизонтального рынка существование этих компаний было бы невозможно: именно он обеспечивает необходимые для выживания объемы потребления.
Переход с вертикальной на горизонтальную структуру происходит в настоящее время и в телекоммуникационной отрасли — по мере того, как традиционные поставщики услуг начинают строить свои новые системы на базе стандартного аппаратного и программного обеспечения с архитектурой ПК и протокола IP вместо фирменных систем, охватывающих все уровни снизу доверху. Такая разбивка на уровни неизбежно приведет к росту конкуренции и расширению выбора для клиентов точно так же, как это произошло в компьютерной отрасли.
Горизонтальная интеграция компьютерной отрасли с участием множества производителей требует общего плана действий. В природе его роль выполняет молекула ДНК, содержащая инструкции каждой клетке, как ей жить, чтобы оставаться в согласии со всеми остальными. В бизнесе преуспевающие организации тоже опираются на такие планы технологического развития. Но если раньше каждая компания могла иметь свой собственный, отдельный план, то теперь, в эпоху всеобщей взаимозависимости, предприятию необходима архитектура, объединяющая его с партнерами и клиентами.
Microsoft разрабатывает свои продукты на основе плана, предусматривающего использование в будущем единой модели программирования — архитектуры Windows Distributed InterNet Architecture (Windows DNA), которая состоит из четырех частей. Первая — основанный на применении форм подход к построению пользовательского интерфейса, гладко интегрирующегося с веб-страницами и использующего более широкий набор элементов языка HTML, чем обычно встречается в традиционных настольных приложениях. Семейство платформ Windows использует HTML — стандарт описания несложной графики — на персональных компьютерах, простейших устройствах типа информационных киосков, компьютерных приставках к телевизорам и карманных устройствах, причем информационное наполнение подготавливается в соответствии с возможностями каждой машины. Кроме того, Windows предоставляет пользователям более мощные средства визуализации и сервисные функции операционной системы, необходимые для поддержки периферийных устройств с богатыми наборами возможностей, а также для обеспечения высокой скорости отклика и исполнения приложений в автономном режиме.
Например, Windows позволяет различным образом отображать многомерные наборы данных без повторных обращений к серверу всякий раз, когда пользователю вздумается изменить форму представления; системы этого семейства могут отслеживать действия пользователя и прогнозировать наиболее вероятные последующие команды; наконец, для этой платформы существуют средства распознавания речи и обработки естественного языка на ПК.
Вторая из четырех частей Windows DNA — объектная модель СОМ, предназначенная в первую очередь для управления бизнес-логикой по сети. СОМ — это спецификация, описывающая способ разбиения компьютерной программы на множество отдельных, но легко соединяемых между собой частей, называемых объектами, таким образом, чтобы затем было легко обеспечить их надежное и защищенное взаимодействие при исполнении программ на множестве различных узлов. Одно из фундаментальных свойств таких программных компонентов состоит в том, что разработчик приложений может использовать их, не думая о том, как они устроены внутри: достаточно знать способ применения. При модернизации приложения программисту нужно просто заменить те части, которые не удовлетворяют новым требованиям; а для распространения произведенной замены по пользовательским машинам достаточно переслать им по сети новые компоненты. Такой подход ценен еще и тем, что он исключает необходимость полной переработки всех приложений при появлении новой технологии или нового компьютерного языка. Windows DNA определяет также надежные способы обеспечения взаимодействия и совместной работы объектов; это особенно важно, если они выпущены разными производителями. Взаимодействующие объекты могут произвольным образом распределяться по различным машинам сети, и не только по платформам семейства Windows, но и по многим иным.