Обзоры
Архитектура Windows DNA изнутри
0

Архитектура Windows DNA изнутри

Когда в середине 90-х годов начала формироваться новая идеология построения прикладного программного обеспечения (создание распределенных многоуровневых модульных приложений, ориентированных на работу в многоплатформенной среде), компания Microsoft предложила разработчикам свой вариант воплощения данного подхода. Впервые о нем заговорили еще в 1997 г., а в конце 1998 г. на конференции Microsoft Professional Developers Conference, посвященной вопросам разработки Web-приложений, "философские рассуждения" кристаллизовались во вполне конкретную архитектуру Windows DNA (Windows Distributed interNet Applications — распределенные приложения для Internet на базе платформы Windows).

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

Архитектура Windows DNA представляет собой набор системного программного обеспечения и средств проектирования, позволяющих корпоративным разработчикам и компаниям—производителям ПО создавать распределенные многоуровневые бизнес-приложения для Internet, используя интегрированные технологии для семейства операционных систем Windows. Это — своего рода концептуальная парадигма разработки программного обеспечения, объединившая в себе все лучшие технологические наработки Microsoft как в области серверных компонентов (MS BackOffice), так и в области средств проектирования (MS Visual Studio) и клиентских прикладных пакетов (MS Office, MS Money и др.).

Семейство продуктов Windows DNA

Платформой для Windows DNA служит серверная операционная система Windows NT, а для более новой модификации данной архитектуры Windows DNA 2000 — серверные версии Windows 2000. Сетевая операционная система организует взаимодействие отдельных компьютеров в сети, обеспечивая идентификацию пользователей и безопасность доступа к ресурсам, а также предоставляет различные системные услуги (например, доступ к данным, уведомления, организация многопоточных вычислений, маршрутизация сетевых пакетов и т. п.). Отличительная черта Windows 2000, кроме всего прочего, — тесная интеграция на уровне ядра ОС с новыми стандартами передачи данных через Internet. В частности, это касается полноценной поддержки семейства расширенных языков разметки XML для передачи структурированных данных, являющихся наряду с технологиями DCOM/COM связующими элементами между отдельными модулями приложений, реализованных в рамках Windows DNA.

Системные программные продукты компании Microsoft (различные серверы данных и приложений) дополняют функции операционной системы Windows NT/2000. Они представляют собой кирпичики, на базе которых разработчики могут строить разнообразные бизнес-приложения для различных сфер производства и управления.

Среди указанного системного программного обеспечения прежде всего следует отметить хорошо известные нашим пользователям приложения, входящие в состав пакета MS BackOffice Server 4.5:

  • сервер данных MS SQL Server 7.0;
  • почтовый сервер MS Exchange 5.5;
  • Web-сервер MS Internet Information Server 4.0 (в Windows 2000 входит более новая версия этого продукта — 5.0);
  • специализированный сервер приложений для интеграции компонентов бизнес-логики MS Transaction Server 2.0;
  • сервер организации полнотекстового поиска по документам MS Index Server;
  • сервер создания коммерческих Web-узлов MS Site Server 3.0 и др.

Наряду с выпуском новой версии своей операционной системы Windows 2000 и модернизацией серверов приложений из MS BackOffice Server компания Microsoft заявила о создании целого ряда новых серверных программных продуктов, расширяющих возможности самой архитектуры Windows DNA 2000:

  • Microsoft Host Integration Server 2000 ("Babylon") — обеспечивает интеграцию приложений Windows с приложениями для мэйнфреймов на уровнях: сетевом, данных и программных модулей;
  • Microsoft Application Center 2000 — облегчает создание, развертывание и администрирование программ, построенных на основе Windows DNA, на высокопроизводительных кластерных серверах;
  • Microsoft BizTalk Server 2000 — новый сервер для организации бизнесс-процессов между предприятиями, построенный на базе стандарта XML;
  • Microsoft Commerce Server 2000 — формирует инфраструктуру для организации электронной коммерции между фирмами и их клиентами (физическими и юридическими лицами);
  • Microsoft SQL Server 2000 ("Shiloh") — модернизированная версия сервера данных Microsoft SQL Server 7.0, интегрирующаяся с ядром Windows 2000 и предоставляющая поддержку XML и аналитическую обработку данных; обеспечивает более высокие производительность и надежность.

