Differences in usage of the ModuleAPI Proxy vs the traditional moduleAPI

.NET 6 modules using the ModuleAPI Proxy will interact with the ModuleApi via a Proxy process (ModuleApiProxy) hosting the ModuleApi instance utilized by the .NET 6 module when interacting with Noah 4.
For further details about this see .


Traditional Modules using .NET 4.x Framework and the traditional ModuleAPI were hosting the ModuleAPI class library in-process and able update state on objects provided via this library.
Modules using .NET 6 cannot use the traditional ModuleAPI in-process, (as it relies upon .NET Remoting technology that isn’t supported in .NET 6), hence any change to state of the ModuleAPI hosted in the ModuleApiProxy process must happen via a request to the REST API of this process.


Scenarios where a .NET 6 modules requires a specific flow.

The REST API exposed by the ModuleApiProxy is utilized by the .NET 6 Module via the 'ModuleApiProxyLib' client library.
Please observe that the 'ModuleApiProxyLib' client library is not expected to undergo any major changes, however there may be changes from one release to the next.
The source code for a .NET 6 version of the Noah 4 Sample module is available to show how common functionality is handled.

Handling callbacks

  • Please refer to the sample code for the Noah 4 Sample module to see the specific code handling callbacks

 

Using the Action object

  • “Blob data” (e.g. PublicData, PrivateData, SetupData) must be retrieved explicitly to be accessible and before any updates.

  • Before converting the the publicData of the Action object - the actions publicData must be retrieved explicitly to be accessible and before any updates.

  • Fastviews has blob data Fastview.Data and must be retrieved explicitly to be accessible and before any updates.

  • Action References must be retrieved explicitly to be accessible and before any updates.

 

Error handling

  • In case of errors or timeouts in the communication between the ‘ModuleApiProxyLib' and the REST API on the MOduleApiProxy process a 'ModuleApiException’ exception can be thrown.