Введение



 

 RPC (Remote procedure call - Удаленный вызов процедур) - это технология, позволяющая компьютерной программе исполнять код процедур и функций в другом адресном пространстве (обычно на другом компьютере в локальной сети или в Интернет). Исполнение такого кода является прозрачным для программ. Это означает, что программист не задумывается о том, где в реальности будет исполняться его код. Программист пишет в точности такой же код, но некоторые процедуры будут в реальности исполняться на других компьютерах. Все транспортные вопросы остаются вне поле зрения разработчика, ему не надо задумываться о передаче данных через сеть, вызове функций на другом компьютере и возврате результата исполнения через сеть в свою программу. Он просто обращается с удаленными объектами, как со своими, которые находятся внутри его программы. Разработчик не видит различий между локальными и удаленными объектами.

 Routix software разработала свою собственную реализацию RPC, которая была названа "Routix.RPC". Наша технология RPC отличается от других реализаций высокой скоростью вызовов, легкостью использования, поддержкой обратных вызовов (callbacks). Ваша программа может контролировать подключения к RPC-серверу при помощи имени и пароля пользователя, контроллировать создание и запросы объектов клиентскими приложениями. Для этого вам надо реализовать всего два события: одно для контроля пользователей, другое для контроля запрашиваемых объектов. Вам не надо каждый раз перекомпилировать приложение, когда структура объектов меняется. Структура объектов опредлеляется в реальном времени динамически. Клиентом может быть запрошен любой объект, который поддерживает интерфейс IDispatch (так называемые "объекты автоматизации - Automation objects"). Вы можете создать свои объекты или использовать тысячи других, которые зарегистрированы в системе.

 Routix.RPC использует шифрование и интеллектуальную компрессию всего передаваемого через сеть трафика между клиентом и сервером.

 Вы можете использовать специальные COM-объекты (RoutixRPCCOM.Server и RoutixRPCCOM.Client) или скомпилировать движек RPC непосредственно в вашу программу (если приобретена лицензия на использование исходного кода). Также двежек Routix.RPC является многопоточным, что означает, что одно приложение-сервер может обслуживать множество клиентов. Вы также можете запросить у сервера множество объектов и использовать каждый объект в отдельном потоке. Routix.RPC автоматически синхронизирует все вызовы методов объектов из разных потоков.

 Routix.RPC может быть использован с любыми языками программирования, которые поддерживают технологию COM, а это означает, что практически с любым современным языком программирования. Также движек Routix.RPC может быть использован в любой версии Microsoft Windows.

 Области применения Routix.RPC: распеределенные приложения для распределенных вычислений, коммуникации между приложениями и частями приложений (например сервис <-> консоль управления), приложения для удаленного управления компьютерами и приложениями.