Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

What is the ModuleApiProxy?

...

The general performance overhead appears to be just a few percent of the total request time.

Note

Please observe!!

When porting modules utilizing the Noah 4 ModuleApi to a .NET 6 module using the ModuleApiProxy there are some differences to be aware of.
This mostly applies when updating and retrieving actions but events and callbacks are also handled differently.
See: Differences in usage of the ModuleAPI Proxy vs the traditional moduleAPI

Available samples and source code (SDK)

...

Steps involved to develop a .NET 6 module that utilizes the ModuleApiProxy

  1. Reference the following files in your .NET module project (available from the ModuleApiProxy SDK see here:

https://www.himsa.com/members-2/noah-4-module-development/noah-module-development-with-net-6-and-later/)

  • ModuleApiProxyLib.dll (the library is the API client to access the REST API provided by the ModuleApiProxy )

  • ModuleApiProxyLib.dll.xml (this xml file contains XML documentation comments which provides additional information for Visual Studio intellisense)

  • SharedLib.dll (this library contains common functionality, types and definitions required to utilize the ModuleProxyApi)

  • SharedLib.dll.xml (this xml file contains XML documentation comments which provides additional information for Visual Studio intellisense)

  1. Ensure that the following files are copied to the output folder of your .NET module project (available from the ModuleApiProxy SDK see here:

https://www.himsa.com/members-2/noah-4-module-development/noah-module-development-with-net-6-and-later/)

...

In addition to all the .NET 6 modules files the following files, (which are ModuleApiProxy dependencies), must be added to the modules deployment folder as part of the installation process.
All Module Api Proxy files deployed to the .NET 6 modules folder (SharedLib.dll, ModuleApiProxyLib.dll, ModuleApiProxy.exe, ModuleApiProxy.Config.json) can be removed when the module is uninstalled.

Info

Install ModuleApiService by running the Setup.exe (available from the ModuleApiProxy SDK).
The setup.exe will install the 'ModuleApiService' which creates and updates the certificate used for the https communication between ModuleApiProxyLib and ModuleApiProxy.
This file can be installed without user interaction using this command line:
setup.exe /v"/qb"
or silently, (no user interaction and no progress is displayed), using this command line:
setup.exe -s /v"/qn"
The ModuleApiService must be installed before the ModuleApiProxy can be used.

Note

The ModuleApiService should never be uninstalled when a PIMA module is uninstalled as this service is shared by all PIMA modules on the computer

Info

Deployment configurations (version dependent)
The following step specifies different deployment folders for PIMA 1.0.0 and 1.0.1 vs 1.0.3.
The files below (available from the ModuleApiProxy SDK) must be included when installing/deploying the module to a computer where Noah 4.9 or later is installed (see

...

below)

  1. ModuleApiProxyLib.dll

  2. SharedLib.dll

  3. ModuleApiProxy.exe

  4. ModuleApiProxy.Config.json

...

...

Using PIMA version 1.0.0 and 1.0.1 of the ModuleApiProxy the component must be deployed like this:
(In the table below the files in cells with green background are provided by HIMSA)

.NET 6 Module Deployment files

Deployment Folders

MyDotNet6Module.exe
“Other Module related files“

..\MyModuleFolder\

SharedLib.dll
ModuleApiProxyLib.dll
ModuleApiProxy.exe
ModuleApiProxy.Config.json

..\MyModuleFolder\

Starting with version 1.0.3 of the ModuleApiProxy the component must be deployed like this:
(In the table below the files in cells with green background are provided by HIMSA)

.NET 6 Module Deployment files

Deployment Folders

MyDotNet6Module.exe
“Other Module related files“

..\MyModuleFolder\

ModuleApiProxyLib.dll
SharedLib.dll

..\MyModuleFolder\

ModuleApiProxy.Config.json
ModuleApiProxy.exe

..\MyModuleFolder\.proxy