Распределенная вычислительная среда ( DCE ) — это программная система , разработанная в начале 1990-х годов на основе работы Open Software Foundation (OSF), консорциума, основанного в 1988 году, в который входили Apollo Computer (часть Hewlett-Packard с 1989 года), IBM , Digital Equipment Corporation и другие. [1] [2] DCE предоставляет фреймворк и набор инструментов для разработки клиент-серверных приложений. [3] Фреймворк включает в себя:
DCE не добился коммерческого успеха.
По состоянию на 1995 год все основные поставщики компьютерного оборудования имели реализацию DCE, что рассматривалось как преимущество по сравнению с альтернативами, такими как CORBA , которые имели более ограниченную поддержку. [4] : 13
В рамках формирования OSF различные члены внесли множество своих текущих исследовательских проектов, а также свои коммерческие продукты. Например, HP/Apollo внесла свой продукт Network Computing Environment (NCS) и CMA Threads. Siemens Nixdorf внесла свой сервер X.500 и инструменты компилятора ASN/1. В то время сетевые вычисления были довольно популярны, и многие из вовлеченных компаний работали над похожими системами на основе RPC . Интегрируя безопасность, RPC и другие распределенные службы в единую распределенную вычислительную среду, OSF могла предложить большое преимущество перед SVR4, позволяя любой системе с поддержкой DCE (а именно OSF/1) взаимодействовать в более крупной сети.
«Запрос на технологию» DCE был выпущен OSF в 1989 году. Первый продукт поставщика OSF DCE появился в 1992 году. [4] : 3
Система DCE в значительной степени основывалась на независимых разработках каждого из партнеров. DCE/RPC была получена из Network Computing System (NCS), созданной в Apollo Computer . Служба именования была получена из работы, проделанной в Digital. DCE/DFS была основана на Andrew File System (AFS), изначально разработанной в Университете Карнеги-Меллона . Система аутентификации была основана на Kerberos . Объединяя эти функции, DCE предлагает довольно полную систему для сетевых вычислений. Любая машина в сети может аутентифицировать своих пользователей, получать доступ к ресурсам и вызывать их удаленно, используя единый интегрированный API .
Развитие Интернета , Java и веб -сервисов в середине-конце 1990-х годов во многом привлекло внимание к DCE , а также появились конкурирующие системы, такие как CORBA .
Одним из основных применений DCE сегодня являются системы DCOM и ODBC от Microsoft , которые используют DCE/RPC (в MSRPC ) в качестве своего сетевого транспортного уровня. [ необходима ссылка ]
OSF и его проекты в конечном итоге стали частью The Open Group , которая выпустила DCE 1.2.2 под лицензией свободного программного обеспечения ( LGPL ) 12 января 2005 года. [5] [6]
DCE 1.1 был доступен намного раньше по лицензии OSF BSD, и в результате FreeDCE стал доступен с 2000 года. FreeDCE содержит реализацию DCOM. [7]
Одной из основных систем, построенных на основе DCE, была Encina , разработанная Transarc (позже приобретенная IBM ). IBM использовала Encina в качестве основы для переноса своей основной системы обработки транзакций для мэйнфреймов ( CICS ) на не-мэйнфреймовые платформы, такие как IBM TXSeries . (Однако более поздние версии TXSeries удалили компонент Encina.)
DCE предназначен для поддержки систем высокой доступности : когда сервер не отвечает (из-за сбоя сервера или сбоя связи), клиенты могут быть настроены на автоматическое использование копии этого сервера. [4] : 11 : 21
Самая большая единица управления в DCE — ячейка . Самые высокие привилегии в ячейке назначаются роли, называемой администратором ячейки , обычно назначаемой «пользователю» cell_admin . Несколько ячеек могут быть настроены для связи и совместного использования ресурсов друг с другом. Все принципалы из внешних ячеек рассматриваются как «чужие» пользователи, и привилегии могут быть назначены или отозваны соответствующим образом. В дополнение к этому, определенным пользователям или группам могут быть назначены привилегии на любой ресурс DCE, что невозможно в традиционной файловой системе UNIX, в которой отсутствуют списки контроля доступа.
Основными компонентами DCE в каждой клетке являются:
Современные реализации DCE, такие как от IBM, полностью способны взаимодействовать с Kerberos в качестве сервера безопасности, LDAP для CDS и реализациями Network Time Protocol для сервера времени.
DCE/DFS — это приложение на основе DCE, которое предоставляет распределенную файловую систему на DCE. DCE/DFS может поддерживать реплики набора файлов (эквивалент файловой системы DCE/DFS) на нескольких серверах DFS — есть одна копия для чтения и записи и ноль или более копий только для чтения. Репликация поддерживается между копиями для чтения и записи и только для чтения. Кроме того, DCE/DFS также поддерживает так называемые «резервные» наборы файлов, которые, если определены для набора файлов, способны хранить версию набора файлов, которая была до последней репликации.
DCE/DFS считается единственной в мире распределенной файловой системой, которая правильно реализует всю семантику файловой системы POSIX, включая блокировку диапазона байтов. [7]
DCE/DFS была достаточно надежной и стабильной, чтобы IBM могла использовать ее для запуска внутренней файловой системы веб-сайта Олимпиады 1996 года , которая легко и автоматически распространялась и редактировалась по всему миру в разных часовых поясах. [7]