What is the ModuleApiProxy?
The ModuleApiProxy has been created to allow Noah Modules utilizing .NET 6 or later to connect to Noah 4.
The current ModuleAPI which is implemented using the Full .NET Framework (version 4.6) relies upon technologies that have been deprecated in .NET 6 and later.
To mitigate this HIMSA is providing the ModuleApiProxy which will host the Noah 4 ModuleApi in a process separate from the .NET 6+ module and allow the module to interact with the Noah 4 ModuleApi via the ModuleApiProxyLib.
See diagram below:
...
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. |
...
The binaries for the ModuleApiProxyLib and SharedLib libraries and .NET 6+ module sample source code is available here:
https://www.himsa.com/members-2/noah-4-module-development/noah-module-development-with-net-6-and-later/ (log-in required)
...
When developing a new .NET 6+ module for Noah 4 you will need to reference a few files required when developing a .NET 6+ module utilizing the ModuleApiProxy.
Steps involved to develop a .NET 6+ module that utilizes the ModuleApiProxy
Reference the following files in your .NET module project (available from the ModuleApiProxy SDK see here:
...
Module Deployment
When deploying a .NET 6+ module using the ModuleApiProxy to a computer with Noah 4 the following files must be deployed.
The files in the ModuleApiProxy are self-contained and do not depend upon the .NET Runtime, however the .NET 6+ module utilizing the ModuleApiProxy will have to install the appropriate .NET Runtime upon which it depends.
The .NET 6+ Runtimes can be downloaded from here: Download .NET
Required steps when deploying a .NET 6+ module using the ModuleApiProxy
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.
...
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 | ..\MyModuleFolder\ |
SharedLib.dll | ..\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 | ..\MyModuleFolder\ |
ModuleApiProxyLib.dll | ..\MyModuleFolder\ |
ModuleApiProxy.Config.json | ..\MyModuleFolder\.proxy |