Valentina ADKs

Valentina Application Developer Kits (ADKS) are both component collections and products. A portion of the components act as a client for working with data sources. Another portion acts as a high performance runtime. This is a brief technical introduction to Valentina ADKs.

ADK Components

An Application Developer Kit is a toolkit (aka SDK or ADK) that includes multiple components that work on a single operating system and with a specific development platform. There are three main components within each Valentina ADK installation.

Valentina Database Engine

Valentina Database (Valentina DB) is Paradigma Software's powerful database system. Valentina Database ADK can work with local Valentina DB databases in a single user mode. It is used for embedding an advanced database management system in your application.

Valentina DB ADK products are listed by the operating system and development platform. For example, Valentina DB ADK for C++ for Windows includes the components needed to deploy the database system on Windows and developed in C++, such as developing in C++ with Microsoft Visual Studio.

Valentina DB ADKs are commercial, licensed products.

Valentina Reports Engine

Works with local Valentina Project for the generation of reports. Although is is for local applications with reports and using vreport.dll, the datasource for a report can be a connection to remote DB server.

Valentina Reports ADK products are listed by the operating system and development platform. For example, Valentina Reports ADK for C++ for Windows includes the components needed to deploy the reporting system runtime on Windows and developed in C++, such as developing in C++ with Microsoft Visual Studio.

Valentina Reports ADKs are commercial, licensed products.

Valentina Client

Works remotely with Valentina Server, which manages databases and reports in a multi-user mode.

Valentina ADK components are commercially licensed for local access and local storage. The Valentina Client components are associated with Valentina Server and require a Valentina Server license (but otherwise function without being serialized). There is no cost with using the Valentina Client. The cost is assumed as a part of the Valentina Server license.

Paradigma Software ships many ADK products for the most popular programming languages and IDEs. To plug a Valentina component DLL into these IDEs and development systems, a plugin portion of an ADK is used.

ADK Plugin

Most Valentina components themselves are built in in C++. Most Rapid-Application-Development (RAD) IDEs and programming languages provide some plugin system to allow access to third party C/C++ libraries.

Usually it should have at least one C function in the plugin to call one function in the C++ library. This plugin's function gets parameters, transforms them into C++ library parameters, call C++ library, gets result back if needed and transforms it into the format that IDE understands. As a result, a user/developer in that IDE gets set of functions or object-oriented classes for use.

Having this, it is easy to see that each Valentina ADK contains:

  • vcomponents folder with few Valentina Components shared libraries (DLL for Windows, DYLIB for OS X, .sp for Linux).
  • PLUGIN, which calls that vcomponents libraries.

ADK Getting Started

Installing ADKs

To start work with a Valentina ADK, download and install it. In the HOME/Paradigma Software folder you will find installed ADK folder with plugins, examples and possibly other helpful files. You should install plugin manually into your IDE/language. Read the details about installation of particular ADK in its sections.

ADK Example Code and Projects

Most ADKs have a simple tutorial and set of 40-60 examples described in Example Guide.

The examples tend to be as simple as possible and demonstrate a specific feature of the ADK as it works within the development environment.

ADK Reference

You should learn the API of your ADK. In the WIKI we provide section with general API Reference.

For some ADKs you can find PDF of API Reference. If you are still new to programming or new to your development environment, you will need additional time to understand how to work with the API.

ADK Reference

You also should be familiar with SQL to be able to query database. Read Valentina SQL Reference .

Even if you are using the native level API with Valentina DB for example, you will find a basic knowledge of SQL to be useful.

You can also find it useful to use the SQL Builder tool in Valentina Studio to generate queries visually.

ADK Documentation Entry Points

The following table allows you to do a fast jump into major sections of a particular Valentina ADK:

Valentina for Cocoa Docs FAQs
Valentina for C++ Docs FAQs
Valentina for C Docs FAQs
Valentina for COM Docs FAQs
Valentina for Director Docs FAQs
Valentina for Java Docs FAQs
Valentina for .NET Docs FAQs
Valentina for ODBC Docs FAQs
Valentina for PHP Docs FAQs
Valentina for Xojo Docs FAQs
Valentina for LiveCode Docs FAQs
Valentina for Ruby Docs FAQs

Single ADK Archive Per Platform

Although they both occupy the same archive and share some components, Valentina DB ADK and Valentina Reports ADK are two separate products, available in the Paradigma Store. The components can be initialized individually or separately on start up.

Historically and beginning with Valentina Release 5, Valentina Reports was no longer limited to working with Valentina DB. Version 5 and later can connect with many different data sources such as PostgreSQL, MySQL and more. With Valentina Release 5, Valentina Reports became its own product, but still shares many components with Valentina DB. Therefore, there is a single ADK archive for each platform. If you want to develop reports with e.g. PostgreSQL using the Xojo development environment, you should download “Valentina for Xojo” ADK and install it. Using the same archive of a Valentina ADK you can develop different kinds of applications:

  • APP with LOCAL Valentina DB uses - { vshared.dll + vkernel.dll + V4RB plugin }
  • APP with LOCAL REPORTS uses - { vshared.dll + vkernel.dll + vreport.dll + V4RB plugin }
  • APP with CLIENT to VSERVER uses - { vshared.dll + vclient.dll + V4RB plugin } and can work with both DB and REPORTs on that VSERVER.

Of course you can develop an application, which combines all above, i.e. is able to work with few local Valentina databases, few Valentina Servers, open local or remote Valentina Projects and generate reports using different data sources.