Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Вызов удаленных процедур ( RPC ) Open Network Computing ( ONC ) - это система удаленного вызова процедур . ONC был первоначально разработан Sun Microsystems в 1980-х годах как часть их проекта сетевой файловой системы и иногда упоминается как Sun RPC .

ОНК основан на соглашения о вызовах , используемых в Unix и язык программирования Си . Он сериализует данные, используя представление внешних данных (XDR), которое также нашло некоторое применение для кодирования и декодирования данных в файлах, которые должны быть доступны на более чем одной платформе. Затем ONC доставляет полезную нагрузку XDR, используя UDP или TCP . Доступ к службам RPC на машине предоставляется через преобразователь портов, который прослушивает запросы на известном порте (номер 111) через UDP и TCP.

ONC RPC был описан в RFC 1831, опубликованном в 1995 году. RFC 5531, опубликованном в 2009 году, является текущей версией. Механизмы аутентификации, используемые ONC RPC, описаны в RFC 2695, RFC 2203 и RFC 2623.

Реализации ONC RPC существуют в большинстве Unix-подобных систем. Microsoft предоставляет реализацию для Windows в своих продуктах Microsoft Windows Services для UNIX ; кроме того, существует ряд сторонних реализаций ONC RPC для Windows, включая версии для C / C ++ , Java и .NET (см. внешние ссылки).

В 2009 году Sun перелицензировала код ONC RPC в соответствии со стандартной лицензией BSD с тремя пунктами [1], а затем была повторно подтверждена корпорацией Oracle в 2010 году после путаницы в отношении объема перелицензирования. [2]

ONC считается «экономичным и средним», но имеет ограниченную привлекательность в качестве обобщенной системы RPC для глобальных сетей или гетерогенных сред [ необходима цитата ] . Такие системы, как DCE , CORBA и SOAP , обычно используются в этой более широкой роли [ необходима цитата ] .

См. Также [ править ]

  • XDR - грамматика, определенная в RFC 1831, является небольшим расширением грамматики XDR, определенной в RFC 4506.
  • DCE
  • XML-RPC

Ссылки [ править ]

  • Birrell, AD; Нельсон, Б.Дж. (1984). «Реализация удаленных вызовов процедур». ACM-транзакции в компьютерных системах . 2 : 39–59. DOI : 10.1145 / 2080.357392 . S2CID  11525846 .

Заметки [ править ]

  1. Перейти ↑ Phipps, Simon (2009-02-12). «Старый кодекс и старые лицензии» . Sun Microsystems . Архивировано из оригинала на 2010-02-25 . Проверено 21 декабря 2012 .
  2. ^ «Длинный, грязный рассказ о Sun RPC, несколько сокращенный, чтобы защитить виновных и безответственных» . Том Каллавей , Red Hat . Проверено 26 августа 2010 .

Внешние ссылки [ править ]

  • RFC 1050 - определяет версию 1 ONC RPC
  • RFC 5531 - определяет версию 2 ONC RPC
  • Удаленные вызовы процедур (RPC) - Учебное пособие по ONC RPC от доктора Дейва Маршалла из Кардиффского университета
  • Введение в программирование RPC - введение разработчика в RPC и XDR из документации SGI IRIX.
  • Руководство разработчика Sun ONC
  • PowerRPC от Netbula для Windows (ONC RPC для Windows с расширенным IDL)
  • JRPC Netbula (ONC RPC для Java) (поддерживает J2SE, J2ME и Android
  • Внедрение ONC / RPC Университета Ахена (Германия)
  • Удаленный чай (реализация LGPL Java)
  • Удаленный чай .Net (реализация LGPL C #)
  • ONC RPC от Distinct Corporation для Windows
  • Статья в Linux Journal о ONC RPC
  • Библиотека ONC RPC на основе Java NIO