Распределенные объекты повсюду - Distributed Objects Everywhere

Распределенные объекты повсюду (DOE) был долгим Sun Microsystems проект по созданию распределенных вычислений окружающая среда на основе CORBA система в "задней части" и OpenStep как пользовательский интерфейс. Впервые запущенный в 1990 году и вскоре объявленный после этого, он оставался паровая посуда в течение многих лет, прежде чем он был наконец выпущен как НЕО в 1995 году. Он был продан в течение короткого периода, прежде чем был прекращен (вместе с OpenStep) в 1996 году. На его месте находится то, что сегодня известно как Enterprise JavaBeans.

Фон

В начале 1990-х «следующим большим достижением» в вычислительной технике было использование настольных компьютеров. микрокомпьютеры для отображения и редактирования данных, предоставленных мэйнфреймы и миникомпьютеры. Хотя ряд методов для такого доступа уже существовал, разделения труда не было вовсе. Например, SQL требовалось, чтобы рабочая станция загружала огромные наборы данных и затем обрабатывала их локально, тогда как использование эмуляторы терминала оставил всю работу серверу и не предоставил GUI.

Казалось, что правильное разделение обязанностей будет заключаться в наличии кооперативного набора объектов, при этом рабочая станция отвечает за отображение и взаимодействие с пользователем с обработкой на сервере. На пути к такому решению стояли огромные различия в операционные системы и языки программирования между платформами. Хотя можно построить такую ​​систему, которая будет работать на любой комбинации рабочей станции и сервера, то же решение не будет работать ни в одной другой системе.

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

Тем не менее, эта проблема решалась в начале 1990-х за счет введения различных общая библиотека системы. На самом деле они были предназначены для упрощения использования ресурсов на небольших платформах, позволяя ряду программ, использующих общий ресурс, например графический интерфейс, использовать одну копию кода вместо того, чтобы каждая загружала отдельную копию в память. В качестве побочного эффекта возможности вызова из многих программ эти системы также определили стандартный способ их вызова с использованием язык определения интерфейса, или IDL, чтобы любой язык на платформе мог понимать код внутри библиотеки.

Расширение этих систем для поддержки вызовы удаленных процедур «за кулисами» рассматривалось как естественная эволюция, обеспечивающая решение проблемы программирования клиент / сервер. В то время было несколько крупных проектов по созданию такой системы, в том числе IBM с Системная объектная модель (SOM / DSOM), Следующий с Переносимые распределенные объекты, Microsoft с Компонентная объектная модель (COM / DCOM) и многие CORBA ароматы. Sun, пытаясь позиционировать себя как будущую IBM с точки зрения поддержки бэк-офисов, чувствовала, что им необходимо атаковать и этот рынок.

Весна, DOE, OpenStep, NEO

Решение Sun было основано на работе в их Весна операционная система, которая использовала взаимосвязанные объекты почти для всех задач программирования. Изменить это для работы в «традиционном» Unix, таком как Solaris, было не так уж сложно, хотя в Unix предполагается, что все программы выполняются локально, и необходимо было добавить интерфейс для удаленного доступа. Для этого Министерство энергетики добавило брокер запроса объекта (ORB), который работал на серверах бэк-офиса, прослушивая запросы DOE и передавая их соответствующей программе для обработки. В процессе разработки CORBA стала ключевым модное слово в отрасли. Это вызвало задержку, пока ORB был перепроектирован для поддержки CORBA. Согласно модели CORBA, различные объекты, такие как объекты из DOE или SOM, смогут взаимодействовать, используя общий интерфейс.

Более серьезной проблемой для Sun является отсутствие интегрированного решения для объектного программирования рабочего стола. Несмотря на то что C ++ библиотеки объектов стали обычным явлением на некоторых платформах, их собственные SunOS (позже известный как Солярис ) операционная система и связанные SunView и Икс оконные системы были основаны на "простом C", а их более новые Новости оконная среда была основана на расширяемом по сети объектно-ориентированном диалекте PostScript.

Чтобы предоставить комплексное и гибкое решение для объектного программирования, Sun обратилась к NeXT, и они разработали OpenStep. Идея заключалась в том, чтобы программы OpenStep вызывали объекты DOE на серверах Sun, предоставляя решение для межкорпоративного взаимодействия на машинах Sun. OpenStep не был выпущен до 1993 года, что еще больше задержало проект.

К тому времени, когда DOE, теперь известный как NEO, был выпущен в 1995 году,[1] Солнце уже перешло на Ява как их следующий большой шаг. Java теперь был предпочтительным графическим интерфейсом для клиентских приложений, и планы Sun OpenStep были незаметно отброшены (см. Дизайн Маяка ). NEO была перепозиционирована как система Java с введением фреймворка "Joe",[2] но пользы от этого было мало. Компоненты NEO и Joe в конечном итоге были включены в Enterprise JavaBeans.[3]

Хотя распределенные объекты, и в частности CORBA, были «следующей большой вещью» в начале 1990-х годов, ко второй половине десятилетия интерес к ним практически исчез.[POV? ] Веб-приложения, работающие полностью на сервере, стали новой «следующей большой вещью», и потребность в мощной системе отображения на стороне клиента исчезла, в основном ее заменили легкие графические интерфейсы на основе HTML и JavaScript ("Пользовательский интерфейс браузера ").

Рекомендации

  1. ^ «SunSoft представляет NEO, первую в отрасли полную сетевую объектную вычислительную среду» (Пресс-релиз). Sun Microsystems, Inc. 20 сентября 1995 г. Архивировано с оригинал на 2007-03-11. Получено 2006-12-13.
  2. ^ «Sun анонсирует продукт, который соединяет Java с бизнес-приложениями» (Пресс-релиз). Sun Microsystems, Inc., 26 марта 1996 г. Архивировано с оригинал на 2007-03-20. Получено 2006-12-13.
  3. ^ Роберт Макмиллан; Найл Маккей (14 ноября 1997 г.). «Прощай, NEO, привет Enterprise Java Beans». SunWorld. Получено 2013-05-01.

внешняя ссылка