В распределенных вычислениях, распределенные объекты - это объекты (в смысле объектно-ориентированного программирования ), которые распределены по разным адресным пространствам либо в разных процессах на одном и том же компьютер или даже несколько компьютеров, подключенных через сеть, но которые работают вместе, обмениваясь данными и вызывая методы. Это часто связано с прозрачностью местоположения, когда удаленные объекты выглядят так же, как локальные. Основным методом связи с распределенными объектами является вызов удаленного метода, обычно посредством передачи сообщений: один объект отправляет сообщение другому объекту на удаленной машине или процессу для выполнения некоторой задачи. Результаты отправляются обратно вызывающему объекту.
Распределенные объекты были популярны в конце 1990-х - начале 2000-х годов, но с тех пор потеряли популярность.
Термин также может обычно относиться к одному из расширений базового объекта концепция, используемая в контексте распределенных вычислений, таких как реплицированные объекты или живые распределенные объекты.
См. Также Интернет-протокол suite.
Локальные и распределенные объекты отличаются во многом. Вот некоторые из них:
Возможности RPC межплатформенного протокола сериализации равносильны протоколу распределенных объектов. Вызовы методов распределенных объектов могут выполняться (в цепочке, в одном сетевом запросе, если необходимо) через ссылки на интерфейсы / возможности.
Распределенные объекты реализованы в Objective-C с использованием Какао API с классом NSConnection и вспомогательными объектами.
Распределенные объекты используются в Java RMI.
CORBA позволяет создавать распределенные смешанные объектные системы.
DCOM - это платформа для распределенных объектов на платформе Microsoft.
DDObjects - это среда для распределенных объектов с использованием Borland Delphi.
Jt - это структура для распределенных компонентов, использующая парадигму обмена сообщениями.
JavaSpaces - это спецификация Sun для распределенной разделяемой памяти (на основе пространства)
- это структура для распределенных объектов, использующих язык программирования Python.
Распределенный Ruby ( DRb) - это структура для распределенных объектов с использованием языка программирования Ruby.