Софт

Dotnet Version 2

Рейтинг: 4.3/5.0 (379 проголосовавших)

Категория: Windows

Описание

DOTNET - Да или Нет

DOTNET - Да или Нет. С высоты птичьего полета.

Руководитель IT департамента любой сколько-нибудь развившейся и вставшей на ноги компании почти наверняка имеет мечту. Мечту, в которой его предприятие совершает все деловые операции со всеми партнерами исключительно электронным образом с использованием Интернет и в которой работники его департамента лишены головной боли, связанной с прохождением бизнес-процессов. В этой мечте все бизнес-процессы компании хорошо определены, стабильно исполняются, а также легко изменяемы и контролируемы как из локальной сети, так и с любого компьютера в Сети. Все работники компании имеют полный доступ к рабочей информации, электронной почте и личным документам из любой точки Земли независимо от того, пользуются ли они мобильным телефоном, Pocket PC, Ноутбуком или мощной рабочей станцией.

Понять и обсудить реалистичность этой мечты мы попробуем в серии статей под общим заголовком ".NET Architecture - Да или Нет?". Поскольку полный набор сервисов архитектуры .NET во многом будет строиться на базе сервисов уже реализованных в Microsoft Windows DNA 2000 (Distributed Network Applications), мы так или иначе коснемся всех серверов, входящих в DNA 2000, а также в разной степени затронем различные, уже более-менее оформившиеся, сервисы .NET. Следует сразу отметить, что вполне вероятна ситуация, когда после выпуска очередного продукта Microsoft станет ясным, что многое из анонсированного в бета-версиях там не реализовано. Мы постараемся отслеживать всю новую информацию, которая будет появляться в фирме Microsoft на тему .NET и гибко менять стратегию и темы статей.

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

Microsoft .NET: Интеграция, интеграция и еще раз интеграция.

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

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

Еще одна важная черта концепции .NET состоит в том, что она является механизмом позволяющим перейти от HTML-представлений данных к представлениям, дополненным программируемой информацией на базе языка XML (Extended Markup Language). Специфика XML состоит в том, что он полностью отделяет данные как таковые от их внешнего представления. Этот язык является ключевым элементом систем нового поколения, открывающим содержащую в них информацию для структурирования, редактирования и программирования ее обработок. Он позволяет доставлять данные гораздо более эффективным способом на широкий спектр цифровых устройств, позволяющих представлять целый комплекс взаимодействующих между собою служб.

В состав Microsoft .NET входят

  • платформа Microsoft .NET - включает в себя инфраструктуру .NET, инструментальные средства разработки и эксплуатации служб нового поколения, пользовательские среды на базе .NET для создания информационно-насыщенных клиентских систем, стандартные блоки служб .NET, а также программы для устройств .NET
  • Продукты и службы Microsoft .NET - к ним относятся ОС Windows .NET с интегрированным набором стандартных блоков служб, веб портал MSN.NET, оффисный комплект Office.NET, комплект разработчика Visual Studio .NET и веб-портал малого бизнеса bCentral для .NET
  • Службы .NET сторонних производителей - корпоративные и вертикальные службы

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

Фундамент .NET

Платформа .NET является первой, в которой полнофункционально реализована модель программирования со слабой связью, позволяющая разрабатывать web-службы на базе языка XML. Комплект инструментальных средств, предоставляемых платформой .NET, позволяет по единой технологии создавать службы, клиентские и серверные компоненты. Предлагаемая новая версия Visual Studio .NET автоматизирует создание web-служб в парадигме быстрой визуальной разработки приложений с помощью механизма "drag-and-drop", которая впервые была реализована в среде разработки Visual Basic - служб, способных работать на любой XML-ориентированной платформе.

Но самое главное, на наш взгляд, новшество в модели программирования Microsoft .NET состоит в том, что разработчики имеют возможность практически не задумываться на тему того, где и как будет работать их программное обеспечение и сосредоточиться на том, что оно будет делать. Эта платформа выводит ASP-компании (Application Service Provider) и технологию размещения приложений на новый уровень, обеспечивая интеграцию приложений-служб с другими приложениями, обычными или предлагаемыми через хостинг, индивидуальную настройку таких приложений, возможность программирования их возможностей пользователями и их запуска в автономном режиме. Кроме того, разработчики смогут использовать обширный набор базовых настраиваемых стандартных блоков служб Microsoft .NET для построения собственных приложений и служб. Имея возможность подписаться на эти базовые службы, появляется свобода выбора типа "купить готовое или сделать самим". В число базовых стандартных блоков служб Microsoft .NET войдут

  • Идентификация личности - опирается на Microsoft Passport и технологию аутентификации Windows и реализует самые различные уровни аутентификации, от паролей до смарт-карт (smart card) и биометрических устройств. Эта служба уже поддерживается в бета-версии Windows .NET "Whistler".
  • Уведомления и работа с сообщениями - интегрирует обмен сообщениями, электронную почту, голосовую почту и другие формы уведомления и работы с сообщениями в унифицированную общую среду, доступную на любом устройстве. Опирается на web-службу Hotmail, сервер Microsoft Exchange и Instant Messenger.
  • Хранилище XML данных - использует язык XML и потокол SOAP (Simple Object Access Protocol) для описания содержания данных, что позволяет обеспечивать их целостность при передаче и обработке. В результате web-узлы превращаются в службы, способные к гибкому взаимодействию. Microsoft .NET также предоставляет защищенное адресуемое пространство для хранения данных в Сети. В этой службе объединяются элементы NTFS, SQL Server, Exchange и MSN Communities.
  • Календарь - базис для безопасной интеграции календарей пользователей (рабочего, общественного и домашнего) таким образом, что они доступны для всех устройств, а также для других служб и физических лиц. Эта служба опирается на Microsoft Outlook и средства планирования Hotmail Calendar.
  • Каталоги и папки - поиск служб и людей в Сети. Каталоги .NET могут реализовывать программируемое взаимодействие со службами, отвечая на задаваемые по определенным схемам вопросы по возможностям этих служб
  • Динамическая доставка - позволяет компаниям-разработчикам предлагать динамические средства постепенного наращивания функциональности и автоматической модернизации по требованию Это позволяет избежать участия пользователя в процессах начальной установки и настройки. Такая инверсия традиционной модели развертывания приложений, требующей явного запуска процедур установки, является жизненной необходимостью в новой информационной среде.

