Сергей Родионов
sergeyr@ecoinvent.ru

На протяжении последних десятилетий информационные технологии постоянно совершенствуются, предоставляя пользователям все более широкие возможности. Несмотря на это, иногда кажется, что каждая программа, каждое устройство, даже каждый Web-сайт "живет своей жизнью" и устанавливает свои правила работы, так что пользователь вынужден каждый раз приспосабливаться к новым условиям. Важные данные, персональные сведения оказываются разбросанными по сотням различных мест в информационном пространстве. Технологии Microsoft дают пользователю возможность "заставить" все приложения и устройства работать так, как хочется ему, не сталкиваясь при этом с непреодолимыми сложностями и помехами из-за ограничений, накладываемых аппаратно-программными комплексами.

Знакомство с My Services

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

Технология My Services, основанная на механизме аутентификации Microsoft .NET Passport, позволяет приложениям и службам работать совместно, с ее помощью пользователи или группы пользователей могут пользоваться общими ресурсами для достижения единой цели. Такую технологию можно рассматривать как "мост" между различными устройствами, приложениями и службами, обеспечивающий максимальный комфорт в информационном пространстве. Входящие в My Services службы могут доставлять информацию непосредственно адресату, будь то пользователь, работающий в Интернете, программное обеспечение, запущенное от имени пользователя, или устройство (все эти программы и устройства рассматриваются как узловые точки, называемые .NET My Services Endpoints). My Services - очередной логический шаг в развитии Web-служб, дополняющий стандарты SOAP и XML. По сути My Services представляет собой программные интерфейсы, основанные на SOAP.

Для Microsoft внедрение My Services знаменует новое направление деятельности, связанное с предоставлением услуг по обработке и доставке данных. Приложения независимых разработчиков, интегрированные с My Services, будут обеспечивать пользователям возможность работать с этими данными.

Microsoft .NET My Services - открытая платформа (она основана на технологии SOAP, а форматы обращения к службам описаны в специальных схемах XML), она может использоваться любыми службами, приложениями или устройствами, независимо от того, на каких платформах они реализованы, какие ОС, объектные модели и языки программирования в них применяются. Все службы на платформе My Services являются XML-ориентированными, для их работы не требуется дополнительных фирменных средств Microsoft. В действительности инфраструктура .NET, реализованная в таких продуктах, как Microsoft Visual Studio .NET, Microsoft .NET Framework и семейство Microsoft .NET Enterprise Servers, полностью поддерживает .NET My Services, предоставляя разработчикам практически неограниченные возможности использования служб в создаваемых приложениях. Следующий пример иллюстрирует использование сообщения SOAP для доступа к службам My Services (приведен запрос для получения данных пользователя от службы Microsoft .NET Profile):

<?xml version='1.0'?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:x="http://schemas.xmlsoap.org/rp"
xmlns:h="http://schemas.microsoft.com/hs/2001/10/core"
xmlns:ss="http://schemas.xmlsoap.org/soap/security/2000-12">

<s:Header>
  <x:path>
    <x:action>http://schemas.microsoft.com/hs/2001/10/core#request
                             </x:action>
<x:rev><x:via /></x:rev>
    <x:to>http://species8472</x:to>
    <x:id>35b4474a-a7d9-11d5-bf0e-00b0d0ccc121</x:id>
  </x:path>
  <ss:licenses>
    <h:identity mustUnderstand="1">
      <h:kerberos>1</h:kerberos>
    </h:identity>
  </ss:licenses>
  <h:request mustUnderstand="1" service="myServices" 
document="content" method="query" genResponse="always">
    <h:key instance="0" cluster="0" puid="3066" />
  </h:request>
</s:Header>
  <s:Body>
<queryRequest xmlns:mp = 
"http://schemas.microsoft.com/hs/2001/10/myProfile" 
xmlns:ms = "http://schemas.microsoft.com/hs/2001/10/myServices">
<xpQuery opId="1" select="/ms:myServices/
         ms:service[@name='myProfile']"/>
</queryRequest>
  </s:Body>
</s:Envelope>

Microsoft .NET My Services обеспечивает целостность и безопасность данных, используемых одновременно многими службами. Решения, построенные на основе My Services, взаимодействуют со всеми устройствами, используя интерфейс XMI (XML Message Interface).

Компоненты, входящие в состав Microsoft .NET My Services, перечислены в таблице.

Состав компонентов Microsoft .NET My Services

