Опубликован: 09.01.2004 | Уровень: для всех | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 3:

Концепция и возможности подхода .NET

< Лекция 2 || Лекция 3: 12 || Лекция 4 >
Аннотация: В лекции рассматриваются вопросы, относящиеся к идеологии, технологии и обзору практических возможностей создания программных систем на основе наиболее современного подхода к проектированию и реализации программного обеспечения, известного под названием Microsoft .NET.
Ключевые слова: net, идеология, технологическая платформа, развертывание приложений, интеграция приложений, безопасность, компонентно-ориентированный подход, интеграция, повторное использование, среда вычислений, объект, система типизации, Common Type System, CTS, Internet, Web-сервис, универсальные интерфейсы, COBOL, FORTRAN, visual, Basic, финансовая деятельности, масштабируемость, интероперабельность, программа, унификация, приложение, application programming, interface, ECMA, computer, association, CLR, Common Language Runtime, Common Language Infrastructure, CLI, программное обеспечение, рекурсия, символьная обработка, предметной области, опыт, язык программирования, отладка, анализ, мера, жизненный цикл программного обеспечения, сборка мусора, автоматизация, значение, инициализация, промежуточный код, intermediate language, корректность, контроль соответствия типов, права доступа, ограничение доступа, коммерческая информация, цикла, сборка, компонентная технология, затраты, манифест, политика использования, доступ, поддержка, SML, scheme, система типов, управление памятью, путь, Windows, корпорация, компилятор, Oracle, developer, список

Попытаемся найти ответ на вопрос: что такое .NET? Несмотря на популярность термина, однозначно ответить непросто, прежде всего по той причине, что ответ представляется многоаспектным.

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

  1. идеология проектирования и реализации программного обеспечения;
  2. модель эффективной поддержки жизненного цикла прикладных систем;
  3. унифицированная, интегрированная технологическая платформа для программирования;
  4. современный, удобный в использовании, безопасный инструментарий для создания, развертывания и поддержки программного обеспечения.

Остановимся подробнее на каждом из этих аспектов.

Прежде всего, постараемся объяснить идеологию подхода Microsoft .NET.

Самой корпорацией-разработчиком сформулированы приблизительно следующие важнейшие аспекты видения (vision) идеологии. NET:

  1. легкость развертывания приложений в глобальной среде Internet;
  2. экономичная разработка программного обеспечения;
  3. "бесшовная", гибкая интеграция программных продуктов и аппаратных ресурсов;
  4. предоставление программного обеспечения как сервиса;
  5. новый уровень безопасности и удобства использования.

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

Рассмотрим подробнее, как идеология .NET претворяется в практические вопросы проектирования программного обеспечения.

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

Существенным преимуществом является и возможность практической реализации принципа "всякая сущность представляет собой объект гетерогенной программной среды". Во многом это стало реализуемым благодаря усовершенствованной, обобщенной системе типизации Common Type System, или CTS, которая будет подробнее рассмотрена в одной из следующих лекций.

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

Новый подход к интеграции компонентов приложений в среде вычислений Internet (или так называемые web-сервисы ) дает возможность ускоренного создания приложений для глобальной аудитории пользователей.

Универсальный интерфейс .NET Framework обеспечивает интегрированное проектирование и реализацию компонентов приложений, разработанных в соответствии с различными подходами к программированию.

Говоря о .NET как о технологической платформе, нельзя не отметить тот факт, что она обеспечивает одновременную поддержку проектирования и реализации программного обеспечения с использованием различных языков программирования. При этом поддерживаются десятки языков программирования, начиная от самых первых (в частности, COBOL и FORTRAN) и заканчивая современными (например, C# и Visual Basic). Ранние языки программирования до сих пор активно используются, в частности, для обеспечения совместимости с ранее созданными приложениями (скажем, COBOL весьма широко применялся для создания прикладных программ, поддерживающих финансовую деятельность).

Технология web-сервисов – это не просто дань моде на Internet, а реальная (и, пожалуй, наиболее приемлемая практически) возможность обеспечения масштабируемости и интероперабельности приложений. Под масштабируемостью понимают возможность плавного роста времени ответа программной системы на запрос с ростом числа одновременно работающих пользователей; в случае web-сервисов масштабируемость реализуется посредством распределения вычислительных ресурсов между сервером, на котором выполняется прикладная программа (или хранятся данные), и компьютером пользователя.

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

Немаловажно отметить и то обстоятельство, что новая технология .NET не только востребована мировой общественностью, но и официально признана, что отражено в соответствующих стандартах ECMA (European Computer Manufacturers Association).

< Лекция 2 || Лекция 3: 12 || Лекция 4 >
Овик Бадалян
Овик Бадалян
Армения, Степанакерт
Алексей Кузнецов
Алексей Кузнецов
Россия