Перечисленные компоненты легко интегрируются между собой как на основании стандартных технологий DCOM/COM, так и на уровне специализированных интерфейсов. В качестве примера специализированного интерфейса можно указать интеграцию Microsoft SQL Server 7.0 с почтовым сервером MS Exchange 5.5 посредством службы SQL Mail, использующей низкоуровневые процедуры MAPI.

Windows DNA в действии

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

На уровне данных программные компоненты представлены СУБД MS SQL Server и ее службами (расширенные хранимые процедуры, DTC, DTS, SQL Agent и пр.), а также базами данных, создаваемыми разработчиками под конкретные проекты.

На уровне бизнес-логики проектируются разнообразные DCOM-компоненты. Подходящей средой исполнения для них служит сервер транзакций MS Transaction Server. Эти модули могут быть реализованы на любом поддерживающем технологию COM языке — от старомодного COBOL до Java. Там, где нужна особенная гибкость, используют также макроязыки для интерактивной (активные страницы IIS) или фоновой ("правила" Exchange) обработки данных.

Стандартом для связывания компонентов является DCOM (Distributed Component Object Model) — независимый от языка программирования и локализации в сети стандарт вызова, с синтаксисом и семантикой объектного (а не процедурного) характера в рамках модели "объект = свойства, методы и события". Два компонента, отвечающие стандарту DCOM, взаимодействуют совершенно одинаково как внутри одного сборочного модуля, так и между разными модулями, а также через сеть. Это открывает реальную возможность разработки приложений путем сборки их из готовых компонентов, а также увеличивает степень повторного использования ранее созданных модулей.

Для наиболее типичных применений в рамках Windows DNA предлагаются специализированные интерфейсы (т. е. семейства функций) DCOM. Так, для доступа к данным любого вида (которые можно логически представить как множество структурно подобных единиц-"записей" и сформулировать для них некий язык запроса) обычно используют интерфейс OLE DB и его упрощенный вариант ADO. OLE DB уже реализован для большинства промышленно используемых СУБД и файловых систем. Для работы со структурами иерархической природы рекомендуется интерфейс службы каталогов ADSI, поддерживающий, в частности, и популярный в сети Internet протокол LDAP.

Уровень представления фактически формирует интерфейс пользователя, который может быть реализован в виде динамического HTML (для тонкого клиента на основе броузера MS Internet Explorer 5.x) или же в виде полноценных приложений Windows, спроектированных, например, с помощью средств MS Visual Studio 6.0. Считается, однако, что именно DHTML является наиболее подходящим кандидатом на универсальное средство представления и будет использоваться все шире, причем не только в броузерах (первый шаг к воплощению данной тенденции — разработка технологий, основанных на Windows Scripting Host).

Приложения, созданные на базе архитектуры Windows DNA, легко интегрируются с приложениями, разработанными в рамках других многоуровневых подходов (например, CORBA, Java RMI или Java EB). Windows DNA также допускает использование серверных программных продуктов сторонних производителей. Так, благодаря наличию развитых интерфейсов OLE DB/ADO/RDS в качестве серверов баз данных для приложений Windows DNA могут использоваться не только продукты Microsoft, но и СУБД от Oracle, Sybase или Informix.

Преимущества и недостатки Windows DNA

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

Среди преимуществ Windows DNA следует выделить следующие. За счет наличия хорошо интегрированных между собой серверных программных продуктов, а также универсальных механизмов связи и взаимодействия приложений (DCOM/COM, поддержка XML на уровне ядра ОС Windows 2000) разработчики могут сосредоточиться на автоматизации бизнес-процессов в конкретной предметной области, для которой они проектируют прикладное программное обеспечение. При этом им не нужно затрачивать усилия на создание специфической низкоуровневой инфраструктуры для обеспечения функционирования их программ.

Кроме того, использование принципа модульности программного обеспечения, воплощенного в идеологии DCOM/COM, позволяет строить очень гибкие и масштабируемые решения, достаточно быстро адаптируемые как к изменяющимся потребностям заказчика, так и к выходу на новые технологические рубежи. К примеру, создав какое-то специализированное корпоративное хранилище данных и обеспечив доступ к нему посредством бизнес-компонентов, соответствующих технологии DCOM, можно в дальнейшем организовать к нему доступ через множественные клиентские интерфейсы: Internet-броузер, документы MS Office или полновесные клиентские приложения.

Модульность создаваемых на основе Windows DNA приложений повышает степень повторного использования ранее разработанного программного обеспечения, а также программного обеспечения других производителей. Ведь благодаря технологии DCOM активно используются интерфейсы и функции, реализованные в существующих DCOM-объектах. Все перечисленные факторы существенно ускоряют проектирование программных решений и повышают их надежность.

