Немного истории

Определение

Тема 14. Обзор технологий DCOM, .NET

В соответствии с определением, Microsoft .Net – это среда выполнения Web-приложений в ОС Windows 2000.

Цель создания .Net все та же - сократить и упростить разработку, внедрение и поддержку распределенных программных систем. Ограничение – системы должны работать на ОС Windows. Хотя это – ограничение, скорее всего, временное.

Изначально под программированием под Windows подразумевалось программирование на языке «С» с использованием Windows Application Programming Interface (API) – интерфейс прикладного программирования Windows (набор встроенных функций и процедур). Такое программирование было по силам не каждому программисту, хотя и давало практически неограниченные возможности. В итоге – так написанные приложения практически всегда содержат ошибки.

С появлением объектно-ориентированного языка «С++» положение несколько улучшилось: в распоряжение программистов были переданы библиотеки классов. Одна из самых распространенных библиотек носит название Microsoft Foundation Classes (MFC). Эта библиотека – дополнительный уровень над Win32 API, который значительно упрощает работу программиста за счет использования готовых классов, макросов, мастеров.

Гораздо проще и дружелюбнее, чем «С», язык Visual Basic. На VB можно работать с такими сложными конструкциями, как COM-сервера. Но у VB есть недостатки. Во-первых, гораздо меньшие возможности, хотя следует заметить, что в VB.Net положение несколько улучшилось. Кроме того, VB не является объектно-ориентированным языком в классическом понимании. В нем нет наследования, нет поддержки создания параметризованных классов, нет собственных средств создания многопоточных приложений и т.п.

Язык Java – полностью объектно-ориентированный язык, лишенный некоторых «опасных» конструкций «С». Как платформа Java предоставляет большое количество библиотек классов и интерфейсов. Недостаток – все компоненты приложения должны быть написаны на Java, так как в языке предусмотрено немного средств межъязыкового взаимодействия. Ограниченные в Java низкоуровневые средства общения с оборудованием компьютера не позволяют написать некоторые приложения (например, графика), работающие так же эффективно, как приложения, написанные на «С».

Технология COM более лояльна к языкам программирования. К объекту COM можно обратиться из программы на любом языке. Это не удивительно, потому что объекты хранятся в двоичном виде и строго регламентирован интерфейс. Тем не менее, существуют ограничения. Например, все то же отсутствие наследования: нельзя сформировать новый тип, базирующийся на некотором COM объекте. Большое преимущество технологии COM состоит в том, что программист может не заботиться о местонахождении сервера COM, специальные средства операционной системы и компиляторов позволяют избежать низкоуровневого общения с сокетами, вызовами удаленных процедур и т.п. Но всех сложностей избежать не удается и часто приходится решать вопросы с регистрацией компонентов, с развертыванием приложений на компьютере и т.п.

В связи с бурным развитием Интернет Microsoft добавила в свои операционные системы большое количество средств для создания Интернет – приложений. К сожалению, использование технологии Windows Distributed Internet Architecture (распределенная межсетевая архитектура) весьма трудоемко, так как предполагает на самом деле использование нескольких очень разных технологий и языков (ASP, HTML, XML, JavaScript, VBScript, COM(+), ADO и т.п.). Кроме того, остался совершенно непродуманным вопрос о совместимости данных: система типов в каждом языке своя, и нет драйверов – переводчиков.