Apla for Developers

Apla Blockchain
Apla
Published in
5 min readOct 11, 2018

Integrated Application Development Environment

Molis Software Client

The Apla platform includes an Integrated Development Environment, which allows for the creation of inter-cooperating applications in the platform’s software client (Molis) without resorting to any other software product.

Molis includes a contract editor (with the Simvolio proprietary language), an interface editor (proprietary template processor language Protypo), instruments for working with database tables, as well as a language resource customizer, application import/export mechanism, and other useful functions.

Apla Applications

An application built on Apla is a system of tables, contracts, and interfaces with pre-configured permissions. Applications are built to perform a certain function or provide a dedicated service. An application does not require the presence of a unifying, coordinating contract (master contract); contracts are executed by user activities, and the results of their work are recorded in tables.

To initialize user events, a special notification system is used, which can send messages to ecosystem members (or roles) with an invitation to proceed to a certain interface page and perform a required action (sign a contract, confirm data, etc.) This mechanism of application development allows, on the one hand, to model complex activities, and on the other, to simplify and speed up the creation and modification of applications.

Smart Contracts

Smart contracts are the basic elements in the implementation of algorithms in applications on the Apla platform. Contracts are final portions of code that perform the following functions: (1) receipt of information from the user interface or other contracts (“data” section), (2) analysis of data correctness (“conditions” section), and (3) execution of the required transactions — database records (“actions”).

Apla contracts are written using a proprietary Turing-complete scripting language called Simvolio. The language includes the required set of functions to create data processing algorithms and conduct operations with database values. The contracts are created and modified with a specialized editor in the Molis software client. Operations involving data in the blockchain are performed by the current (most recent) versions of contracts. The entire history of changes made to contracts is saved in the blockchain and is available from the software client.

Smart Laws

The ecosystems on the Apla platform are created to perform social or economic activities by platform users with the help of applications built on smart contracts. An essential part in the organization of any activity is the establishment of rules, norms and restrictions which regulate the permissions for execution of certain actions.

This set of norms and restrictions is codified within smart laws, the aggregate of which forms the legal system. Unlike smart contracts, smart laws are defined before the beginning of activity in the ecosystem, and are subject to change when needed through the consensus of ecosystem members. The rules for reaching consensus are established in related smart laws.

User Interfaces

Application developers can design interfaces without using the Molis software client and Protypo template language, by working directly through the Apla API instead.

The Integrated Development Environment of the Molis software client includes an editor and visual designer for application interfaces. A specialized template engine language called Protypo is used to describe the structure of interface pages and for data processing.

The functionality of the language allows for retrieving data from database tables and processing it, creating program loops and conditional statements, creating form elements, multi-level menus, as well as executing contracts, and passing user inputs to them. In order to display data in the form of tables and diagrams, special widgets are used in Protypo. In many cases, the visual interface designer allows for the creation of interface pages without resorting to the source code. Both contracts and interface pages are stored in the blockchain, which ensures their protection from being tampered with on the client side.

The complete history of changes made to interface pages is available from the interface designer of the software client. Permissions for creating and editing pages and menus can be configured from the software client as well. User interfaces of applications in Apla are optimized for work on mobile devices by default. Application developers can design interfaces without using the Molis software client and Protypo template language, by working directly through the Apla API instead.

Language Resource Editor

Molis software client employs a mechanism for interface localization by utilizing a special Protypo template language function. This function translates labels in the user interface with corresponding values of a dedicated language resource table in accordance with the language selected by the user. All UI translations in different languages are stored in a dedicated language resource table.

Access Rights Control Mechanism

Apla has a multi-level access rights management system. Access rights can be configured to create and change any element of an application: contracts, database tables, pages, and menus. Permissions to change access rights can be configured as well.

Access rights can be provided to specific members of an ecosystem (network users), or determined by algorithms set out in specialized contracts — smart laws. Additionally, there is an option to provide specific contracts with exclusive rights to change values in any number of single columns in a database table.

By default, all rights in an Apla ecosystem are managed by its founder. However, after special smart laws are created, access rights control can be transferred to all ecosystem members or a group of such members.

Import and Export of Applications

Molis software client allows application elements (tables, contracts, pages, and language resources) to be exported to a file, which can then be imported into another ecosystem. Both the structure and the contents of the tables can be exported using the tables export feature.

Import and export features can be used to exchange applications between ecosystems, but its primary function is to transfer applications that were developed on local computers or dedicated ecosystems to operating ecosystems.

API

All functions available in the Molis software client, including user authentication, obtaining ecosystems’ parameters data, error handling, operating with database tables, interface pages and contracts are available through Apla’s REST API. Therefore, developers can access all of the platform’s functions though REST API, without using the Molis software client.

DApp Store

Apla has a decentralized DApp store where developers can offer a software license to their applications to the other users for a fee or free of charge as they wish. The fees are payable in APL tokens.

The functioning of the DApp Store is based on the following principles:

Diversity

The application development is initiated, managed and executed by Apla developers who have different skill sets, cultures and nationalities (crowdsourcing model).

Finality

Negotiating of, trading with, development of applications and fees settlement are all done on the Apla platform.

Accountability

Developers are fully responsible for the quality of applications developed. Apla makes no prior verification of applications and takes no responsibility before users for any omissions or failures of said applications. The process of uploading an application to the DApp Store is defined in the Apla Technical Documentation.

--

--

Apla Blockchain
Apla
Writer for

Using Distributed Ledger Technology Apla reduces bureaucracy, replaces legacy systems and optimizes organizational processes for business and government.