Linkar is a suite of components that facilitates efficient connectivity to MultiValue Databases.
Linkar SERVER works with many MultiValue Database platforms, centralizing connections and optimizing DBMS licence usage.
Client apps use Linkar CLIENTS or Linkar FRAMEWORK libraries, with bindings for popular programming languages, to interact with the database through the Linkar SERVER.
Apps are database independent. The Linkar SERVER handles all communications with the database.
Linkar has this functional components:
A service that manages all communications with the MultiValue databases.
It is a sophisticated socket server that listens for CLIENTS requests. By accessing the database through the Linkar SERVER it has these advantages compared to direct access from a client application:
• Client applications through Linkar do not need an exclusive database licence. Different clients can share a single database licence with session pooling to maximize licence efficiency.
• Client applications do not need to manage connections with databases. The Linkar SERVER will open connections on demand, as required. The Linkar SERVER is also responsible for releasing open connections, automatically or on demand, when its use is no longer necessary, optimizing the use of licences in the database.
• Client applications are independently designed from the MultiValue database type that they will use.
The Manager is responsible for the configuration and monitoring of Linkar SERVER.
It is also responsible for managing requests through the Linkar REST API.
Linkar MANAGER uses the Kestrel web server internally, though Linkar MANAGER can be configured to use any other web server, like IIS or Apache.
This browser-based application facilitates configuration of Profiles and EntryPoints to databases, monitoring and management of open sessions, definition of Schemas (see below), and creation of REST API Keys (see below).
A Profile defines a DBMS server. EntryPoints within the Profile describe the number of sessions to use, when and how to open those sessions, and the DBMS connection type. Sessions can be configured to initialize permanently, when starting the Linkar SERVER service, or to start on-demand when working conditions require more sessions to meet client requests. EntryPoint configuration within the Manager facilitates configuration of Login Strings for connections via "Terminal" interfaces (Telnet or SSH) with any database.
Notifications display in the Manager when product updates are available.
Linkar Schemas allow definition of a database so that it is understood by the relational world, where Multivalues, and Subvalue groups, are seen as independent relational tables. Linkar Schema definitions expand the definition of a file and its attributes with a series of properties that can be used in different environments or platforms, such as .NET and Java.
Linkar REST API provides an interface for applications to interact with the Linkar Suite by sending and receiving data as JSON or XML objects. All CRUD operations are supported by the API, including execution of TCL commands and BASIC subroutines. This facilitates usage of the MVDBMS by any client application with no understanding of MV or Linkar.
Linkar FRAMEWORK is a set of open-source libraries that allows developers to create their own applications that connect to the linked Linkar Server to access the different MV Databases.
Linkar FRAMEWORK is available with different programming languages and environments:
•The .NET Framework libraries are for Windows x64 and x86 environments, and languages including C#, Visual Basic, and F#.
•The .NET Core libraries are for multi-platform development including Windows, Linux, and macOS with C#.
•Java is for all OS types.
•The C Library can be used with all languages and environments, including within PHP, Python, and Node.js.
•The Node.js and Python Framework libraries for easily building fast and scalable network applications.
The following languages and environments are available in the version of Linkar CLIENTS. They will soon be adapted to Linkar FRAMEWORK:
•The COM Library found in the .NET Framework package.
•The Mono Library
•The PHP extension.
We advise you to use the Linkar Framework for .NET, CORE, JAVA, C and Node.js.
Linkar CLIENT libraries allow the communication of an application with the Linkar SERVER, and through the Server with the different databases.
Programmers request and receive data required by a client application through functions provided by the Linkar Clients.
Linkar exposes a consistent API for many languages to many MVDBMS platforms. Applications do not need different tooling, depending on the MV database, choice of programming language, OS of the client, or OS of the server. All Linkar Client connectors communicate with the Linkar SERVER, which is then responsible for access into all MV systems.
There are Linkar Clients compatible with different programming languages and environments:
• The .NET Framework libraries are for Windows x64 and x86 environments, and languages including C#, Visual Basic, and F#.
• The COM Library found in the .NET Framework package supports COM development, Microsoft Office VBA (including Excel, Outlook, and Word), and other languages over Windows including Perl, PHP, Python, and Ruby.
• The .NET Core libraries are for multi-platform development including Windows, Linux, and macOS with C#.
• Mono libraries are also for multi-platform development including Windows, Linux, and macOS with C#.
• Java is for all OS types.
• The C Library can be used with all languages and environments, including within PHP, Python, and Node.js.
• The PHP Extension is used over Linux.
• There is a Python Extension.
• There is also an extension specific to Node.js.
• The lksendcommand is a cross-platform console application, embedding Linkar CLIENT, to perform operations from the OS command-line and scripts. For example, you can write a .bat file or shell script that sends and retrieves data to/from the MV server for any purpose. From MVBASIC to connect with other different MVDBMS type.
Linkar TRAINER is a .NET 5 application that uses Linkar Framework libraries compiled in .NET Standard 2.0.
The purpose of this application is to achieve two objectives:
•To serve as a tool to check the correct operation of each of the Linkar Framework library functions, Linkar Trainer connects with a Linkar server against which to execute the dif-ferent functions of the libraries
•To serve as an aid to the developer, by showing the syntax of each of the functions in the different programming languages.
The Linkar Tester allows testing of all library functions through a GUI application. This includes time measuring operation performance and command execution. The Tester is not an end user application. Its serves as an educational tool, to allow exploration of all the options and possibilities of the Linkar CLIENT library functions. It is also useful to check the correct installation of the Suite.