DotNet, которая должна изменить мир | Мир ПК | Издательство «Открытые системы»

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

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

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

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

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

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

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

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

Претендующая на всеохватность технология 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 — средства разработки приложений.

.net core

— это модульная реализация библиотеки и среды выполнения, в состав которой входит поднабор .NET Framework. .NET Core работает на Windows, Mac и Linux. Версия состоит из коллекции библиотек

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

Среда выполнения CoreCLR (Microsoft.CoreCLR) и библиотеки CoreFX распространяются через NuGet. Поскольку версия .NET Core представляет собой компонентизированный набор библиотек, вы можете ограничить количество API для своего приложения и использовать только нужные элементы.

Чтобы улучшить компонентизацию, в .NET Core был обновлен факторинг API. Иными словами, существующие библиотеки для .NET Framework придется перекомпилировать для выполнения в .NET Core. Экосистема .NET Core является относительно новой, но она быстро развивается благодаря поддержке популярных пакетов .NET (JSON.NET, AutoFac, xUnit.net и многие другие).

.net framework

.NET Framework — самая популярная и эффективная среда разработки из всех перечисленных выше. .NET Framework — это зрелая и полнофункциональная платформа, которая поставляется вместе с Windows. Экосистему .NET Framework разработчики используют уже много лет.

.NET Framework работает только на Windows. Кроме того, это монолитный компонент с множеством API и длительным циклом выпуска. Хотя код .NET Framework доступен для просмотра, эта платформа не является проектом с открытым исходным кодом.

Web-сервисы

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

:/>  Как сделать часы на рабочий стол на виндовс 10

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

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

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

Курсы:

Advanced .NET Threading

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

A Guide to Object-Oriented Practices

Если вы разработчик, который начал изучать объектно-ориентированные методы, и вам нужно больше примеров их применения, этот курс для вас! Исследуйте encapsulation, inheritance, interfaces и многое другое.

Серверные продукты 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 - сравнение проигрывателей для ПК

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

Среда dotnet (.net framework)

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

Технология 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, потребовались новые средства и технологии, среди которых наиболее заметными стали управляемое исполнение кода (managed execution) и новый язык программирования C#. Последнему сейчас уделяется излишнее внимание, и многие, говоря о dotNet, думают о C#, а ведь это, хотя и заметное, все же лишь одно из множества новшеств.

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

:/>  ChkDsk застрял на определенном% или зависает на определенной стадии 2021

Однако в 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.

Для всех желающих 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 приготовила еще немало сюрпризов и раскрыла не все карты. Так что следите за новостями…

ОБ АВТОРЕ

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

Adblock
detector