Еще одним важным преимуществом применения архитектуры Windows DNA для разработчиков и для конечных пользователей прикладных программ является низкая совокупная стоимость владения системной платформой. Этот аспект становится все более важным и в нашей стране в связи с ожидаемым ужесточением контроля за использованием нелицензионного программного обеспечения.

Среди недостатков данной технологической парадигмы можно назвать лишь отсутствие полноценной поддержки многоплатформенности. Действительно, базовая связующая технология DCOM в настоящее время реализована только для семейства операционных систем Windows, несмотря на все усилия Microsoft перенести ее на MacOS и некоторые клоны Unix. Поэтому при разработке многоуровневой многоплатформенной информационной системы, в которой серверная часть реализуется на основе Windows NT Server/Windows 2000, приходится прибегать к различным ухищрениям. В частности, в этих случаях зачастую создаются специальные серверные компоненты, работающие через другие интегративные механизмы (например, CORBA, Java RMI или WEBObjects для платформы MacOS) и взаимодействующие с серверными компонентами Windows DNA. Основной задачей этих специальных серверных компонентов является обслуживание запросов клиентов, работающих с операционными системами, отличными от семейства Windows.

Windows DNA в реальном мире

Многие компании—производители программного обеспечения и корпоративные разработчики во всем мире делают ставку на архитектуру Windows DNA при создании распределенных многоуровневых бизнес-приложений. Например, всемирно известный производитель компьютеров Dell (www.dell.com) использует технологии Microsoft (Windows NT Server 4.0, Site Server 3.0 Commerce Edition и SQL Server) для организации своей системы электронных продаж через Internet.

Мощный американский медиа-концерн Turner Broadcasting, владеющий популярными всемирными телевизионными сетями CNN, Headline News, Cartoon Network и Turner Classic Movies, создал трехуровневую систему учета показов рекламы в передачах своих телеканалов на основе Windows DNA. В качестве СУБД используется MS SQL Server 7.0; бизнес-логика реализована с помощью DCOM-объектов, разработанных на MS Visual Basic и функционирующих в среде MS Transaction Server; доступ к данным осуществляется посредством технологии ADO. Ежедневный объем транзакций в системе достигает 40 GB.

Существуют примеры успешного применения Windows DNA и в Украине. Например, в Казначействе Государственного Ощадного банка Украины внедрена "Система управления денежными потоками Казначейства". Она является результатом совместной разработки специалистов отдела информационной поддержки Казначейства (www.oschadnybank.com) и компании "КомпьютерИнтерСервис" (www.cis.ukrpack.net). В качестве СУБД здесь использован MS SQL Server 7.0 на платформе Windows NT Server 4.0 (в составе MS BackOffice Server 4.5). Для загрузки разнообразных данных в корпоративное хранилище в среде MS SQL Server 7.0 разработаны пакеты DTS. Уровень бизнес-логики представлен DCOM-компонентами, созданными с помощью MS Visual Basic и функционирующими в среде MS Transaction Server. Интерфейс пользователя и представление данных спроектированы на базе технологий Internet/intranet с применением активных серверных страниц со встроенными компонентами ActiveX. Активные страницы интерпретируются Web- сервером MS Internet Information Server 4.0 и отображаются броузером MS Internet Explorer 5.0. Доступ компонентов бизнес-логики к данным и взаимодействие броузера с компонентами бизнес-логики осуществляются посредством технологий ADO/RDS.

Еще одним примером создания приложений на базе архитектуры Windows DNA украинскими разработчиками является проект системы контроля версий электронных документов через Internet, реализованный сотрудниками отдела проблемно-ориентированных информационно-вычислительных систем Института проблем регистрации информации НАН Украины (www.ipri.kiev.ua) по заказу американской компании Aldec (www.aldec.com). В качестве СУБД здесь использован MS SQL Server 6.5 на платформе Windows NT Server 4.0, а Web-сервера — Internet Information Server 4.0. Бизнес-логика представлена кросс-платформенными многоуровневыми решениями. Часть компонентов этого уровня создана с помощью MS Visual C++ в виде DCOM-объектов для среды MS Transaction Server. Другая же часть реализована как сервер Java RMI, принимающий RMI-запросы от Java-приложений и направляющий их DCOM-объектам. Для клиентского интерфейса предусмотрены два решения: активные серверные страницы, отображаемые в броузере, и автономные Java-приложения.

Схема


Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: