30508

Сравнение компонентно-объектной модели, среды .NET и Java. Их преимущества и недостатки

Доклад

Математика и математический анализ

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

Русский

2013-08-24

25.5 KB

25 чел.

  1.  Сравнение компонентно-объектной модели, среды .NET и Java. Их преимущества и недостатки.

Ответ:

Одним из принципиальных технологических преимуществ проектирования и реализации

программного обеспечения, декларируемых Microsoft, является так называемый

компонентный подход к программированию.

В своей основе указанный подход совпадает с традиционным объектно-ориентированным,

однако имеет ряд важных особенностей.

Центральной концепцией подхода (и это очевидно уже из названия) является понятие

компонента.

Под компонентом в дальнейшем будем понимать независимый модуль программного

обеспечения, который возможно повторно использовать, а также тиражировать.

В отличие от «традиционных» объектов ООП компоненты обладают следующими

характеристическими свойствами:

• в целом компонент обладает более высоким уровнем абстракции по сравнению с

объектом (если под последним понимается конструкция уровня языка

программирования);

• компоненты могут содержать в своем составе множественные классы;

• компоненты с точки зрения пользователя являются инвариантами по отношению к

тому языку программирования, на котором они реализованы.

Таким образом, оказывается, что в общем случае разработчик и пользователь компонента

могут быть территориально разделены и могут использовать различные языки

программирования в рамках единой среды разработки приложений Microsoft .NET.

Заметим, что попытки построения компонентных программных систем предпринимались и рядом других компаний – разработчиков программного обеспечения (в частности, технология JavaBeans производства Sun Microsystems), а также международных ассоциаций, объединяющих усилия исследователей и практиков в области объектного программирования (например, стандарт брокеров объектных запросов CORBA организации Object Management Group, или OMG).

В основе таких попыток лежали варианты объектных моделей. Один из подобных

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

Охарактеризуем компонентную модель Microsoft, которая обычно

именуется в литературе аббревиатурой COM (что происходит от слов Component Object Model).

Компонентная объектная модель COM является основным стандартом Microsoft для компонентного проектирования и реализации программного обеспечения. На сегодня это самая развитая, и, пожалуй, самая удачная в практическом плане модель, которая практически обеспечивает возможность инициализации и использования компонентов как внутри одного процесса, так и между процессами или между компьютерами независимо от языка реализации. COM-модель поддерживается в идеологии .NET для целого ряда языков программирования (C#, SML, Visual Basic, C++ и др.), является основой для ActiveX, OLE, а также для многих других технологий Microsoft.

Идеология .NET заключается в максимально полном использовании ресурсов платформы, на которой работает среда выполнения .NET. В результате возможности Java ограничены усредненным набором функций API виртуальной машины, и программистам на Java недоступны все функции той или иной платформы, на которой выполняются приложения. В случае с .NET среда выполнения предоставляет доступ к специфичным возможностям Microsoft Windows, позволяя приложению тесно взаимодействовать с операционной системой и пользоваться всеми преимуществами платформы Windows, например прозрачно работать с COM-объектами, службами Window (в частности, Active Directory), кроме того, пользователь имеет дело с удобным и привычным графическим интерфейсом Windows. Разумеется, при использовании Java можно «докопаться» до возможностей платформы, но зачастую это требует написания большого количества нетривиального кода.

В отличие от СОМ, модель Java Beans, базовый стандарт Sun Microsystems для компонент, оказывается зависимой от языка реализации.

Не менее важна доступность средств разработки. Для .NET имеется интегрированная среда разработки Visual Studio, позволяющая писать приложения, задействуя весь функционал платформы .NET и Microsoft Windows. В Visual Studio существуют встроенные средства для отладки настольных и Web-приложений, включая отладку кода клиентских скриптовых языков, выполняемых в Web-браузере, и отладку приложений для мобильных устройств с использованием программных эмуляторов. Более того, есть несколько редакций среды разработки Visual Studio, обладающие расширенным набором возможностей для различных ролей участников проекта, таких как архитектор, разработчик, специалист по тестированию и разработчик баз данных. Вместе с серверным решением для обеспечения процесса разработки программного обеспечения Team Foundation Server данные инструменты позволяют писать высококачественные приложения в весьма сжатые сроки.

Поскольку большинство современных настольных компьютеров работают под управлением операционной системы Microsoft Windows, сообщество пользователей Windows и разработчиков для этой операционной системы воистину огромно. В связи с этим регулярно появляются оригинальные решения сообщества, которые могут быть интегрированы с решениями, создаваемыми для Windows. В то же время значительную часть сообщества разработчиков на Java составляют приверженцы UNIX/Linux-платформ, многие из которых сильно различаются между собой. Поскольку платформа .NET тесно интегрируется с Windows, то опыт, накопленный сообществом пользователей Windows, полноценно переносится на базу .NET. Для разработчика под Windows в значительной степени проще перейти к использованию платформы .NET, чем Java, и возникает банальная проблема поиска кадров и обучения сотрудников при попытке создавать и поддерживать Java-приложения на платформе Windows. Преимущества Microsoft-ориентированной инфраструктуры в этом случае связаны даже не столько с опытом пользователя операционной системы Windows, сколько с наличием полного спектра легко интегрируемых решений Microsoft – от офисных пакетов, серверов приложений и баз данных до мощных CRM- и ERP-приложений.

Доска:

JavaBeans — классы в языке Java, написанные по определённым правилам. Они используются для объединения несколькихобъектов в один для удобной передачи данных.

Спецификация Sun Microsystems определяет JavaBeans как повторно используемые программные компоненты, которыми можно управлять, используя графические конструкторы и средства IDE.

.NET – это подход к проектированию и реализации

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

компонента:

1) идеология проектирования и реализации программного обеспечения;

2) модель эффективной поддержки жизненного цикла прикладных систем;

3) унифицированная, интегрированная технологическая платформа для программирования;

4) современный, удобный в использовании, безопасный инструментарий для

создания, размещения и поддержки программного обеспечения.

Дополнительно:

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

Во-первых, разработчики отмечают достаточно высокие требования к аппаратному обеспечению (в частности, объем оперативной памяти должен быть не менее 256 мегабайт, свободный объем жесткого диска для работы с Microsoft Visual Studio .NET– не менее 10 гигабайт).

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

Поддержка ряда теоретически интересных и практически полезных языков

программирования реализована в ограниченном объеме (скажем, компилятор для языка программирования SML для Visual Studio .NET находится в процессе реализации).

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

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

При работе с реальным проектом необходимо учитывать область применения той или иной технологии. COM (как цельное и комплексное решение) способен функционировать только под Windows NT/Windows2000. Рассуждения о переносе COM на другие операционные системы в настоящий момент носят скорее рекламный характер. Ни компонентная модель COM (т.е. ActiveX), ни монитор транзакций (Microsoft Transaction Server, MTS) не способны работать нигде, кроме Windows, и сама Microsoft не проявляет никакой активности в этом напрвлении (вопросами переноса тех или иных элементов COM на другие платформы занимается консорциум Open Group).

Помимо чисто технологических аспектов, при принятии решения необходимо оценить затраты на закупку необходимого программного обеспечения, его сопровождения и обучение персонала. COM  официально является бесплатной технологией. Вы получаете все необходимое, просто приобретя, например, Windows NT Server.

Наличие готовых серверов приложений, пригодных для решения вашей задачи. Если Вы можете решить свои проблемы, используя функциональность Microsoft Office, то ничего лучше COM вы, естественно, не найдете. 

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

- Многоплатформенность Для разработчика важно то, что и .Net, и J2EE предоставляют средства для создания Web-служб. До сих пор J2EE могла гордиться своей поддержкой многоплатформенности, но, если верить Microsoft, более это не является прерогативой J2EE. Microsoft позиционирует .Net как платформу с двухступенчатой компиляцией, что позволяет создавать среду выполнения для любой платформы, подобно Java. Eric Rutter, старший вице-президент Microsoft запустил информацию о переносе .Net на FreeBSD. FreeBSD - это операционная система, производная от BSD (Berkeley Software Distribution) Unix. Он объявил, что Microsoft в самом деле занимается созданием среды выполнения для FreeBSD. Создание такой среды нарушило бы гегемонию Java в области платформенной независимости, однако не стоит пока полагаться на эту информацию. Создание CLR для наиболее популярных операционных систем может занять много лет. Более того, однажды, Microsoft уже делала подобные заявления в отношении переноса DCOM (Distributed Component Object Model) на другие платформы. Однако такой перенос так и не был осуществлен.

Таким образом, на сегодняшний день единственной средой разработки, поддерживающей многоплатформенность, является J2EE.


 

А также другие работы, которые могут Вас заинтересовать

32255. Возведение зданий с перекрестно-стержневыми покрытиями 628 KB
  Структурные плитыграни собирали на стройплощадке из отдельных короткомерных стержневых трубчатых элементов поставляемых на стройку в пакетах. Перемещать отдельные грани из предмонтажного положения в проектное предлагалось по рельсовым направляющим уложенным на монтажной площадке и опорахпилонах. Грани покрытия монтировали с помощью двух кранов ДЭК50 и одного крана СКГ100. При монтаже структурных граней ПР1 ПР2 ПР3 основания каждой грани стропили по линии расположения опорных узлов за две точки к кранам ДЭК50 и крану...
32256. Монтаж зданий с арочными и купольными покрытиями 862.5 KB
  Наиболее часто проектируют арки следующих статических схем: с затяжкой воспринимающей усилие горизонтального распора благодаря которой колонны здания воспринимают только вертикальные нагрузки; двух либо трехшарнирные передающие вертикальные нагрузки и распор на железобетонные фундаменты. Число временных опор зависит от пролета арки объемнопланировочного решения не всегда есть возможность установки опор в любом месте и имеющегося монтажного оборудования. Минимальное количество монтажных элементов будет достигнуто в том случае если...
32257. Трехшарнирные арки 29 KB
  Полуарки укрупненные на стеллажах из отдельных железобетонных элементов подают в зону действия крана на двух тележках. Под нижний конец полуарки подводят специальную тележку передвигаемую но рельсам уложенным перпендикулярно продольной оси здания. Гнезда фундаментов под полуарки должны находиться между рельсами. Монтаж начинают с подъема части полуарки.
32258. Монтаж сборно-монолитных оболочек » Монтаж строительных конструкций 269 KB
  Различают два основных принципа сборки сборномонолитных оболочек: сборку на уровне земли на специальном кондукторе с последующим подъемом цельнособранной оболочки в проектное положение с помощью домкратов или кранов; сборку на проектных отметках основной технологический метод строительства оболочек в нашей стране рис. Сборку на проектных отметках осуществляют двумя способами: на монтажных поддерживающих устройствах и с опиранием укрупненных элементов оболочки на несущие конструкции здания. В пролете или одновременно в нескольких пролетах...
32259. Мембранные системы 22.5 KB
  Мембранные покрытия применяются не только при сооружении уникальных сооружений крытых стадионов выставочных павильонов но и при возведении здании массового строительства киноконцертных и спортивных залов универсального типа больших магазинов рынков. Мембранные системы могут быть также широко использованы в ограждающих конструкциях стен кровель подвесных потолков.
32261. Анализ различных методов возведения стальных вертикальных резервуаров 38.5 KB
  Конструкции поступившие на монтаж должны иметь маркировку изготовителя и сертификат качества а монтаж резервуаров должен производиться в соответствии с проектом и требованиями настоящих Правил строительных норм и правил разработанного ППР. Производитель работ монтажник должен иметь следующую нормативную и проектную документацию до выполнения монтажа: настоящие Правила; рабочую документацию КМ проектировщика; рабочие чертежи КМД изготовителя; проект плана производства работ далее ППР на сборку и сварку...
32262. Методы наращивания и подращивания поясов 26.5 KB
  Метод наращивания поясов резервуаров осуществляется на высоте путем сборки отдельных листов. Это позволяет возводить резервуары любого объема в основном для резервуаров с плавающей крышей. Недостаток данного метода возведения резервуаров монтаж конструкции неподвижной крыши осуществляется на значительной высоте что требует определенной квалификации рабочих задействование определенной техники и технологии возведения.
32263. Разработка грунта в траншее грейферным оборудованием для устройства «стены в грунте» 127 KB
  Схема разработки захватки траншеи за один проход грейфера представлена на рис. После разработки траншеи на полную глубину производится проверка глубины траншеи зачистка траншеи от слоя осыпавшего грунта и осадка глинистого раствора путем плавного опускания и перемещения грейфера по всей плоскости траншеи. Разработка захватки траншеи за один проход грейфера.