Difference between revisions of "RPC HELP Broker Overview"
From VistApedia
(Created page with "<H1>'''Broker Overview'''</H1> <HR> The RPC Broker is a bridge connecting the application front-end on the client workstation (e.g., Delphi-based GUI applications) to the M-ba...") |
|||
Line 1: | Line 1: | ||
− | < | + | <H2>'''Broker Overview'''</H2> |
<HR> | <HR> | ||
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. | 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 | + | '''Client Side of the RPC 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. | ||
+ | |||
+ | '''Server Side of RPC the Broker''' | ||
+ | * 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. | ||
+ | |||
+ | <H3>'''Broker Call Steps'''</H3> | ||
+ | |||
+ | 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | # <u>Authentication of client machine</u>. 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) | |
− | + | ## GUI Developer Issues: None. This process is built into the RPC Broker. See the "RPC Broker Systems Manual" for details. | |
− | + | # <u>Authentication of user</u>. After the server connects back to the client machine, the user is asked for an Access and Verify code. | |
− | + | ## GUI Developer Issues: | |
+ | ### Applications must [[RPC_HELP_create_context|create a context]] for the user. This process checks the user’s access to individual RPCs associated with the application. | ||
+ | ### Developers must decide whether to enable [[RPC_HELP_Silent_Login|Silent Login]]. | ||
+ | # <u>Client makes a Remote Procedure Call</u>. | ||
+ | ## GUI Developer Issues: | ||
+ | ### Developers creating Delphi GUI applications can use the [[RPC_HELP_TRPCBroker|TRPCBroker]] or [[RPC_HELP_TSharedRPCBroker|TSharedRPCBroker]] components to connect to VistA. For each transaction, the application must set parameters and [[RPC_HELP_execute_a_call|execute a call]]. Issues include: | ||
+ | #### Determine data types for input and return. | ||
+ | #### Determine the kind of call to make. | ||
+ | ### 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 [[http://vista.med.va.gov/fmdc/index.asp here]] | ||
+ | ### In the future, components may become available to encapsulate other VistA functions. | ||
+ | # <u>RPC execution on server</u> | ||
+ | ## 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 [[RPC_HELP_RPCs|"RPCs"]] section of this manual for details. Issues include: | ||
+ | ### Determine the best RPC. The BDK provides some [[RPC_HELP_RPC_BROKER_APIs|RPC BROKER APIs]]. You may need to [[RPC_HELP_RPC_Create_Your_Own_RPC|create your own RPC]] from scratch. In many cases, [[RPC_HELP_Existing_M_API|an existing M API]] can be wrapped into an RPC. | ||
+ | ### RPCs must be registered on the server so users of the GUI VistA application will have access to them. See [[RPC_HELP_Register_An_RPC|RPC Security: How to Register an RPC.]] | ||
+ | # <u>RPC returns information to the client.</u> | ||
+ | ## GUI Developer Issues: Handling the return values, including any error messages. |
Revision as of 18:42, 3 July 2015
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
- 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.
Server Side of RPC the Broker
- 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.
- 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)
- GUI Developer Issues: None. This process is built into the RPC Broker. See the "RPC Broker Systems Manual" for details.
- Authentication of user. After the server connects back to the client machine, the user is asked for an Access and Verify code.
- GUI Developer Issues:
- Applications must create a context for the user. This process checks the user’s access to individual RPCs associated with the application.
- Developers must decide whether to enable Silent Login.
- GUI Developer Issues:
- Client makes a Remote Procedure Call.
- GUI Developer Issues:
- 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:
- Determine data types for input and return.
- Determine the kind of call to make.
- 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]
- In the future, components may become available to encapsulate other VistA functions.
- 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:
- GUI Developer Issues:
- RPC execution on server
- 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:
- Determine the best RPC. The BDK provides some RPC BROKER APIs. You may need to create your own RPC from scratch. In many cases, an existing M API can be wrapped into an RPC.
- 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.
- 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:
- RPC returns information to the client.
- GUI Developer Issues: Handling the return values, including any error messages.