Gardens Builder

 

Garden Builder as an implemented GAM model in MS Windows

Depending on setup parameters and licence rights, Gardens Builder can be used as an integrated development environment, client application or application server (GAS - Gardens Application Server).

IDE – Integrated Development Environment of Gardens Builder provides the following enhancements:

  • (RAD) – a visual window and report editor,
  • A package and function editor (syntax highlighting, prompt boxes displayed while entering a code)
  • A debugger enabling you to trace the code that is being processed
  • Support provided for multiple languages.

Gardens Builder incorporates its unique programming 4th generation language named QLX and an embedded complier, which enables fast and easy modification of each application area. The QLX kernel contains a variety of graphic functions for easy GUI modification. The programming language is simple and optimised in order to reduce time-consumption involved in designing and modifying application logics. The structure of the complier ensures safe modification when the system is operating, which shortens implementation processes and application testing.

The system enables you to work with multiple databases by using OLEDB interfaces that support database connections. It is also possible to use a custom file database. Besides, the system provides simple mechanisms for creating automatic data imports and exports in text files (XML, CSV, TAB).

The Gardens kernel is equipped with a mechanism of basic COM+ interfaces for managing external objects (the possibility to communicate with COM applications such as MS WORD, MS EXCEL).

By using the TCP/IP network, it possible to establish communication between Gardens applications. This enables you to create dispersed multilevel systems as well as data replication systems.

Structure

Gardens Builder has been written using only STL C++. In the GUI area, specialised classes were created using WIN 32 API. For database communication, OLEDB low-level interfaces were used. Additionally, a custom file database was created. The QLX kernel contains mechanisms of basic COM+ interfaces for controlling external objects, a custom protocol and TCP/IP features, as well as custom compression and data coding algorithms and a direct XML parser for Data Scheme structures.

The whole software was written in the C++ language. The source is highly optimised and it consists of approximately 9000 code lines, whereas the object code is only 950 KB.

QLX complier

The complier we have created is our own invention. It operates as a parser when text source objects are loaded to a memory with a complex hierarchic structure using a binary address tree for value searches. At runtime, only object stacks are created and addresses are computed, providing some basic calculations. It ensures high efficiency of the database operations (which is better in comparison to other 4GLs).

This structure allows extreme computing such as compilation of one of package functions with other functions operating simultaneously.

Garden repository


All components of the garden are stored in a database or in files. The garden repository contains a set of system tables, which according to Gardens principles are linked with one another in hierarchical structures of Data Schema. The garden repository includes:

  • Data Scheme Trees – a set of trees that define a data scheme in the application
  • Custom Types – a set of custom, definable data types
  • Connections – a set of connections
  • Object Tree – a set of object applications (Packages, Windows, Reports)
  • Resources List – the list of graphical resources (icons, pictures, EMF files)
  • Projects – the list of projects grouping garden objects for better management of modifications within the application
  • ML – multi-language dictionaries

Additionally, there are components used for assigning garden versions and creating documentation.

XML .NET Transformer

Gardens Application Model Builder can work as an application server for an application that displays the client’s GUI on web sites. In this case, a GAM builder component named XML. NET Transformer is an application used to display XML window views. Then, the B2B web site is transformed into a ASP.NET Web Form. Application logics is processed by the GAM server.

Window transformation to an XML formats is also applied in mobile applications.

ComWin application server interface

Gam builder provides an Application Server Interface named ComWin.

It allows automatic generation of thin client application in the WPF XAML format (Window Presentation Foundation), or UWP XAML format (Universal Windows Platform). ComWin also lets you communicate using JSON or XML. Application Server is a 2 layer executive and allows remote control GUI and ERP system logic. With this property, you can easily create various forms of thin clients in the web browser, tablet device, or smartphone.

Watch video

 

Designing an application

The highly optimised code of QLX has autocreation features. It can be used to develop a high-level tool that enables you to design the automatic generation process of gardens – an object program (CASE).
Gardens enables you to create any application in a very short time. It can be used to create tools that optimise the process of building an application. Therefore, it is possible to set up a garden that “designs and generates other gardens”.