Broker help/TOC
- This is a conversion of the Broker.hlp file to mediawiki format using the helpdeco converter program converted to vistapedia.net by Ignacio Valdes of Astronaut, LLC The original formatting such as Table of Contents linking and screen shots is not present.
- Base broker.hlp>main
- Title RPC Broker Developer's Guide
RPC Broker V. 1.1 Developer's Guide
Contents
- 1 Overview
- 2 RPC Broker Components and Classes
- 3 Remote Procedure Calls (RPCs)
- 4 Other RPC Broker APIs
- 4.1 Overview
- 4.2 Encryption Functions
- 4.3 GetServerInfo Function
- 4.4 M Emulation Functions
- 4.5 VistA Splash Screen Procedures
- 4.6 $$BROKER^XWBLIB
- 4.7 $$RTRNFMT^XWBLIB
- 4.8 XWB ARE RPCS AVAILABLE
- 4.9 XWB IS RPC AVAILABLE
- 4.10 XWB GET VARIABLE VALUE RPC
- 4.11 Running RPCs on a Remote Server
- 4.12 Deferred RPCs
- 5 Debugging and Troubleshooting
- 6 Developer Utilities
- 7 Tutorial
- 7.1 Introduction
- 7.2 Advanced Preparation
- 7.3 Step 1: Create Application with an RPC Broker Component
- 7.4 Step 2: Get Server/Port
- 7.5 Step 3: Establish Broker Connection
- 7.6 Step 4: RPC Routine to List Terminal Types
- 7.7 Step 5: RPC to List Terminal Types
- 7.8 Step 6: Call the ZxxxTT LIST RPC
- 7.9 Step 7: Associate IENs
- 7.10 Step 8: Routine to Retrieve Terminal Types =
- 7.11 Step 9: RPC to Retrieve Terminal Types
- 7.12 Step 10: Call Zxxx RETRIEVE RPC
- 7.13 Step 11: Register RPCs
- 7.14 See Also: FileMan Delphi Components (FMDC)
- 7.15 Tutorial Source Code
- 8 DLL Interface
Overview
Introduction
The RPC Broker is a client/server system within VA's Veterans Health Information Systems and Technology Architecture (VISTA) environment. It enables client applications to communicate and exchange data with M Servers.
This manual describes the development features of the RPC Broker. The emphasis is on using the RPC Broker in conjunction with Borland's Delphi software. However, the RPC Broker supports other development environments.
This manual provides a complete reference for development with the RPC Broker. For an overview of development with the RPC Broker component, see the "RPC Broker V. 1.1 Getting Started with the Broker Development Kit" manual.
This document is intended for the VISTA development community and Information Resource Management (IRM) staff. A wider audience of technical personnel engaged in operating and maintaining the Department of Veterans Affairs (VA) software might also find it useful as a reference.
Broker Overview
For the latest RPC Broker product information, please refer to the RPC Broker Home Page on the web at: http://vista.med.va.gov/broker/index.html.
About this Version of the RPC Broker This version of the Broker provides programmers with the capability to develop new VISTA client/server software using the Broker Delphi component (i.e., TRPCBroker) in the 32-bit environment.
Orientation
- Patches **
This version of the RPC Broker includes the following patches (listed in sequence order):
Seq # | Patch | Subject | Release Date |
---|---|---|---|
1 | XWB*1.1*1 | Some Small Fixes | 02/18/98 |
2 | XWB*1.1*2 | Encryption, Data Collection, Agent | 07/27/98 |
3 | XWB*1.1*3 | Security Log Problem (XWBSEC Routine) | 01/06/99 |
4 | XWB*1.1*5 | RUM Support | 03/31/99 |
5 | XWB*1.1*7 | Broker Listener/Available Slots | 06/04/99 |
6 | XWB*1.1*4 | Updated BDK and Kernel Login Fixes | 06/24/99 |
7 | XWB*1.1*6 | Eliminate Orphaned Server Jobs | 09/09/99 |
8 | XWB*1.1*8 | GUI Multi-Division Support | 12/10/99 |
9 | XWB*1.1*9 | Caché License Fix | 01/24/00 |
10 | XWB*1.1*11 | Delphi V. 5 Support | 01/24/00 |
11 | XWB*1.1*15 | Broker Command Error Fix | 04/12/00 |
12 | XWB*1.1*10 | RPC Availability | 08/04/00 |
13 | XWB*1.1*12 | Server to Server RPC's | 08/04/00 |
14 | XWB*1.1*18 | XWB2HL7 Routine Fix | 10/17/00 |
15 | XWB*1.1*14 | Release Source Code for BDK | 10/17/00 |
16 | XWB*1.1*20 | RDV Proper Setup of DUZ | 05/10/01 |
17 | XWB*1.1*22 | Name and Null Subscript Error | 10/03/01 |
18 | XWB*1.1*24 | Correct Problem with Reading Registry | 11/09/01 |
(Updated BDK, Delphi 4 and 5 versions only) | |||
19 | XWB*1.1*16 | Read/Write Errors | 02/06/02 |
20 | XWB*1.1*27 | Remote Data Request Processing | 03/15/02 |
21 | XWB*1.1*13 | Silent Logon, Bug Fixes, & Delphi V. 6 | (Current) | Support (Updated BDK)</tr>
</table> To develop VISTA applications in a 32-bit environment you must have Delphi V. 2.0 or greater. This version of the TRPCBroker component does not allow you to develop applications in Delphi V. 1.0. However, the Broker routines on the M server will continue to support VISTA applications previously developed in the 16-bit environment. The default installation of the Broker creates a separate Broker Development Kit (BDK) directory (i.e., BDK32) that contains the required Broker files for development. The Office of Information (OI) will support the Broker Development Kit running in the currently offered version of Delphi and the immediately previous version of Delphi. This level of support became effective 6/12/2000. Sites may continue to use outdated versions of the RPC Broker Development Kit but do so with the understanding that support will not be available and that continued use of outdated versions will not afford features that may be essential to effective client/server operations in the VISTA environment. An archive of old (no longer supported) Broker Development Kits will be maintained at: http://vista.med.va.gov/broker/archives/index.html About this Version of the RPC BrokerWhat's New in the BDKDeveloper ConsiderationsApplication IssuesSilent LoginContext-sensitive Help for the TRPCBroker ComponentRPC Broker Components and ClassesTRPCBroker ComponentTXWBRichEdit ComponentTMult ClassTParamRecord ClassTParams ClassTVistaLogin ClassTVistaUser ClassEBrokerError ExceptionUnitsHash UnitLoginFrm UnitMFunStr UnitRPCConf1 UnitRpcSLogin UnitSplVista UnitTRPCB UnitTVCEdit UnitRemote Procedure Calls (RPCs)OverviewWhat Makes a Good RPC?Creating RPCsUsing an Existing M APIM Entry Point for an RPCRelationship Between an M Entry Point and an RPCFirst Input ParameterReturn Value TypesInput ParametersExamplesRPC Entry in the Remote Procedure FileRPC Entry in the Remote Procedure FileRPC Version in the Remote Procedure FileBlocking an RPC in the Remote Procedure FileCleanup after RPC ExecutionDocumenting RPCsExecuting RPCs from ClientsHow to Execute an RPC from a ClientRPC Security: How to Register an RPCRPC LimitsBrokerExample Online Code ExampleOther RPC Broker APIsOverviewEncryption FunctionsGetServerInfo FunctionM Emulation FunctionsVistA Splash Screen Procedures$$BROKER^XWBLIB$$RTRNFMT^XWBLIBXWB ARE RPCS AVAILABLEXWB IS RPC AVAILABLEXWB GET VARIABLE VALUE RPCRunning RPCs on a Remote ServerOptions For Running RPCs on a Remote ServerChecking RPC Availability on a Remote ServerXWB DIRECT RPCXWB REMOTE RPCXWB REMOTE STATUS CHECKXWB REMOTE GETDATAXWB REMOTE CLEARDeferred RPCsOverview of Deferred RPCsXWB DEFERRED RPCXWB DEFERRED STATUSXWB DEFERRED GETDATAXWB DEFERRED CLEARXWB DEFERRED CLEARALLDebugging and TroubleshootingOverviewHow to Debug Your ApplicationRPC Error TrappingIdentifying the Listener Process on the ServerIdentifying the Handler Process on the ServerTesting Your RPC Broker ConnectionClient Timeout and Buffer ClearingMemory LeaksDeveloper UtilitiesRPC Broker Programmer PreferencesTutorialIntroductionAdvanced PreparationStep 1: Create Application with an RPC Broker ComponentStep 2: Get Server/PortStep 3: Establish Broker ConnectionStep 4: RPC Routine to List Terminal TypesStep 5: RPC to List Terminal TypesStep 6: Call the ZxxxTT LIST RPCStep 7: Associate IENsStep 8: Routine to Retrieve Terminal Types =Step 9: RPC to Retrieve Terminal TypesStep 10: Call Zxxx RETRIEVE RPCStep 11: Register RPCsSee Also: FileMan Delphi Components (FMDC)Tutorial Source CodeDLL InterfaceIntroductionDLL Special IssuesRPC Results from DLL CallsGetServerInfo Function and the DLLDLL Exported FunctionsRPCBCallRPCBCreateRPCBCreateContextRPCBFreeRPCBMultItemGetRPCBMultPropGetRPCBMultSetRPCBMultSortedSetRPCBParamGetRPCBParamSetRPCBPropGetRPCBPropSetGuidelines for C++OverviewTRPCBroker C++ Class MethodsInitialize the ClassCreate Broker InstancesConnect to the ServerExecute RPCsDestroy Broker InstancesGuidelines for COverviewInitialize—LoadLibrary and GetProcAddressCreate Broker ComponentsConnect to the ServerExecute RPCsDestroy Broker ComponentsGuidelines for Visual BasicOverviewInitializeCreate Broker ComponentsConnect to the ServerExecute RPCs===Destroy Broker Components === |