Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Распределённые объекты

Из Википедии — свободной энциклопедии

На иллюстрации показана связь между распределенными объектами, находящимися на разных машинах.

В распределенных вычислениях распределенные объекты — это объекты (в смысле объектно-ориентированного программирования), которые распределены по разным адресным пространствам, либо в разных процессах на одном компьютере, либо даже на нескольких компьютерах, подключенных через сеть, но которые работают вместе, обмениваясь данными и вызывая методы друг друга. Упор на распределённость объектной архитектуры часто связывают с прозрачностью их местоположения, когда удаленные объекты с точки зрения обращающегося к ним программного кода выглядят так же, как локальные. Основным методом обмена данными с распределенными объектами является вызов удаленного метода, как правило, посредством передачи сообщений: один объект отправляет сообщение другому объекту на удаленной машине или процессу для выполнения некоторой задачи. Результаты отправляются обратно вызывающему объекту.

Распределенные объекты были популярны в конце 1990-х — начале 2000-х годов, но с тех пор вышли из моды[1].

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

  • Реплицированные объекты — это группы программных компонентов (реплик), которые запускают распределенный многосторонний протокол для достижения высокой степени согласованности между своими внутренними состояниями и скоординированно отвечают на запросы. Обращение к группе реплик вместе как к объекту отражает тот факт, что взаимодействие с любым из них демонстрирует одно и то же внешне видимое состояние и поведение.
  • Живые распределенные объекты (или просто живые объекты)[2] обобщают концепцию реплицированного объекта на группы реплик, которые могут внутренне использовать любой распределенный протокол, что, возможно, приводит только к слабой согласованности между их локальными состояниями. Живые распределенные объекты также могут быть определены как запущенные экземпляры распределенных многосторонних протоколов, рассматриваемые с объектно-ориентированной точки зрения как сущности, которые имеют различную идентичность и могут инкапсулировать распределенное состояние и поведение.

Локальные и распределенные объекты

  • Локальные и распределенные объекты обладают многими отличиями[3][4]. Вот некоторые из них:
  • Жизненный цикл: создание, миграция и удаление распределенных для распределённых объектов отличается от локальных объектов.
  • Ссылки: ссылки на распределённые объекты сложнее простых указателей на адреса памяти, которых может быть достаточно в локальной системе.
  • Задержка запроса: запрос распредёленного объекта на несколько порядков медленнее, чем вызов локального метода.
  • Активация объекта: распределённые объекты не всегда могут быть доступны для обслуживания запроса объекта в любой момент времени.
  • Параллелизм: распределённые объекты могут выполняться параллельно.
  • Связь: для запросов распределённых объектов доступны различные примитивы связи.
  • Отказ: распределённые объекты имеют гораздо больше точек отказа, чем типичные локальные объекты.
  • Безопасность: распределённость делает их уязвимыми для атак.

Примеры

  • Возможности RPC межплатформенного протокола сериализации Cap’n Proto представляют собой протокол работы с распределёнными объектами. Вызовы методов распределенных объектов могут быть выполнены (в цепочке, в одном сетевом запросе, если это необходимо) через ссылки / возможности интерфейса[5].
  • Распределенные объекты реализованы в Objective-C с использованием API Cocoa с использованием класса NSConnection и вспомогательных объектов.
  • Распределенные объекты используются в Java RMI.
  • CORBA позволяет создавать распределенные смешанные объектные системы.
  • DCOM — это технология для распределенных объектов на платформе Microsoft.
  • DDObjects — это фреймворк для распределенных объектов с использованием Borland Delphi.
  • Jt — это фреймворк для распределенных компонентов, использующий парадигму обмена сообщениями.
  • JavaSpaces — это спецификация Sun для распределенной разделяемой памяти
  • Pyro — это фреймворк для распределенных объектов, использующий язык программирования Python.
  • Распределённый Ruby (DRb) — это фреймворк для распределенных объектов, использующий язык программирования Ruby.

Примечания

  1. Microservices and the First Law of Distributed Objects. martinfowler.com. Дата обращения: 24 октября 2021. Архивировано 24 октября 2021 года.
  2. Krzysztof Ostrowski, Ken Birman, Danny Dolev, Jong Hoon Ahnn. Programming with Live Distributed Objects // Proceedings of the 22nd European conference on Object-Oriented Programming. — Berlin, Heidelberg: Springer-Verlag, 2008-07-07. — С. 463–489. — ISBN 978-3-540-70591-8. — doi:10.1007/978-3-540-70592-5_20.
  3. W. Emmerich (2000) Engineering distributed objects, John Wiley & Sons Ltd.
  4. Samuel C. Kendall, Jim Waldo, Ann Wollrath, and Geoff Wyant. 1994. A Note on Distributed Computing. Technical Report. Sun Microsystems, Inc., Mountain View, CA, USA.
  5. Cap'n Proto: RPC Protocol. capnproto.org. Дата обращения: 24 октября 2021. Архивировано 18 марта 2015 года.
Эта страница в последний раз была отредактирована 29 июля 2022 в 10:38.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).