Remote procedure call (RPC) is a technology that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction. That is, the programmer would write essentially the same code whether the subroutine is local to the executing program, or remote. When the software in question is written using object-oriented principles, RPC may be referred to as remote invocation or remote method invocation. All communications is transparent for developer. You need write code like for local object. You don't see differences between local and remote objects.
Routix software develop own RPC technology known as Routix.RPC. This technology based on TCP-transport and XML-packets (messages). Our technology differs from other implementations in the high speed of calls, ease of use, support of callback-objects.
Your program can supervise connections to a RPC-server and creation of objects by means of events. You don't need recompile RPC-engine every time when objects to call changed or recompiled. Routix.RPC detect objects structure at runtime dynamically. Remote object can be any object that supports IDispatch interface, known as Automation or ActiveX objects. Any object, which can be used in scripts (Microsoft Active Scripting) can be used as the remote object.
Routix.RPC use strong encryption and intellectual compression of network communications between client and server. If you purchased Routix.RPC with source code - you can simply extend communication protocol by adding your custom data to the packets because Routix.RPC use XML-packets as communication protocol.
You can use special COM-objects (RoutixRPCServer.dll and RoutixRPCClient.dll) or compile directly in the your software (if source code purchased). Multithreading supported: you can create multiple objects over single connection and use each object with own separated thread, Routix.RPC serialize all calls automatically. Note: if you want use one object in the multiple threads - you must synchronize calls. You can use Routix.RPC with any programming languages that supports COM technology. Client and Server can be used with any Microsoft Windows version.
Routix.RPC can be used in distributed N-tier applications, service-console applications, remote management software. Routix NetCom console use Routix.RPC for remote service management for example.