RPC HELP Broker Overview

RPC Broker Help Home

Broker Overview The RPC Broker is a bridge connecting the application front-end on the client workstation (e.g., Delphi-based GUI applications) to the M-based data and business rules on the VistA M Server. Client Side of the RPC Broker Server Side of RPC the Broker
 * Manages the connection to the client workstation. For details, please refer to the "RPC Broker Systems Manual."
 * The RPC Broker components allow Delphi-based applications to make RPCs to the server.
 * The Broker Dynamic Link Library (DLL) provides support for COTS/HOST client/server software.
 * Manages the connection to the client. For details, please refer to the "RPC Broker Systems Manual."
 * Authenticates client workstation.
 * Authenticates user.
 * Manages RPCs from the client, executes the M code, and passes back return values.

The RPC Broker frees GUI developers from the details of the client-server connection and allows them to concentrate executing operations on the VistA M Server.

Broker Call Steps

These steps present a basic outline of the events that go into an RPC Broker call, starting with the initial client-server connection. Once the client machine and user are authenticated, any number of calls (Steps #3-5) can occur through the open connection.

GUI developer issues are noted for each step.


 * 1) Authentication of client machine . When a client machine initiates a session, the Broker Listener on the server spawns a new job. The server then calls the client back to ensure that the client’s address is accurate. (Editor's note: Newer versions of broker do not use callback method)
 * 2) GUI Developer Issues: None. This process is built into the RPC Broker. See the "RPC Broker Systems Manual" for details.
 * 3) Authentication of user . After the server connects back to the client machine, the user is asked for an Access and Verify code.
 * 4) GUI Developer Issues:
 * 5) Applications must create a context for the user. This process checks the user’s access to individual RPCs associated with the application.
 * 6) Developers must decide whether to enable Silent Login.
 * 7) Client makes a Remote Procedure Call.
 * 8) GUI Developer Issues:
 * 9) Developers creating Delphi GUI applications can use the TRPCBroker or TSharedRPCBroker components to connect to VistA. For each transaction, the application must set parameters and execute a call. Issues include:
 * 10) Determine data types for input and return.
 * 11) Determine the kind of call to make.
 * 12) In addition to the RPC Broker components, other components are available. The VA FileMan Delphi components (FMDC) encapsulate the details of retrieving, validating and updating VA FileMan data within a Delphi-based application. For further information on the VA FileMan Delphi Components, see [here]
 * 13) In the future, components may become available to encapsulate other VistA functions.
 * 14) RPC execution on server
 * 15) GUI Developer Issues: A Remote Procedure Call (RPC) is a defined call to M code that runs on a VistA M server. For details, see the "RPCs" section of this manual for details. Issues include:
 * 16) Determine the best RPC. The BDK provides some Other RPC Broker APIs. You may need to Creating RPCs from scratch. In many cases, Using an Existing M API can be wrapped into an RPC.
 * 17) RPCs must be registered on the server so users of the GUI VistA application will have access to them. See RPC Security: How to Register an RPC.
 * 18) RPC returns information to the client.
 * 19) GUI Developer Issues: Handling the return values, including any error messages.