Компонент Описание
.NET Profile Организация работы с персональной информацией (например, имя, фамилия, адрес, дата рождения)
.NET Contacts Организация работы с контактами и адресными книгами
.NET Locations Организация и управление информацией географического характера
.NET Alerts Организация управления оповещениями и их маршрутизация
.NET Presence Управление информацией о занятости и доступности (режимы Online, Offline, Busy, Free)
.NET Inbox Работа с входящими сообщениями, например, голосовой или электронной почтой
.NET Calendar Планирование времени и управление заданиями
.NET Documents Организация хранения, сортировки и управления документами
.NET ApplicationSettings Хранение и управление настройками приложений
.NET FavoriteWebSites Управление избранными Web-узлами
.NET Wallet Управление платежным инструментарием, кассовыми чеками и купонами, обработка банковских транзакций
.NET Devices Управление настройками оборудования, хранение информации о совместимости устройств
.NET Services Управление службами, обеспечивающими целостность информации
.NET Lists Управление списками общего назначения, не указанными выше
.NET Categories Организация специализированных списков на основе выбранных категорий

В связи с тем, что служба Microsoft .NET Alerts должна появиться уже в ближайшем будущем, остановимся на ней немного подробнее. Эта служба была анонсирована 8 октября 2001 г. как средство получения уведомлений об обновлении информации с сайтов в Интернете - предполагается, что речь идет о часто обновляемых сайтах (например, содержащих биржевую информацию, информацию туристических агентств и т. п.). Внешний вид интерфейса настройки компонента Microsoft .NET Alerts, входящего в состав My Services, показан на рис. 1.

Fig.1 Рис. 1. Компонент Microsoft .Net Alerts.

Отметим следующие четыре ключевые особенности службы Microsoft .NET Alerts.

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

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

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

Безопасность. Microsoft обеспечивает безопасный обмен уведомлениями, используя протокол безопасности MD5 для пересылаемых пользователю сообщений. Microsoft гарантирует конфиденциальность данных, полученных при настройке и использовании службы Microsoft .NET Alerts.

На данный момент несколько десятков организаций уже проявили заинтересованность в поддержке Microsoft .NET Alerts и технологий, основанных на .NET, и объявили о готовности внедрять данный механизм в разрабатываемые приложения в ближайшем будущем. Среди них можно выделить компании eBay, Red Gate Software, Scala Business Solutions и т. д.

Архитектура Microsoft .NET My Services ориентирована на обеспечение целостности данных при взаимодействии различных совместно функционирующих служб. При этом для всех служб обеспечивается общее управление, обмен сообщениями и обработка ошибок. My Services можно рассматривать как динамическое, хорошо структурированное XML-хранилище. Встроенная модель безопасности My Services использует механизм аутентификации Kerberos, с помощью которого пользователь может контролировать, кто и с какой целью получает доступ к его данным, и в случае необходимости закрыть этот доступ.

Основываясь на опыте работы с такими Web-сайтами, как MSN и Microsoft.com, каждый из которых входит в десятку крупнейших Интернет-порталов, Microsoft провела серьезные исследования по вопросу обеспечения надежности, позаботившись о механизмах контроля над целостностью данных.

Microsoft позиционирует .NET My Services как основную платформу для развития бизнеса, которая предоставляет пользователям реальные услуги. Именно оплата пользователями этих услуг (на основе подписки) должна стать для Microsoft одним из основных источников доходов от My Services. Корпорация также рассчитывает получать плату от разработчиков за предоставление им инструментария. Планируется, что данная плата будет невысокой, чтобы наибольшее число разработчиков были заинтересованы в создании программ и служб Microsoft .NET My Services. Разработчикам будет предоставляться и некоторая техническая поддержка. Операторы служб Microsoft .NET My Services будут получать от Microsoft соответствующую лицензию, позволяющую им в полной мере применять My Services и гарантирующую стабильность работы для пользователей той или иной службы. Такие лицензии позволят оперативно выявлять и отключать от системы "компьютерных хулиганов".

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

Преимущества My Services для разработчиков

Технология My Services как часть .NET разрабатывалась с учетом дальнейшего расширения и развития ИТ-отрасли и, в частности, ориентировалась на то, чтобы предоставлять компаниям возможность создавать бизнес-модели и реализовывать готовые решения на этой платформе. Microsoft планирует развивать два основных направления программных разработок, использующих преимущества Microsoft .NET My Services. Это создание приложений, устройств и служб, использующих технологию Microsoft .NET My Services, и создание и развитие собственных служб, совместимых с решениями, построенными на My Services.

My Services должна избавить разработчиков от необходимости тратить время на создание сложных систем аутентификации пользователей, реализацию механизмов обработки ошибок и рассылки административных оповещений и т. п. Вместо этого они получат универсальное средство, позволяющее сосредоточиться на реализации конкретных функций, которые, кроме того, окажутся более быстрыми, дешевыми, надежными и простыми в управлении, чем предыдущие аналоги. Предполагается, что с помощью My Services компании смогут организовывать работу гораздо большего числа сотрудников, - им больше не потребуется установка дополнительного программного обеспечения, пользователи будут получать все необходимые программные средства в составе Microsoft .NET My Services.

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

