oldi

Будущее распределенных вычислений: взгляд Microsoft и ее партнеров

Архитектура Microsoft Global XML Architecture ...

 

Недавно в рамках тура, организованного европейским отделением Microsoft, российское представительство этой компании провело семинар для системных архитекторов, создающих решения для автоматизации бизнес-процессов, посвященный современной архитектуре распределенных вычислений. Семинар прошел под руководством Стива Шварца, архитектора COM+ и Enterprise Services, и Клеменса Вастерса, технического директора и одного из основателей немецкой компании Newtelligence AG (www.newtelligence.com), специализирующейся на оказании услуг разработчикам, заинтересованным в применении Web-сервисов. Предлагаем вашему вниманию эксклюзивное интервью, данное Стивом Шварцем (на фото справа) и Клеменсом Вастерсом ответственному редактору журнала КомпьютерПресс Наталии Елмановой.

КомпьютерПресс: Стив, расскажите немного о себе. За какие продукты Microsoft вы отвечаете? Чем вы занимались раньше?

Стив Шварц: Я пришел в Microsoft в 1997 году. До этого я вел исследовательскую работу в одном из американских университетов и работал в компании, занимавшейся параллельными и распределенными вычислениями. Свою деятельность в Microsoft я начал в группе разработчиков, отвечавших за технологию COM, а продолжил в группе, в ведение которой входили COM+ и DCOM в Windows 2000, где я совмещал обязанности менеджера проектов и архитектора. Сейчас я возглавляю группу, отвечающую за модели программирования в Enterprise Services, XMLWeb Messaging, GXA, .NET Remoting.

КП: Клеменс, на оказании каких услуг специализируется ваша компания? Где вы работали до ее основания?

Клеменс Вастерс: Я — CTO (Chief Technology Officer — ближайший российский аналог этой должности — главный инженер) и один из основателей немецкой компании Newtelligence AG, предоставляющей услуги разработчикам, планирующим создание приложений для платформы Microsoft .NET. Мы готовим учебные материалы и проводим семинары по всей Европе. До основания компании Newtelligence я возглавлял исследовательский отдел в нью-йоркской компании, специализирующейся на разработке финансового программного обеспечения и корпоративных порталов. Думаю, что благодаря моим знаниям в области финансовой индустрии я хорошо представляю себе потребности и проблемы крупных компаний, связанные с разработкой программного обеспечения и осуществлением интеграции приложений.

КП: В последнее время компания Microsoft в своих документах и презентациях все чаще обращается к такой категории IT-специалистов, как архитекторы. Какова с точки зрения Microsoft роль архитекторов в IT-индустрии и как их можно классифицировать?

С.Ш.: В последние годы Microsoft, и прежде всего европейское отделение этой компании, действительно уделяет много внимания архитекторам. С моей точки зрения, существует два типа архитекторов: архитекторы, определяющие стратегию и выбирающие технологии для применения в своей компании, и архитекторы приложений. Наши семинары ориентированы на обе аудитории. Зная, что в Европе широко применяются конкурирующие технологии распределенных вычислений, такие как J2EE (Java 2 Enterprise Edition), мы, уважая этот выбор, рассказываем об особенностях, связанных с интероперабельностью Windows и Microsoft .NET Framework, и о возможностях интеграции с имеющимися системами в масштабах предприятия, в том числе с помощью Web-сервисов. Материалы, разработанные Newtelligence совместно с Microsoft, посвящены интероперабельности между платформами J2EE и Microsoft .NET.

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

КП: Что вы можете рассказать об архитектуре распределенных приложений на платформе Microsoft .NET и о ее дальнейшей эволюции?

С.Ш.: Если мы посмотрим на продукты Microsoft, выпущенные 5-6 лет назад, то увидим, что в то время предполагалось, что Windows-приложения выполняются на одном-единственном компьютере. О распределенных вычислениях на этой платформе начали говорить с началом работы над IIS (Internet Information Server) и MTS (Microsoft Transaction Server). Затем появились новые версии IIS, MTS превратился в COM+, а с появлением Microsoft .NET — в Enterprise Services. Я думаю, в ближайшие 5 лет COM+, Enterprise Services и .NET сольются в единую программную модель, поддерживающую интеграцию с технологиями других производителей с помощью GXA.

