Net.Data is designed to allow new language and database interfaces to be added in a pluggable fashion. These language environments are accessed as DLLs or shared libraries. The name of the DLL is configured in the Net.Data initialization file and associated with a language environment name. Each language environment must support a standard set of interfaces defined by Net.Data. Net.Data loads the DLL specified in the initialization file the first time that a function call for a FUNCTION block specifying that language environment is encountered.
Net.Data parses the Net.Data macro, maintains the Net.Data variables, interfaces with the language environments, and formats the output according to the REPORT and MESSAGE block specifications. The language environment supports the interfaces defined to Net.Data, makes the Net.Data parameters accessible to the language processor in some language-dependent manner, calls the language interpreter, and receives the variables back from the language interpreter in some language-dependent manner.