Netbula LLC                                                                   sitemapcontact us
about usproductssupportdownloadpurchase

RPC Features
RPC Example
Doc & Tutorial
RPC Forum


Quality and performance

Netbula RPC has been chosen by many well known US and international companies to build mission critical systems. Companies such as AOL, Booze Allan & Hamilton, , FedEx, HP, Intel, Merril Lynch, Nokia, Nortel, NTT, Samsung, Sony, Siemens, and others chose Netbula RPC for the quality and performance it delivers.

Other usage for PowerRPC
You can also use PowerRPC's XDR code to serialize complex data structures into platform independent data format on disk file.

AnyemailAnyboardJRPCONC RPCPowerRPC
You can spend hundreds of hours writing code, or, you can have powerRPC .

PowerRPC is the most powerful ONC RPC development tool that exists today. Given an interface description, PowerRPC generates client/server stub code for generic multi-argument C functions and makes them callable over a TCP/IP network. Data structures of arbitrary complexity, such as structs, arrays, linked list, unions, can be transferred between different machines running UNIX or Windows NT/95/88/NT/ME/XP/Server 2003. PowerRPC takes care of all the complicated data encoding /decoding and networking. PowerRPC also generates C++ client code. You only need to provide a high level interface description. 

PowerRPC is efficient. It is easy to understand, easy to code, and the resulting programs are small and highly efficient.

Download PowerRPC Quick Reference Guide (PDF)

PowerRPC is about programming by interface

The central idea of PowerRPC programming is the INTERFACE. 

A PowerRPC server is a remote object that exposes an interface API to clients on the network. A programmer codes an RPC server according to a well defined interface. 

With PowerRPC, you can 

  • Turn existing local API into RPC server object by grouping related functions in a PowerRPC interface definition. Suddenly, your local functions are callable across network. 
  • Create new RPC interfaces, and then provide their implementation. 

For instance, the stdio file access API can be made into RPCes by define the interface: 

            interface REMOTE_FILE{

                    int fread(...); //args ommitted

                    int fwrite(...) ;//args ommitted

                    FILE* fopen(...);//

            } = 0x13232222; // interface ID

with an IDL file like this one, PowerRPC can create a FILE server in minutes. (see tutorial). Furthermore, the client code (which calls fread(..) looks almost the same. Needless to say, we have needs to create many new network applications today. And PowerRPC can make that very easy. 

PowerRPC is about C/C++ programming 

There is zero learning curve doing PowerRPC. 

Since the design goal of PowerRPC is to bring the power of RPC programming to the general C/C++ programmer, the powerRPC IDL was made to be as close to C as possible, so there is no steep learning curve.  Forget about sockets, forget about the mysteries about ONC or DCE RPC, forget about their portability problems, with powerRPC you don't need to worry about them anymore. You can become a productive powerRPC programmer in almost no time. 

For example, to make the fread(char*buf, int n,int m,FILE*) function an RPC. We write the following interface description: 

        int fread (out char [size = return, maxsize =n*m ]buffer, //line (1)

                   int n,int m,                                 //line (2)

                   in FILE *fp                                  //line (3)



Line (1) states that the argument buffer is for output of data from the server to the client, the buffer space is n*m, and the size of data to be sent back is the return value of this function. Line (2) and (3) are obvious. You tell exactly the meaning of a C function prototype, and powerRPC makes it an RPC;

Because powerRPC can handle arbitrary C functions, you can easily move your existing code to a distributed architecture. Suppose you have an existing C function that performs a specific task, such as query and update an RDBMS using embedded SQL, to make this function available to a client over a network, the only thing you need to do is to put the function in an IDL file and run the powerRPC compiler, as done for the fread() function shown above. 

PowerRPC runtime library extends ONC RPC by offering multitasking/multithreading server, asynchronous RPC, and much more. These features can be enabled by setting properties in the IDL. For example, by adding a line 

property  THREAD_ON_CALL = true

to an existing IDL file, you make an existing NT server multi-threading, and this change is transparent to an RPC client. 

PowerRPC is based on industry standard 

PowerRPC is based on the de facto industry standard--ONC RPC, which is a standard part of all UNIX installations. Therefore, PowerRPC runs on all platforms where ONC RPC is present. 

We have also ported ONC RPC to Windows NT/95/98/2000/ME/XP, so that PowerRPC is also available on Win32 platforms. In fact, we have added additional features such as multithreaded server and client. For those who need to port existing ONC RPC server/client to WIN32, we have RPCGEN for WIN32, Portmapper(Portmap servive for NT) for WIN32, and RPCINFO for Win32

The PowerRPC advantage

PowerRPC is a well designed quality product. It is designed to be a superior tool in the RPC field with a reasonable price. It is not something hacked out using macros and simple code substitution, but an intelligent compiler which understands the semantics of your IDL, when it compiles, you know the code will work. 

At runtime, PowerRPC code is very efficient. If you need high performance, PowerRPC is the better choice. Also, the size of PowerRPC library is small, only 50K.

The best way to evaluate powerRPC is to try out examples by yourself, experiment with it, look at the generated code, and run your benchmark tests. 

You can download PowerRPC for Win32 and UNIX from this site 

PowerRPC is available for UNIX and Win32 (NT/95/98/2K/ME). The demo version of the IDL compiler, the powerRPC runtime library for several UNIX platforms and Windows NT, portmapper for NT, RPCINFO for Win32, online documentation and sample programs can be found at this WWW site. 

| Home | Products | Support | Download | Purchase | Site Map | Contact Us |
Copyright © 2000, Netbula LLC, All Rights Reserved.