К.В.: Сейчас часто говорят и пишут о создании распределенных систем с сервером приложений; при этом серверами приложений называют J2EE-серверы, такие как BEA WebLogic, IBM WebSphere. Но действительно интересно то, что в Windows Server 2003 реализована практически вся функциональность сервера приложений, причем сегодня это единственный сервер приложений, встроенный в платформу.

КП: Что представляют собой Enterprise Services?

С.Ш.: Enterprise Services — это, по большому счету, MTS для управляемого кода, обеспечивающий, как и любой сервер приложений, сервисы хостинга, модели потоков и процессов, средства администрирования, мониторинга, внедрения, создания приложений с помощью вызова API, управления транзакциями и безопасностью. Enterprise Services — это дальнейшая эволюция COM+, обеспечивающая возможность использования управляемого кода, количество которого будет постоянно расти.

КП: Означает ли это, что в перспективе возможен полный переход к управляемому коду?

С.Ш.: Маловероятно. Исполняемый код нуждается в среде исполнения, которая сама по себе управляемым кодом не является. Всегда какая-то часть кода приложения или платформы будет оставаться неуправляемой. Видели ли вы операционную систему, полностью написанную на Java? При всем энтузиазме Sun в отношении Java пока ничего подобного не существует.

Ядро Windows, файловая система, драйверы устройств, иные средства поддержки инфраструктуры, очевидно, будут реализованы в виде неуправляемого кода. Управляемый же код будет использоваться для разработки прикладного программного обеспечения.

Сейчас платформа Windows поддерживает несколько моделей программирования.

Можно создавать COM-приложения, другой неуправляемый код, который еще долго можно будет использовать. Однако в .NET некоторые виды приложений создавать намного проще, и если среда исполнения управляемого кода встроена в какой-либо продукт, то Enterprise Services позволяет ее использовать.

К.В.: Enterprise Services добавляют к приложениям такие дополнительные возможности, как пулинг ресурсов, транзакции, реализуя иную модель программирования; при этом, что немаловажно, они входят в состав операционной системы. То же самое было и с COM+ — можно было использовать COM-код, но применять другую модель программирования. И многие средства разработки других производителей (Borland Delphi, Sybase PowerBuilder) сейчас поддерживают именно эту модель программирования.

КП: Мы много говорили о так называемой первой волне Web-сервисов и соответствующих стандартов — SOAP, UDDI, WSDL. Что, на ваш взгляд, характеризует вторую волну в плане новых стандартов и продуктов?

С.Ш.: Многое из того, что характеризовало Web-сервисы первой волны, стало стандартом, и эти стандарты позволяли создавать полнофункциональные интероперабельные приложения. Что касается второй волны Web-сервисов, то сейчас большая работа будет произведена в области GXA, в том числе в области безопасности, надежной передачи сообщений, иных инфраструктурных улучшений. Все это должно привести к появлению новой модели программирования, которая позволит использовать много различных инструментов и продуктов для создания приложений, одна часть которых функционирует под управлением J2EE-серверов приложений, а другая — под управлением Windows или .NET.

К.В.: Я ожидаю от новой волны появления более комплексного Интернета и большего количества XML-сервисов. Если раньше представление о Web-сервисах было во многом ограничено предположением об обязательном применении протокола HTTP, широко распространенного и очень популярного, то сейчас рассматриваются возможности доставки данных с применением других протоколов, возможно более подходящих для решения ряда задач в плане надежности.

КП: Что вы понимаете под термином «архитектура, основанная на сервисах» (service oriented architecture)?

К.В.: В первую очередь архитектура, основанная на сервисах, отличается от архитектуры, основанной на объектах (object oriented architecture), тем, что при необходимости выполнить какие-то действия мы просто идентифицируем контракт, описываем, как выглядят данные, и имеем возможность динамически переключаться между сервисами, реализующими нужную нам функциональность, и выбирать себе сервис из нескольких доступных.

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

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

КП: Большое спасибо за интересную беседу. Мы будем ждать от Microsoft новых продуктов и технологий, а также новых интересных семинаров. Надеемся, что вы еще не раз посетите нашу страну.

 

Редакция журнала благодарит сотрудников российского представительства Microsoft Алексея Федорова и Олега Карачарова за организацию данного интервью.

КомпьютерПресс 6'2003