Что готовит Microsoft для разработчиков
Технологии и продукты, анонсированные осенью 2001 года
Что дает разработчикам и пользователям применение этой технологии
Когда будут доступны .NET My Services
Развлечения с .NET и производительность Web-сервисов
На прошедшей в конце октября этого года в Лос-Анджелесе конференции Microsoft Professional Developers Conference (PDC’2001), собравшей около 7 тыс. разработчиков со всего мира, обсуждались новые технологии Microsoft, которые позволяют создавать распределенные приложения нового поколения, использующие нетрадиционные способы ввода данных и легко интегрирующиеся с другими приложениями и сервисами, в том числе представленными в Интернете. Ниже приведен краткий обзор того, о чем говорилось на этой конференции.
Технологии и продукты, анонсированные осенью 2001 года
о словам Билла Гейтса, основателя Microsoft Corporation, председателя правления и главного архитектора программного обеспечения Microsoft, миссия этой компании заключается в предоставлении разработчикам возможности быть на переднем крае революционных изменений, связанных с технологией XML Web-сервисов, производить мощные и высокопродуктивные инструменты, повышающие эффективность бизнеса. Сейчас компаниям требуется платформа, которая не только позволяет создавать клиентские, серверные и сервисные решения мирового класса, но и предоставляет возможность таким решениям работать друг с другом и с другими существующими решениями, в целях сохранения инвестиций. Платформа .NET является именно такой: она позволяет легко и эффективно решить проблемы интеграции различных решений с помощью XML Web-сервисов. В развитии этой стратегии за последние полгода был достигнут значительный прогресс.
На конференции были анонсированы многие ключевые технологии для .Net, в частности:
- Visual Studio .NET release candidate и .NET Framework release candidate. В тестировании этих версий Visual Studio .NET и .NET Framework будут участвовать более 2,5 млн. разработчиков, что превышает количество бета-тестеров всех предыдущих версий Visual Studio вместе взятых. Эти продукты реализуют принципиально новую модель программирования, основанную на общих библиотеках классов для разных языков программирования. (В данной статье мы не будем подробно останавливаться на Visual Studio .NET и .NET Framework — им посвящена отдельная статья, публикуемая частями в нашем журнале начиная с сентября этого года. Кроме того, в этом номере вы можете найти интервью с Андерсом Хейлсбергом, одним из основных участников разработки Microsoft .NET Framework.)
- Расширения .NET для мобильных устройств (smart devices). Термин «smart devices» применяется по отношению ко всем мобильным устройствам, которые позволяют загружать и локально выполнять приложения, обладающие удобным пользовательским интерфейсом и дающие возможность использовать ресурсы локальных сетей и Интернета. В частности, с осени этого года доступны Smart Device Extensions (SDE) for Visual Studio .NET (technology preview), позволяющие создавать с помощью Visual Studio .NET приложения для мобильных телефонов, PDA, в том числе для Pocket PC. Была также анонсирована новая версия Windows CE — Windows CE .NET, поддерживающая .NET Compact Framework и XML Web-сервисы.
- .NET My Services SDK и .NET Alerts SDK (technology preview). Продукт .NET My Services SDK включает документацию, примеры и .NET My Services Developer Edition (продукт, позволяющий разработчикам устанавливать локальную копию .NET My Services для использования ее во время разработки приложений). Данная технология основана на концепции Web-сервисов и помогает упростить создание многих приложений и служб, поэтому немало компаний уже применяют ее в своих приложениях. Сервис .NET Alerts позволяет создавать решения, способные обращаться к широкому спектру клиентов .NET Alerts, в том числе и к Windows XP. Ниже мы более подробно рассмотрим эти технологии.
- Microsoft .NET Speech SDK (technology preview). Данный продукт содержит расширения и инструменты для .NET Framework, Visual Studio .NET и Microsoft Internet Explorer, позволяющие встраивать расширения, поддерживающие голосовой ввод в существующие и вновь создаваемые Web-приложения для персональных компьютеров, мобильных телефонов, Tablet PC, PDA.
- Commerce Server 2002 (technology preview). Этот корпоративный сервер позволяет быстро создавать сайты электронной коммерции за счет интеграции со средой разработки Visual Studio .NET и поддержки компонентов .NET Framework. Кроме того, Commerce Server 2002 имеет встроенную поддержку .NET My Services, .NET Passport и .NET Alerts. (Этому продукту мы посвятим статью в одном из ближайших номеров нашего журнала.)
- SQLXML 2.0 для SQL Server 2000. Доступный для загрузки с корпоративного сайта Microsoft, этот продукт представляет собой набор компонентов для расширения XML-функциональности SQL Server 2000. Указанные возможности позволяют разработчикам упростить интеграцию данных, повысить интероперабельность приложений, а также предоставить XML-функциональность для всех слоев многозвенных приложений — слоя данных, промежуточного слоя и клиентских приложений. Расширения SQLXML 2.0 можно применять в приложениях Visual Studio .NET или с помощью набора компонентов .NET Framework.
- Microsoft XML Core Services 4.0 (MSXML 4.0). Этот продукт состоит из обновленного набора XML-сервисов, позволяющих добавить к приложениям такую же XML-функциональность, что используется в корпоративных серверах .NET. MSXML 4.0 содержит более быстрый XML-парсер, а также поддерживает последние версии стандартов XML, включая рекомендации W3C XML Schema.
- Tablet PC Beta SDK. Данная технология позволяет разработчикам создавать приложения, поддерживающие рукописный и речевой ввод для мобильных устройств под общим названием Tablet PC. В июле 2002 года обещан выпуск Tablet PC с операционной системой, поддерживающей .NET Framework.
- Office XP Web Services Toolkit. Этот продукт, который появится уже в конце этого года, позволит разработчикам использовать Web-сервисы в приложениях Office XP, в частности находить их в реестрах UDDI, а также интегрировать в решения Office XP с помощью VBA.
- Visual Studio .NET Toolkit for Windows XP. Данное средство позволяет с помощью компонентов .NET использовать в своих приложениях новые особенности Windows XP, такие как аудиовизуальное общение в реальном времени, запись компакт-дисков, загрузка приложений через Интернет.
Отметим также, что в октябре этого года корпорация Microsoft представила Global XML Web Services Architecture — архитектуру нового поколения Web-сервисов, определяющую принципы, которые позволяют создавать новые спецификации так, чтобы они были совместимы между собой, и опубликовала четыре спецификации для ее поддержки — WS-Security, WS-License, WS-Routing и WS-Referral, которые, как и предыдущие спецификации XML Web-сервисов, будут через некоторое время переданы в соответствующие организации по стандартизации.
.NET My Services
icrosoft .NET My Services (прежнее название HailStorm) — это набор Web-сервисов, ориентированных на потребности конечного пользователя и использующих протокол SOAP для передачи данных. Данные Web-сервисы можно использовать в Web-приложениях, других Web-сервисах, в клиентских приложениях и приложениях для мобильных устройств, реализованных на любой платформе.
Как работают .NET My Services
Аутентификация пользователя в .NET My Services осуществляется с помощью Web-сервиса под названием .NET Passport. После того как пользователь обратился к этому сервису из клиентского приложения или инициировал такой запрос из серверного приложения, приложение отправляет запрос к Web-сервису .NET Passport, который, в свою очередь, проверяет права приложения на доступ к .NET My Services и в случае наличия таких прав выдает приложению соответствующее разрешение. Далее это разрешение предъявляется приложением тому же сервису .NET Passport для получения права обратиться к остальным сервисам .NET My Services, и доступ к ним предоставляется в соответствии с правами пользователя.
Что представляют собой остальные сервисы .NET My Services
В бета-версии .NET My Services включены следующие службы (не исключено, что в окончательной версии .NET My Services появятся и другие сервисы):
- .NET Presence — содержит сведения о том, каким образом конкретный пользователь может в данный момент получать уведомления (например, доступен ли он по телефону, присутствует ли у персонального компьютера, занят ли и т.д.);
- .NET Location — содержит сведения о физическом присутствии пользователя (дома, в офисе и т.д.);
- .NET Services — следит за тем, на какие из сервисов подписан данный пользователь;
- .NET Alerts — позволяет приложениям и другим Web-сервисам посылать пользователю уведомления о событиях (например, о списании крупной суммы с его счета) на любое устройство в любое время. Для определения, куда посылать уведомления, используется сервис .NET Presence, соответствующим образом настроенный пользователем;
- .NET Calendar — позволяет хранить расписание пользователя, делая его доступным с любого устройства в любое время. Можно также сделать доступной часть этого расписания другим пользователям, чтобы осуществлять коллективное календарное планирование;
- .NET Contacts — позволяет хранить сведения о контактах, подобно персональным информационным менеджерам, причем часть этой информации можно сделать общедоступной;
- .NET Inbox — предоставляет доступ к электронной почте пользователя из любого места и с любого устройства;
- .NET Documents — позволяет хранить персональные и служебные документы и обращаться к ним из любого места и с любого устройства;
- .NET Wallet — хранит данные, позволяющие осуществлять онлайновые покупки. Удобство применения этого сервиса в том, что он не требует от пользователя ни ввода номера кредитной карты, ни адреса доставки при каждой покупке, а сам посылает их на торговый Web-сайт;
- .NET ApplicationSettings — хранит сведения о пользовательских настройках интерфейса (инструментальных панелях, пиктограммах, хранителях экрана), которые автоматически воспринимаются тем устройством, с которым в настоящее время работает данный пользователь;
- .NET Profile — хранит персональные данные (например, адреса, дни рождения и др.);
- .NET FavoriteWebSites — хранит сведения о наиболее посещаемых данным пользователем Web-cайтах и делает их доступными из любого приложения;
- .NET Lists — позволяет пользователю хранить любые списки (например, покупок, неотложных дел и т.п.);
- .NET Categories — хранит стандартный список категорий, доступных всем сервисам. Категории позволяют группировать документы, контакты, даты в расписании и т.д.
Что дает разработчикам и пользователям применение этой технологии
С помощью .NET My Services пользователь получает возможность обращаться к любым своим данным из любого места — как с помощью общедоступных компьютеров, так и с помощью мобильных устройств. Применение данной технологии облегчает такие процессы, как заполнение анкет, осуществление онлайновых сделок, осуществление коллективного календарного планирования.
Когда будут доступны .NET My Services
Первый тестовый центр данных, доступный независимым разработчикам, должен появиться во II квартале, а полнофункциональные центры данных — в IV квартале 2002 года. В I и III кварталах будущего года ожидаются обновления .NET My Services SDK, предварительная же версия этого SDK доступна уже сейчас.
Отметим, что создание приложений, использующих .NET My Services, можно осуществить с помощью любого средства разработки, поддерживающего Web-сервисы. (Подробную информацию о .NET My Services можно найти по адресу www.microsoft.com/myservices.)
Развлечения с .NET и производительность Web-сервисов
разговорах о Web-сервисах нередко высказываются сомнения в возможности достичь с помощью этих технологий производительности и надежности, особенно от сторонников технологий J2EE и CORBA. Для тестирования производительности .NET и Web-сервисов командой разработчиков платформы .NET было создано довольно забавное на первый взгляд приложение под названием .NET Terrarium (http://www.gotdotnet.com/).
Terrarium представляет собой модель экологической системы, в которой живут разнообразные существа, то есть, по сути, Web-игру. Участвуя в ней, вы можете создавать своих «зверюшек», описывая стратегию их поведения с помощью Visual Studio .Net, запускать их в эту экологическую систему и наблюдать за их жизнью, размножением, за тем, кто их ест, и кого они едят. Отметим, что всем пользователям Terrarium доступны любые изменения, происходящие в этой экологической системе.
Все это было бы очень мило, но… вся инфраструктура игры, включая запуск новых существ, поиск других экосистем, создание отчетов о росте популяции тех или иных животных, и даже загрузка новых версий игры на клиентские компьютеры, создана с помощью XML Web-сервисов. И нагрузка на эти сервисы была немалая — разнообразных тварей и растений в террариуме во время проведения конференции было несколько десятков тысяч, и все они непрерывно ели друг друга, убегали друг от друга и размножались с огромной скоростью…
А если говорить о производительности .NET и Web-сервисов всерьез, то можно ознакомиться с результатами тестирования их производительности и сравнить ее с производительностью J2EE-приложений, выполняющихся под управлением IBM WebSphere. (Результаты сравнения, подтверждающие высокую производительность Web-сервисов и .NET, вы можете найти по адресу: http://msdn.microsoft.com/net/compare/default.asp, а также на нашем CD-ROM.)
Tablet PC
з направлений в разработке операционных систем и нестандартных пользовательских интерфейсов, активно развиваемых в Microsoft, следует особо отметить создание приложений для Tablet PC, интерес к которым резко возрос. Tablet PC — это полнофункциональный персональный компьютер с операционной системой Windows XP Professional, позволяющий выполнять все приложения для этой операционной системы и поддерживающий ввод с помощью пера и чувствительного экрана (это устройство ввода заменяет клавиатуру, которая хотя и может быть подключена к Tablet PC с помощью USB-порта, но не является обязательным устройством).
Предполагается, что Tablet PC может стать альтернативой современным ноутбукам: высокое разрешение экрана, поддержка беспроводной технологии передачи данных и прочие технические характеристики этого устройства сравнимы с соответствующими характеристиками переносных компьютеров. Ожидается, что подобные устройства будут выпускаться многими поставщиками, поэтому их точные технические характеристики и комплектация могут быть различными.
При разработках для этого типа устройств особое внимание уделяется, естественно, обработке рукописного ввода. На конференции были продемонстрированы такие возможности, как рисование схем «от руки» с помощью пера и преобразование их в схемы Visio, а также распознавание английского рукописного текста (именно рукописного, а не «рукопечатного», как в некоторых существующих устройствах!).
Приложения, поддерживающие рукописный ввод, можно разрабатывать уже сейчас — для этой цели существуют бета-версия Tablet PC SDK и элементы управления, предназначенные для создания пользовательских интерфейсов таких приложений.
Выпуск первых Tablet PC, оснащенных Microsoft Windows XP for Tablet PC, ожидается летом будущего года. Правда, пока нет стопроцентной уверенности, что к этому моменту уже появится полноценная поддержка русского языка в сервисах, предназначенных для распознавания рукописного текста. (Подробности о Tablet PC и приложениях для этого устройства можно найти по адресу: http://www.microsoft.com/windowsxp/tabletpc/default.asp.)
Заключение
настоящей статье мы осветили лишь три из множества технологий, представленных Microsoft этой осенью, — .NET My Services, средства рукописного ввода в Windows XP для Tablet PC, а также некоторые аспекты тестирования производительности Web-сервисов и приложений Microsoft .NET. За рамками нашей публикации осталось много не менее интересных вопросов. Это и применение .NET Framework и Visual Studio .NET, и создание приложений для мобильных устройств, и особенности разработки приложений для Windows XP (в частности, поддержка нескольких сеансов пользователей и удаленного доступа), и рассказ о деятельности подразделения Microsoft Research. Обо всем этом мы обязательно расскажем в будущем году.
КомпьютерПресс 12'2001