Основные принципы

Безопасность

Модель секретности Microsoft .NET My Services, как и других служб Microsoft, совместима с существующими стандартами и соответствует нормативам, принятым в соглашении Code of Fair Information Practices, основополагающем для многих инициатив в данной области, таких, как Online Privacy Alliance, TRUSTe, BBBOnLine. Секретность и безопасность - это фундаментальные принципы, заложенные при проектировании архитектуры My Services.

Эта архитектура предусматривает определение прав любого пользователя или службы на доступ к данным, предоставление данных в общий доступ и контроль их использования, возможность закрытия доступа к данным в случае необходимости (тем самым обеспечиваются возможности контроля, обычно недоступные в Интернете). Кроме того, можно организовывать доступ к данным на ограниченный промежуток времени - по истечении указанного срока доступ будет автоматически заблокирован системой.

Microsoft также использует специальные лицензии .NET My Services, чтобы обеспечить секретность пользовательской информации. Корпорация "привязывает" такие лицензии к особым соглашениям, регламентирующим правомерность тех или иных операций над данными, полученными из источников My Services. Наконец, Microsoft обязуется не использовать в своих интересах, публиковать или продавать информацию пользователей без обязательного согласования с ними. Любая операция над данными может быть выполнена только с согласия владельца этой информации. Во избежание потенциальных конфликтов, связанных с секретностью данных, корпорация приняла решение не использовать рекламу в службах My Services.

Надо сказать, что Microsoft давно уже играет заметную роль в разработке стандартов секретности в Интернете. Корпорация стала членом советов директоров BBBOnLine и TRUSTe, сотрудничала с коалицией Internet Privacy Alliance, которая включает более 80 организаций, работающих в сфере защиты данных в Интернете. Microsoft продолжает близко работать с правительственными структурами в области технологий защиты данных.

Принцип открытого доступа

Любые устройства, службы или приложения, подключенные к Интернету и обладающие возможностью авторизации пользователей и обмена сообщениями SOAP, могут подключаться к My Services. Все взаимодействия представляют собой текстовые сообщения SOAP, независимо от используемой ОС, объектной модели или языка программирования.

Принцип расширяемости

Базовый набор перечисленных служб, входящих в My Services, обеспечит широкие возможности пользователям и разработчикам. Для разработчиков будут доступны и дополнительные службы, например, .Net Photos или .Net Portfolio.

Организация узловых точек

Корпорация Microsoft активно работает над созданием большого количества узловых точек (Endpoints) для .NET My Services. Это означает, что все продукты корпорации, от Microsoft Office до игр, будут совместимы с My Services. Узловыми точками станут и службы Microsoft, включая MSN и Microsoft bCentral, а также устройства типа игровой консоли Xbox или Pocket PC. Некоторые ОС корпорации, скажем, Windows XP и Windows CE, сами по себе являются узловыми точками My Services, что существенно облегчает разработчикам программных продуктов процесс создания совместимых приложений. К примеру, Windows XP включает механизм авторизации на основе аутентификации Microsoft .NET Passport. Таким образом, однократно зарегистрировавшись в системе, пользователь получает доступ ко всем службам My Services без дополнительной авторизации. К настоящему моменту в мире уже используется более 200 млн "паспортов" Microsoft. Внешний вид домашней страницы Microsoft .Net Passport отображен на рис. 2.

Fig.2 Рис. 2. Домашняя страница Microsoft .NET Passport.

Перспективы развития

Полноценная версия пакета My Services должна увидеть свет в 2003 г. Дополнительные службы будут доступны в Интернете сразу после завершения их разработки и тестирования. Пакет Microsoft .NET My Services разработан таким образом, чтобы оптимизировать процесс загрузки и установки дополнительных служб и расширений сразу после установки основного модуля приложения. На конференции для разработчиков Professional Developers Conference (PDC), прошедшей в октябре прошлого года в Лос-Анджелесе, впервые был представлен набор средств разработки Microsoft .NET My Services SDK Technical Preview. Этот набор предназначен прежде всего для бета-тестеров и программистов, которые планируют создавать решения на базе служб, входящих в состав My Services. Информацию о загрузке и использовании Microsoft .NET My Services SDK можно найти по адресу http://www.betaplace.com/betaplace/source/BPProgInfo.asp?ProgID=768000000&Page=docs\readme.htm.

Дополнительную информацию о Microsoft .NET My Services можно найти по адресу: http://www.microsoft.com/myservices/default.asp.