Рубрика:
Разработка /
Особенности языка
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ИВАН ШИХАЛЕВ, фрилансер, специализируется на веб-разработке и Ruby, shikhalev@gmail.com
Распределенный Ruby Прозрачный RPC для взаимодействия Ruby-программ
В статье рассматривается технология dRuby, обеспечивающая межпрограммное взаимодействие на уровне объектов
RPC – Remote Procedure Call – общее название для технологий, позволяющих программам вызывать процедуры/функции в чужом адресном пространстве, в том числе на другом компьютере. По особенностям использования и реализации эти технологии между собой очень сильно различаются.
Из наиболее популярных можно отметить архитектуру CORBA, разрабатываемую рабочей группой OMG, и протокол DCOM, принадлежащий Microsoft (и работающий де-факто только в Windows), а также текстовые протоколы, работающие поверх HTTP, – JSON-RPC и XML-RPC.
Ruby «из коробки», в рамках стандартной библиотеки, поддерживает, помимо собственной технологии dRuby, только XML-RPC. Тем не менее можно найти и установить гемы для CORBA и JSON-RPC – r2corba и json-rpc-objects соответственно.
Технология распределенного Ruby, или dRuby (Distributed Ruby), позволяет вызывать методы объектов, находящихся в другом процессе и/или на другом компьютере. При этом установка соединения, передача необходимых данных и тому подобное скрыты от программиста, и использование удаленных объектов мало чем отличается от работы с объектами, заданными внутри программы.
dRuby позволяет, например, управлять сервисами, выполняемыми в фоновом режиме, обмениваться по сети данными с программами, работающими где-то в другом месте. Более подробно о возможных сценариях использования пойдет речь в заключительной части.
Это не единственная технология RPC, доступная при программировании на Ruby, однако более универсальные средства, такие как CORBA или XML-RPC, более сложны в использовании и требуют больших накладных расходов (кроме того, поддержка CORBA не входит в стандартную библиотеку Ruby, соответственно в сопровождении требует дополнительного внимания к совместимости версий).
В общем, если не требуется взаимодействие с программами, написанными на других языках, dRuby – очень хороший выбор, а с чем его едят и как правильно готовить, мы и рассмотрим в данной статье.
Статью целиком читайте в журнале «Системный администратор», №12 за 2013 г. на страницах 58-61.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|