Распределенные службы .NET будут доступны как в онлайновом, так и в автономном режиме. Различные экземпляры службы могут кооперироваться и обмениваться информацией с помощью процесса, называемого объединением (federation). Так, например, корпоративная служба каталога может объединяться с аналогичной Интернет-службой.

Стандартные блоки служб Microsoft .NET могут использоваться на всех платформах, поддерживающих XML. Windows является одной из первых сред для создания и предоставления таких web-сервисов, а Windows-клиенты будут оптимизироваться с точки зрения распространения web-служб на платформы любого типа. Microsoft Windows DNA 2000 уже предоставляет первую полнофункциональную поддерживающую XML инфраструктуру для построения и эксплуатации новых web-сервисов.

В следующей статье этой серии мы расскажем об основных "кирпичиках" будущей платформы и начнем описание уже существующих в Windows DNA 2000 серверов и сервисов, которые, по всей видимости, в той или иной форме будут присутствовать в Microsoft .NET

Оставить комментарий Комментарии

Dotnet version 2:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    Dotnet version 2

    Архитектура dot.Net Введение Весь компьютерный мир поделен на два лагеря - разработчиков ПО и пользователей, причем все представители первого всегда относятся и ко второму - они работают с чужими программами. Зачастую они мыслят по-разному, ведь одним нужны интересные проекты, другим - качественные программы. Но друг без друга они существовать не могут, и потому им приходится искать общий язык. Общим же для них является то, что современные технологии разработки программных продуктов ни тех, ни других совершенно не устраивают (хотя многие из них не признаются в этом). За последние годы стоимость компьютеров и аппаратного обеспечения упала в сотни раз, а производительность возросла в тысячи. Однако стоимость разработки ПО практически не изменилась. Почему? Каждый отвечает на этот вопрос по-своему, и к тому же всякий раз по-разному. Если же считать существующую систему разработки программ саморазвивающейся, то ответ лежит на поверхности - причины следует искать в современных технологиях. Как и в природе, где все закономерно, лучше других приспособлены к условиям среды обитания именно те формы, которые отвечают требованиям времени, т.е. жизнь сама выбирает, что лучше. В пользу этой версии свидетельствует и то, что технологии разработки ПО у разных производителей весьма схожи. Сейчас в компьютерном мире правит бал корпорация Microsoft. Но здесь не будем предаваться размышлениям на тему, хорошо это или плохо. Ругают или нет Windows, она все равно царит повсеместно. Ругают или нет серверные продукты Microsoft (SQL Server, Exchange Server и т.д.), а их доля на рынке постоянно возрастает. Не столь важно, чем такой успех обеспечен, - удачным маркетингом или отличными технологиями, сколь важно то, что появление огромного количества продуктов Microsoft на рынке приводит к качественным изменениям. Значит, уже можно говорить о том, что есть два компьютерных мира - Microsoft вместе с компаниями, идущими близким курсом, и все остальные. Почти во всех сферах своей деятельности Microsoft испытывает мощное противоборство: в области серверных ОС с ним соперничает Sun, в сфере создания продуктов для Internet - Apache, в СУБД - Oracle и другие производители. Однако ни один противник не способен противопоставить ей что-либо по всем фронтам. Поэтому в руках Microsoft оказался очень сильный козырь - ее неоспоримое преимущество, пользуясь которым она может попытаться изменить компьютерный мир и вывести его на новую ступень развития. Естественно, что ее устремления могут быть далеко не бескорыстны, но здесь интересно другое - можно ли изменить этот мир усилиями одной, пусть даже очень сильной компании. Подобная ситуация уже имела место примерно два десятилетия назад, в пору расцвета империи IBM. Однако ее американское правосудие быстро лишило возможности влиять на судьбы мира. Нечто подобное происходит сейчас и с Microsoft. Что такое и что дает dotNet? Отвечая на каждый вопрос, можно сказать, что dotNet - новая технология Microsoft, направленная на изменение компьютерного мира, а если говорить чуть подробнее, то это набор нескольких инициатив и технологий, программного обеспечения, стандартов и средств разработки. Основное преимущество dotNet для потребителя - реализация единого информационного пространства, соединяющего его с компьютерами и программами, а также ПО между собой. Разработчикам же она позволит просто и быстро создавать нужные продукты. Итак, ясно: чтобы получить полное представление о dotNet, нужно узнать, из чего она состоит и что дает. На сайте Microsoft (рис.1) всех интересующихся dotNet разделили на три категории (интересная классификация, не правда ли): пользователи и разработчики, профессионалы в области информационных технологий, бизнесмены, и для каждой предложили разъяснение, что дает dotNet именно ей. Рисунок 1. Первая страница сайта Microsoft, посвященного dotNet Разработчикам dotNet позволяет создавать мощные программы, использующие все возможности современных компьютеров и сетей без реализации вспомогательных функций (практически почти все эти функции берет на себя платформа), и заниматься только реализацией бизнес-логики своего продукта. Следовательно, они будут способны быстро создавать качественные (и простые!) программы, имеющие множество возможностей, интегрированных c Internet, столь необходимые пользователям. Это ведет к улучшению и удешевлению ПО, а также к уменьшению количества ошибок. Платформа dotNet также включает в себя и те серверные продукты, которые могут применять не только (и не столько) создатели ПО, но и разработчики сложных корпоративных информационных систем. Сейчас время бурного развития электронной коммерции. Имеющийся инструментарий создания сетевых торговых площадок уже не всегда удовлетворяет требованиям бизнеса. И при разработке новых средств для этой области основное слово должна сказать технология Web-сервисов (WebService). Рисунок 2. Структура платформы dotNet Претендующая на всеохватность технология dotNet должна состоять из множества компонентов, связанных между собой. Структура платформы dotNet (рис.2) делится на несколько частей: · Собственно операционная система, где исполняются приложения. Сейчас в качестве ОС предлагается Windows CE, ME или 2000 (среда исполнения (framework) dotNet там устанавливается отдельно), затем - следующая версия Windows под условным названием Windows.net, возможно, Whistler, а возможно, и следующая версия, Blackcomb. Система Net Framework будет поставляться и устанавливаться сразу с ОС. · Платформа для разработки офисных приложений Office.net (версия появится после готовящегося к выпуску пакета Office 2001). · MSN.net и bCentral.net - сетевые сервисы платформы dotNet для дома, а также малого и среднего бизнеса. · Enterprise Servers - серверные продукты, такие как Exchange 2000, SQL 2000, BizTalk Server 2000 и т.д. · Visual Studio.net - средства разработки приложений. Среда dotNet (.net Framework) К основным компонентам среды dotNet (рис.3) относятся операционная система, под управлением которой работает Среда исполнения общего языка (CLR, Common Language Runtime) и ее сервисы (библиотеки классов и библиотеки, поддерживающие технологии WebService, WebForms, WinForms и т.д.). Рисунок 3. Основные компоненты среды dotNet Технология dotNet позволяет упрощать создание программных компонентов и контролировать исполнение. Их можно разрабатывать на языках программирования Cи++, Visual Basic и совершенно новом языке C# фирмы Microsoft (его название произносится как "си-шарп", а если перевести с языка нотной записи, то как до-диез, т.е. тот же Cи или Cи++, но на полтона выше). Это достигается с помощью Среды исполнения общего языка. Если раньше все программы, кроме интерпретируемых, выполнялись непосредственно с помощью ОС и команд процессора, то с появлением CLR разработчики смогут выбирать, какие создавать продукты: либо выполняющиеся на свой страх и риск, самостоятельно оперирующие возможностями ОС и процессора, либо такие, за работой которых будет строго следить CLR, проверяя, правильно ли выделяются и вовремя ли высвобождаются ресурсы, не происходит ли недопустимых действий и т.д. Неконтролируемые (unmanaged) программы пишутся только на Cи++, а контролируемые (managed) - на Cи++, Visual Basic или C#. Но чудес не бывает - и контролируемые программы делаются только на подмножестве Cи++. Несколько примиряет с этим то, что теперь разрешено создавать класс на Cи++, наследовать от него в Visual Basic, а использовать на C#. Среда CLR напоминает и Java, и виртуальную машину Java с исполнением байт-кода, за исключением следующего: · Байт-код здесь называется промежуточным языком (Intermediate Language) и имеет открытую спецификацию, что дает надежду на перенос в CLR других языков программирования. · Программы можно создавать на нескольких языках одновременно, смешивая исходные тексты на уровне компонентов. · Благодаря поддержке ОС программы не интерпретируются при исполнении, а транслируются до этого (технология JIT compilation - just in time compilation), а затем функционируют уже обработанные модули. Причем применяются экономичные и производительные алгоритмы разбора и продукции, сохраняются откомпилированные модули и т.д. что позволяет в определенной степени предполагать отсутствие проблем, связанных с производительностью. Кроме того, CLR включает разнообразные средства, упрощающие разработку (отладчики, профайлеры и т.п.), распространение и поддержку программ (контроль версий, регистрация, использование мета-данных, и т.д.), а также их выполнение (прокси-серверы, контроль использования памяти, сборка мусора и др.). Серверные продукты dotNet Уже достаточно долгое время при разработке программ применяют сервисы, предоставляемые сторонним ПО, и делается это все чаще. Когда пришло понимание того, что проще один раз создать универсальное средство хранения информации и включать его в различные программы, нежели каждый раз изобретать новое, появились первые СУБД. Позже были реализованы средства для обеспечения совместной работы, например Lotus Notes и Exchange, которые, кроме того, служат и платформами для разработки. Затем вошли в обиход продукты, обеспечивающие доставку сообщений (Message Oriented Middleware), такие как IBM MQSeries и MSMQ. Они позволяют организовать обмен сообщениями в распределенной системе, имеющей разнородные (и подчас ненадежные) каналы связи. Их отличие от почтовых серверов заключается в том, что они ориентированы на обмен информацией не между людьми, а между различными частями программных систем. Наконец, одним из последних веяний стали серверы приложений и серверы интеграции приложений. Первые позволяют создавать масштабируемые решения из простых программных компонентов, предоставляя им готовые средства для создания кластеров, обеспечения распределенных транзакций, контроля доступа к общим ресурсам (в частности, соединение с базой данных) и т.д. Сервер интеграции приложений играет роль клея, являясь промежуточным звеном между существующими программными системами, помогая им преобразовывать данные и доставлять друг другу сообщения. Все шире применяется специализированное серверное программное обеспечение. Microsoft в системе dotNet лишь развивает это направление, оставив существующие продукты (Exchange и SQL) и добавив новые (BizТalk Server, Application Center 2000). Кратко опишем их возможности. · Microsoft Application Center 2000. Первая версия сервера приложений, сейчас находится в стадии бета-тестирования. · Microsoft BizTalk Server 2000. Первая версия сервера интеграции приложений, позволяющего реализовывать сложные бизнес-процессы как внутри одной организации, так и между несколькими (B2B). Сейчас проводится его бета-тестирование. · Microsoft Commerce Server 2000. Сервер для создания розничных электронных торговых площадок (B2C), развившийся из Microsoft Site Server. Тесно интегрирован с BizTalk Server. Находится в стадии бета-тестирования. · Microsoft Exchange 2000. Очередная версия популярного почтового сервера, правда, знатоки утверждают, что она отличается от предыдущей, как "Феррари" от "Запорожца". Включает в себя множество средств для создания решений в области управления знаниями и документооборота. Продукт уже вышел на рынок. · Microsoft Host Integration Server 2000. Следующая версия Microsoft SNA Server - сервера интеграции с мэйнфреймами. Сейчас в стадии бета-тестирования. · Microsoft Internet Security and Acceleration Server 2000. Значительно улучшенное и развитое по сравнению с Proxy Server 2.0 средство корпоративного доступа в Internet. Имеет большие возможности кэширования и организации корпоративной политики доступа. Пока пребывает в стадии бета-тестирования. · Microsoft Mobile Information 2001 Server. Один из самых последних серверных продуктов. Предоставляет возможности dotNet для мобильных устройств. Продукт еще на стадии проектирования, и не выпущено ни одной версии. · Microsoft Tahoe Server. Это средство для реализации корпоративных intranet-порталов на базе Web Storage - объектно-ориентированного хранилища неструктурированной или слабоструктурированной информации, например документов. Используется в Exchange Server для хранения почтовых сообщений. · Microsoft SQL Server 2000. Доработанная версия (вышел релиз) дает новые возможности для построения БД. Некоторые серверы, ранее бывшие отдельными продуктами, теперь вошли в состав Windows 2000, например Internet Information Server, ставший Internet Information Services, Certificate Server, MSMQ (Microsoft Message Queue Server), MTS (Microsoft Transaction Server) и т.д. Web-сервисы Описанные выше продукты, хотя и содержат довольно много новшеств, все же являются развитием существующих технологий. Действительно новой технологией dotNet стали Web-сервисы, реализация которых создаст в Сети среду автоматизированного ведения бизнеса. Представим себе типичный бизнес-процесс, когда взаимодействуют дистрибутор, дилеры и обслуживающий их банк. С помощью Web-сервисов их совместную работу можно было бы организовать таким образом. Банк устанавливает Web-сервис, позволяющий программно оперировать счетами (без пользовательского интерфейса). Дистрибутор создает Web-сервис, предоставляющий дилерам возможность получать информацию о наличии товара, возможностях доставки и текущих ценах. Кроме того, с помощью этого ПО можно программно заказать товары, не обращаясь к HTML-интерфейсу. Автоматизирующее работу фирмы-дилера приложение при поступлении заказов или отсутствии необходимого количества товара на складе автоматически (или под контролем пользователя) находит наиболее выгодные условия, формирует заказ, составляет план действия и после получения соответствующих указаний от человека осуществляет его. Контроль над исполнением заказа также может быть автоматизирован. Этот пример - всего лишь один из множества вариантов использования Web-сервисов в бизнесе. А если бы каждая компания программно предоставляла информацию о себе и своих услугах, тогда можно было бы создать трансконтинентальные конгломераты компаний, выстраивающих свои бизнес-процессы в цепочки, работающие без участия человека - лишь под его контролем. Технология Web-сервисов, предоставляющая открытые стандарты взаимодействия корпораций между собой, поможет позволить реализовывать межкорпоративные информационные системы без длительного согласования интерфейсов. Такие стандарты уже есть - HTTP как транспортный протокол, язык XML как средство представления информации и новый протокол SOAP взаимодействия программных компонентов в Internet. Средства и технологии разработки Чтобы создавать ПО для работы на платформе dotNet, потребовались новые средства и технологии, среди которых наиболее заметными стали управляемое исполнение кода (managed execution) и новый язык программирования C#. Последнему сейчас уделяется излишнее внимание, и многие, говоря о dotNet, думают о C#, а ведь это, хотя и заметное, все же лишь одно из множества новшеств. Язык C# достаточно похож по синтаксису и возможностям на Java (да простят меня адепты и Sun, и Microsoft) и давно служит желанной цели (уж очень давно к ней стремятся) - созданию языка, столь же мощного, как Cи++, но простого и безопасного. Можно назвать это и одним из проявлений борьбы между универсальностью и эффективностью, в которую включился и такой критерий, как простота использования. Однако в C# нет ничего, чего не встречается в других языках программирования. Технология доступа к данным ADO+ - это существенно переработанная версия ADO (Active Data Objects). От существующих технологий ее отличает (помимо того, что она имеет совершенно другую объектную модель) возможность распределенной работы благодаря использованию XML и строгая типизация. Кроме того, она обладает расширенными возможностями работы с неструктурированными или слабоструктурированными данными. Компоненты ASP+, WebForms и WinForms технологии dotNet отличаются новшествами в создании пользовательского интерфейса: WinForms предоставляют возможности для его разработки в локальных программах, ASP+ (Active Server Pages) и WebForms - в Internet. Технология WinForms развивает общепринятую тенденцию разработки библиотек классов пользовательского интерфейса, а ASP+ и WinForms привносят эти методы в программирование интерфейса в Web-решениях. Долгожданная версия средств разработки Visual Studio.net (рис.4) корпорации Microsoft целиком ориентирована на dotNet. Счастливчики уже этим летом могли увидеть и попробовать в работе Visual Studio.net. На конференции профессиональных разработчиков PDC (Professional Developers Conference), прошедшей в июле этого года, участникам были розданы диски с даже не бета-версией, а всего лишь с ознакомительным вариантом Visual Studio. Тем не менее продукт оказался достаточно стабильным и доработанным, на нем уже сейчас можно создавать ПО для платформы dotNet. (Пока готовилась статья, уже вышла в свет бета-версия Visual Studio.net. - Прим. ред. ) Рисунок 4. Среда разработки Visual Studio Для всех желающих Microsoft предоставил в открытом доступе набор средств разработки NGWS SDK (Next Generation Windows Services Software Developers Kit), куда входит не только сама.net Framework, но и универсальный компилятор, позволяющий создавать для нее программы на C#, (а также на C++ и Visual Basic). Он находится в свободном доступе на Web-сервере MSDN Online downloads. Следует также отметить наличие в Visual Studio.net единой среды разработки для перечисленных выше языков программирования, возможности управлять всей программной системой (состоящей из серверов, БД и т.д.) прямо из этой среды, и возросшее удобство работы. Отличие технологии dotNet от Java Практически все, познакомившись с dotNet, задаются вопросом: чем же этот набор технологий отличается от Java? С определенной натяжкой можно сказать, что dotNet - ответ Microsoft Sun. Microsoft сначала попыталась пойти по пути взаимодействия с Java, но не встретила отклика со стороны Sun. Видимо, многочисленные судебные разбирательства привели Microsoft к мысли, что проще разработать свою технологию, нежели пытаться принять и развить подходы, являющиеся собственностью другой, конкурирующей компании. Тем более что dotNet гораздо богаче Java и по идеям, и по возможностям реализации. Основной парадигмой Java была (и, судя по всему, остается) многоплатформность (отчасти надуманная), а у dotNet задачи несколько иные (хотя не отрицается и эта). К самому ощутимому минусу технологии dotNet (хотя я считаю это явным плюсом) можно отнести то, что в ней имеется множество отличий от всего ныне существующего. Значит, всем нам, особенно разработчикам ПО, придется адаптироваться к новым условиям и переучиваться. А у нас, судя по популярности консольных приложений и Turbo Pascal 7.0, которому посвящают все новые и новые книжки, овладевать чем-нибудь новым не очень-то любят. Правда, внушает оптимизм бурная реакция на появление dotNet со стороны производителей ПО - проявила интерес Corel (пусть и несколько вынужденный) и возникли слухи о переносе dotNet на Unix (слишком уж активно опровергаемые). Определенно, нас ждут интересные события в компьютерном мире - Microsoft приготовила еще немало сюрпризов и раскрыла не все карты. Вывод Dotnet - среда исполнения для приложений. С концептуальной точки зрения и некотором упрощении, её можно рассматривать как некоторую операционную систему, выполняемую под виртуальной машиной, система типов которой объектно-ориентирована и основана на метаданных. Код, рассчитанный на эту "виртуальную машину", называется управляемым. В дот.нет реализован автоматический сборщик мусора (а, точнее, на данный момент их существует три штуки), позволяющий уничтожить явную работу с памятью и математически доказать безопасность кода (единственная вещь, безопасность которой не может быть доказана статическим верификатором, это соблюдение границ массивов, их безопасность контролируется во время выполнения), хотя управляемый код может быть и небезопасным, то есть поддерживать указатели и явное управление памятью (в дот.нет тебуется специальная привиления на выпонение такого кода). Несмотря на то, что промежуточный код для "виртуальной машины" не является нативным, то есть не может быть выполнен компьютером напрямую, дот.нет код никогда не интерпретируется. Компиляция в нативный код осуществляется не статически, а во время выполнения, единица компиляции - метод. Методы компилируются по мере их вызова, скомпилированный код кешируется и используется повторно, что позволяет сделать компиляцию очень быстрой (пример - IDE MSVS, начиная с 2002). Такая схема делает код кросплатформенным и чрезвычайно эффективным (не поверите, но управляемый код зачастую работает быстрее неуправляемого), поскольку автоматически решается проблема, которая в Linux (если не принимать во внимание философию открытого софта) решается путём поставки приложений в виде исходного кода: приложение компилируется под конкретную программную и аппаратную архитектуру, под конкретный компьютер. Отличие от JVM состоит в том, что система типов.net полна и непротиворечива, а метаданные (в том числе, в виде атрибутов) открывают широчайшие возможности: генерацию кода на этапе компиляции и во время выполнения, синтез новых типов данных в рантайме, контроль над итоговой компиляцией (например, многопоточное приложение может быть скомпилировано так, чтобы количество потоков в нём было в точности равно количеству процессорных ядер) и многое другое. Список использованной литературы 1. http://codeguru. earthweb.com/nothingButNet/ - Колонка известного автора Джеффри Рихтера, посвященная dotNet 2. http://ru. wikipedia.org/wiki/.net_Framework - Материал из Википедии - свободной энциклопедии 3. http://www.microsoft.com/net - официальный сайт Microsoft, раздел.net 4. http://www.gotdotnet.ru/ - Сайт компании Microsoft для поддержки русскоязычных.net-разработчиков 5. www.firststeps.ru/dotnet/dotnet1.html - Разработка приложений в.net (основы). 6. http://msdn. microsoft.com/msdnmag/issues/0900/ - MSDN Magazine September 2000 (ранее известный как Microsoft Systems Journal), целиком посвященный dotNet 7. http://msdn. microsoft.com/code/sample. asp? url =/msdn-files/027/000/976/msdncompositedoc. xml - NET Framework SDK Technology Preview

    DotNet, которая должна изменить мир

    DotNet, которая должна изменить мир

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

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

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

    Сейчас в компьютерном мире правит бал корпорация Microsoft. Но здесь не будем предаваться размышлениям на тему, хорошо это или плохо. Ругают или нет Windows, она все равно царит повсеместно. Ругают или нет серверные продукты Microsoft (SQL Server, Exchange Server и т.д.), а их доля на рынке постоянно возрастает. Не столь важно, чем такой успех обеспечен, — удачным маркетингом или отличными технологиями, сколь важно то, что появление огромного количества продуктов Microsoft на рынке приводит к качественным изменениям. Значит, уже можно говорить о том, что есть два компьютерных мира — Microsoft вместе с компаниями, идущими близким курсом, и все остальные. Почти во всех сферах своей деятельности Microsoft испытывает мощное противоборство: в области серверных ОС с ним соперничает Sun, в сфере создания продуктов для Internet — Apache, в СУБД — Oracle и другие производители. Однако ни один противник не способен противопоставить ей что-либо по всем фронтам.

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

    Однако рассмотрим ситуацию исключительно с технической стороны. Microsoft выдвинула интересную инициативу, названную «.Net» (читается и пишется «dotNet» — «дотНет»). Так что же она собирается предпринять?

    Что такое и что дает dotNet?

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

    Итак, ясно: чтобы получить полное представление о dotNet, нужно узнать, из чего она состоит и что дает.

    На сайте Microsoft (рис. 1) всех интересующихся dotNet разделили на три категории (интересная классификация, не правда ли): пользователи и разработчики, профессионалы в области информационных технологий, бизнесмены, и для каждой предложили разъяснение, что дает dotNet именно ей.

    Рис. 1. Первая страница сайта Microsoft, посвященного dotNet

    Разработчикам dotNet позволяет создавать мощные программы, использующие все возможности современных компьютеров и сетей без реализации вспомогательных функций (практически почти все эти функции берет на себя платформа), и заниматься только реализацией бизнес-логики своего продукта. Следовательно, они будут способны быстро создавать качественные (и простые!) программы, имеющие множество возможностей, интегрированных c Internet, столь необходимые пользователям. Это ведет к улучшению и удешевлению ПО, а также к уменьшению количества ошибок.

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

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

    Рис. 2. Структура dotNet

    Претендующая на всеохватность технология dotNet должна состоять из множества компонентов, связанных между собой. Структура платформы dotNet (рис. 2) делится на несколько частей:

    • Собственно операционная система, где исполняются приложения. Сейчас в качестве ОС предлагается Windows CE, ME или 2000 (среда исполнения (framework) dotNet там устанавливается отдельно), затем — следующая версия Windows под условным названием Windows.Net, возможно, Whistler, а возможно, и следующая версия, Blackcomb. Система Net Framework будет поставляться и устанавливаться сразу с ОС.
    • Платформа для разработки офисных приложений Office.Net (версия появится после готовящегося к выпуску пакета Office 2001).
    • MSN.Net и bCentral.Net — сетевые сервисы платформы dotNet для дома, а также малого и среднего бизнеса.
    • Enterprise Servers — серверные продукты, такие как Exchange 2000, SQL 2000, BizTalk Server 2000 и т. д.
    • Visual Studio.Net — средства разработки приложений.
    Среда dotNet (.Net Framework)

    К основным компонентам среды dotNet (рис. 3) относятся операционная система, под управлением которой работает Среда исполнения общего языка (CLR, Common Language Runtime) и ее сервисы (библиотеки классов и библиотеки, поддерживающие технологии WebService, WebForms, WinForms и т. д.).

    Рис. 3. Основные компоненты среды dotNet

    Технология dotNet позволяет упрощать создание программных компонентов и контролировать исполнение. Их можно разрабатывать на языках программирования Cи++, Visual Basic и совершенно новом языке C# фирмы Microsoft (его название произносится как «си-шарп», а если перевести с языка нотной записи, то как до-диез, т. е. тот же Cи или Cи++, но на полтона выше). Это достигается с помощью Среды исполнения общего языка. Если раньше все программы, кроме интерпретируемых, выполнялись непосредственно с помощью ОС и команд процессора, то с появлением CLR разработчики смогут выбирать, какие создавать продукты: либо выполняющиеся на свой страх и риск, самостоятельно оперирующие возможностями ОС и процессора, либо такие, за работой которых будет строго следить CLR, проверяя, правильно ли выделяются и вовремя ли высвобождаются ресурсы, не происходит ли недопустимых действий и т. д. Неконтролируемые (unmanaged) программы пишутся только на Cи++, а контролируемые (managed) — на Cи++, Visual Basic или C#. Но чудес не бывает — и контролируемые программы делаются только на подмножестве Cи++. Несколько примиряет с этим то, что теперь разрешено создавать класс на Cи++, наследовать от него в Visual Basic, а использовать на C#.

    Среда CLR напоминает и Java, и виртуальную машину Java с исполнением байт-кода, за исключением следующего:

    • Байт-код здесь называется промежуточным языком (Intermediate Language) и имеет открытую спецификацию, что дает надежду на перенос в CLR других языков программирования.
    • Программы можно создавать на нескольких языках одновременно, смешивая исходные тексты на уровне компонентов.
    • Благодаря поддержке ОС программы не интерпретируются при исполнении, а транслируются до этого (технология JIT compilation — just in time compilation), а затем функционируют уже обработанные модули. Причем применяются экономичные и производительные алгоритмы разбора и продукции, сохраняются откомпилированные модули и т. д. что позволяет в определенной степени предполагать отсутствие проблем, связанных с производительностью.

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

    Серверные продукты dotNet

    Уже достаточно долгое время при разработке программ применяют сервисы, предоставляемые сторонним ПО, и делается это все чаще. Когда пришло понимание того, что проще один раз создать универсальное средство хранения информации и включать его в различные программы, нежели каждый раз изобретать новое, появились первые СУБД.

    Позже были реализованы средства для обеспечения совместной работы, например Lotus Notes и Exchange, которые, кроме того, служат и платформами для разработки.

    Затем вошли в обиход продукты, обеспечивающие доставку сообщений (Message Oriented Middleware), такие как IBM MQSeries и MSMQ. Они позволяют организовать обмен сообщениями в распределенной системе, имеющей разнородные (и подчас ненадежные) каналы связи. Их отличие от почтовых серверов заключается в том, что они ориентированы на обмен информацией не между людьми, а между различными частями программных систем.

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

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

    Все шире применяется специализированное серверное программное обеспечение. Microsoft в системе dotNet лишь развивает это направление, оставив существующие продукты (Exchange и SQL) и добавив новые (BizТalk Server, Application Center 2000). Кратко опишем их возможности.

    • Microsoft Application Center 2000. Первая версия сервера приложений, сейчас находится в стадии бета-тестирования.
    • Microsoft BizTalk Server 2000. Первая версия сервера интеграции приложений, позволяющего реализовывать сложные бизнес-процессы как внутри одной организации, так и между несколькими (B2B). Сейчас проводится его бета-тестирование.
    • Microsoft Commerce Server 2000. Сервер для создания розничных электронных торговых площадок (B2C), развившийся из Microsoft Site Server. Тесно интегрирован с BizTalk Server. Находится в стадии бета-тестирования.
    • Microsoft Exchange 2000. Очередная версия популярного почтового сервера, правда, знатоки утверждают, что она отличается от предыдущей, как «Феррари» от «Запорожца». Включает в себя множество средств для создания решений в области управления знаниями и документооборота. Продукт уже вышел на рынок.
    • Microsoft Host Integration Server 2000. Следующая версия Microsoft SNA Server — сервера интеграции с мэйнфреймами. Сейчас в стадии бета-тестирования.
    • Microsoft Internet Security and Acceleration Server 2000. Значительно улучшенное и развитое по сравнению с Proxy Server 2.0 средство корпоративного доступа в Internet. Имеет большие возможности кэширования и организации корпоративной политики доступа. Пока пребывает в стадии бета-тестирования.
    • Microsoft Mobile Information 2001 Server. Один из самых последних серверных продуктов. Предоставляет возможности dotNet для мобильных устройств. Продукт еще на стадии проектирования, и не выпущено ни одной версии.
    • Microsoft Tahoe Server. Это средство для реализации корпоративных intranet-порталов на базе Web Storage — объектно-ориентированного хранилища неструктурированной или слабоструктурированной информации, например документов. Используется в Exchange Server для хранения почтовых сообщений.
    • Microsoft SQL Server 2000. Доработанная версия (вышел релиз) дает новые возможности для построения БД.

    Некоторые серверы, ранее бывшие отдельными продуктами, теперь вошли в состав Windows 2000, например Internet Information Server, ставший Internet Information Services, Certificate Server, MSMQ (Microsoft Message Queue Server), MTS (Microsoft Transaction Server) и т.д.

    Web-сервисы

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

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

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

    Технология Web-сервисов, предоставляющая открытые стандарты взаимодействия корпораций между собой, поможет позволить реализовывать межкорпоративные информационные системы без длительного согласования интерфейсов. Такие стандарты уже есть — HTTP как транспортный протокол, язык XML как средство представления информации и новый протокол SOAP взаимодействия программных компонентов в Internet. (см. «Мир ПК» 12/2000, с.154)

    Средства и технологии разработки

    Чтобы создавать ПО для работы на платформе dotNet, потребовались новые средства и технологии, среди которых наиболее заметными стали управляемое исполнение кода (managed execution) и новый язык программирования C#. Последнему сейчас уделяется излишнее внимание, и многие, говоря о dotNet, думают о C#, а ведь это, хотя и заметное, все же лишь одно из множества новшеств.

    Язык C# достаточно похож по синтаксису и возможностям на Java (да простят меня адепты и Sun, и Microsoft) и давно служит желанной цели (уж очень давно к ней стремятся) — созданию языка, столь же мощного, как Cи++, но простого и безопасного. Можно назвать это и одним из проявлений борьбы между универсальностью и эффективностью, в которую включился и такой критерий, как простота использования.

    Однако в C# нет ничего, чего не встречается в других языках программирования.

    Технология доступа к данным ADO+ — это существенно переработанная версия ADO (Active Data Objects). От существующих технологий ее отличает (помимо того, что она имеет совершенно другую объектную модель) возможность распределенной работы благодаря использованию XML и строгая типизация. Кроме того, она обладает расширенными возможностями работы с неструктурированными или слабоструктурированными данными.

    Компоненты ASP+, WebForms и WinForms технологии dotNet отличаются новшествами в создании пользовательского интерфейса: WinForms предоставляют возможности для его разработки в локальных программах, ASP+ (Active Server Pages) и WebForms — в Internet. Технология WinForms развивает общепринятую тенденцию разработки библиотек классов пользовательского интерфейса, а ASP+ и WinForms привносят эти методы в программирование интерфейса в Web-решениях.

    Рис. 4. Среда разработки Visual Studio

    Долгожданная версия средств разработки Visual Studio.Net (рис. 4) корпорации Microsoft целиком ориентирована на dotNet. Счастливчики уже этим летом могли увидеть и попробовать в работе Visual Studio.Net. На конференции профессиональных разработчиков PDC (Professional Developers Conference), прошедшей в июле этого года, участникам были розданы диски с даже не бета-версией, а всего лишь с ознакомительным вариантом Visual Studio. Тем не менее продукт оказался достаточно стабильным и доработанным, на нем уже сейчас можно создавать ПО для платформы dotNet. (Пока готовилась статья, уже вышла в свет бета-версия Visual Studio.Net. — Прим. ред. )

    Для всех желающих Microsoft предоставил в открытом доступе набор средств разработки NGWS SDK (Next Generation Windows Services Software Developers Kit), куда входит не только сама .Net Framework, но и универсальный компилятор, позволяющий создавать для нее программы на C#, (а также на C++ и Visual Basic). Он находится в свободном доступе на Web-сервере MSDN Online downloads.

    Следует также отметить наличие в Visual Studio.Net единой среды разработки для перечисленных выше языков программирования, возможности управлять всей программной системой (состоящей из серверов, БД и т.д.) прямо из этой среды, и возросшее удобство работы.

    Практически все, познакомившись с dotNet, задаются вопросом: чем же этот набор технологий отличается от Java? С определенной натяжкой можно сказать, что dotNet — ответ Microsoft Sun. Microsoft сначала попыталась пойти по пути взаимодействия с Java, но не встретила отклика со стороны Sun. Видимо, многочисленные судебные разбирательства привели Microsoft к мысли, что проще разработать свою технологию, нежели пытаться принять и развить подходы, являющиеся собственностью другой, конкурирующей компании. Тем более что dotNet гораздо богаче Java и по идеям, и по возможностям реализации. Основной парадигмой Java была (и, судя по всему, остается) многоплатформность (отчасти надуманная), а у dotNet задачи несколько иные (хотя не отрицается и эта). К самому ощутимому минусу технологии dotNet (хотя я считаю это явным плюсом) можно отнести то, что в ней имеется множество отличий от всего ныне существующего. Значит, всем нам, особенно разработчикам ПО, придется адаптироваться к новым условиям и переучиваться. А у нас, судя по популярности консольных приложений и Turbo Pascal 7.0, которому посвящают все новые и новые книжки, овладевать чем-нибудь новым не очень-то любят.

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

    Александр Ложечкин — системный аналитик компании Digital Design, e-mail: alozhechkin@hotmail.com

    Для тех, кто хочет узнать больше

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

    Общие сведения
    • Начать, я думаю, стоит с Web-страницы dotNet: http://www.microsoft.com/net/
    • Колонка известного автора Джеффри Рихтера, посвященная dotNet: http://codeguru.earthweb.com/nothingButNet/
    • MSDN Magazine September 2000 (ранее известный как Microsoft Systems Journal), целиком посвященный dotNet: http://msdn.microsoft.com/msdnmag/issues/0900/
    • NET Framework SDK Technology Preview: http://msdn.microsoft.com/code/sample.asp?url =/msdn-files/027/000/976/msdncompositedoc.xml
    • Почтовая рассылка о .Net: http://discuss.develop.com
    Серверные продукты dotNet
    • Страница, посвященная серверам dotNet: http://www.microsoft.com/servers/net/default.htm
    Средства и технологии разработки
    • Коллекция ссылок на информацию о dotNet в MSDN: http://msdn.microsoft.com/net/
    • Сведения о следующей версии Visual Studio: http://msdn.microsoft.com/vstudio/nextgen/
    • Joshua Trupin. Sharp New Language: C# Offers the Power of C++ and Simplicity of Visual Basic: http://msdn.microsoft.com/msdnmag/ issues/0900/csharp/csharp.asp
    • Dave Sussman. Active Server Pages+: ASP+ Improves Web App Deployment, Scalability, Security, and Reliability: http://msdn.microsoft.com/msdnmag/ issues/0900/ASPPlus/ASPPlus.asp
    • Dave Mendlen. Visual Studio .NET: Build Web Applications Faster and Easier Using Web Services and XML: http://msdn.microsoft.com/msdnmag/ issues/0900/VSNET/VSNET.asp
    • Dino Esposito. ADO+ Guides the Evolution of the Data Species: http://msdn.microsoft.com/library/default.asp?URL=/ library/techart/adoplus.htm
    • Omri Gazitt. Introducing ADO+: Data Access Services for the Microsoft .NET Framework: http://msdn.microsoft.com/msdnmag/issues/1100/ adoplus/adoplus.asp