
614 Глава 9. Распределенные системы объектов
ченными в ранние системы Windows. Неплохо, что старые приложения по-преж-
нему работоспособны, гораздо хуже, что когда-то сделанные неудачные решение
теперь практически невозможно исправить. Модель DCOM чрезвычайно сложна,
и это удивительно, особенно учитывая тот факт, что она в отличие от CORBA не
является результатом работы многочисленных комитетов и комиссий.
Система Globe представляет собой типичный образец исследовательской ра-
боты. Она была разработана небольшим коллективом, предпочитавшим просто-
ту функциональности. Им не нужно было беспокоиться о мнении других людей,
не нужно было добиваться совместимости с предьщущими версиями. Как и в боль-
шинстве других исследовательских проектов, план Globe, в сущности, прост и по-
нятен. Однако Globe
—
незавершенная система и многие ее аспекты требуют до-
работки. Основная це.71ь разработки Globe
—
обеспечение масштабируемости.
Главные различия объектных моделей, поддерживаемых тремя системами, за-
ключаются в следующем. В CORBA и DOOM используется модель удаленных
объектов. CORBA предлагает гибкую и непротиворечивую объектную модель.
Сила подхода CORBA состоит в том, что подобная система обеспечивает высо-
кую степень прозрачности операций определения местонахождения и доступа
к объектам. Клиенту нелегко заметить разницу между локальным и удаленным
объектами. Объекты обладают состоянием, могут быть глобально идентифици-
рованы, а ссылки легко передаются от клиента к клиенту и от машины к машине.
Кроме того, объекты могут быть как нерезидентными, так и сохранными.
Модель DCOM значительно проще модели CORBA, и мы могли бы даже по-
критиковать ее за излишнюю простоту. Объекты в DCOM нерезидентны, не име-
ют глобальных идентификаторов и в некоторых случаях, как предполагается, не
имеют состояния. Эта модель нарушает многие прршципы, лежащие в основе тех-
нологии распределенных объектов.
Система Globe поддерживает правильные объекты. Особенность ее объект-
ной модели, однако, состоит в том, что объекты в Globe могут быть реально реп-
лицированы и распределены по нескольким машинам. Более того, объект опреде-
ляет, как можно выполнять распределение и репликацию его состояния. Другими
словами, объект инкапсулирует собственные правила распределения и реализа-
цию.
Кроме того, он может также инкапсулировать правила и реализации защи-
ты,
обработки ошибок и т. д.
Сравнивая службы этих систем, мы также видим серьезные различия. CORBA
содержит обширный набор служб, обширный настолько, что функциональность
отдельных служб нередко пересекается. С другой стороны, DCOM предлагает
смесь собственных служб со службами окружения, такими как службы именова-
ния и каталогов. В Globe реализован только абсолютный минимум служб
—
про-
стейшая служба именования и расширенная служба локализации. Это соответству-
ет философии построения Globe, однако совершенно ясно, что для превращения
Globe в действительно работоспособную распределенную систему общего назна-
чения ей необходимо иметь множество дополнительных служб.
Другое существенное отличие трех систем друг от друга состоит во взгляде на
интерфейсы. CORBA предоставляет стандартный язык IDL, на котором состав-
ляются определения интерфейсов, превращаемые затем в тексты программ на