JS2DX is a new Client-Server technology under development. Its Server is implemented with stored procedures of a relational database. The Server interfaces directly with the Client by sending/receiving JSON strings. While JS2DX provides functionality of a Web Application there is middle tier in its architecture.

When matured this technology may find various uses extending into embedded systems integration. JS2DX comes with a graphing object implemented with JavaScript + DHTML. There is a demo of a dial arrow rotation on this page. Instruments like these will be used to make dashboards and displays of various moving parts.

The Server is implemented with PL/pgSQL of Postgres. Its application code is a propriatory object oriented programming language. This language has low and high levels where the former is sets of nested key-value pairs and the latter is syntax-independent. Server application code repository is a database with Entity-Attribute-Value schema. It stores program code and application data in a normalized form. Tt makes possible querying application code for occurrences of a specific mnemonic. More about the language here: http://sproutpl.wordpress.com

The Client component of JS2DX is written with JavaScript and is run with a browser while desktop version is planned. The Client receives JSON strings from the Server and instantly builds or updates interface pages. The JSON structure supports tree + tabular layouts which may be intermixed. Aside of native JS functionality it is extensible with third party JavaScript libraries (for example DHTMLX which is currently supported, jQuery, MooTools, etc).

JS2DX Client may be used as standalone JavaScript API without connecting to the Server. This allows short-hand coding of complex Web GUI pages and is already used in commercial products.

Demo of arrow moving across the dial.

This graphing object is implemented with JavaScript + DHTML only and is instantiated with a JSON string. It will be used to make complex dashboards and displays of moving parts.

Appearance of arrow changes as it slides over the dial markings:

Inertial navigation system (INS).

Rather than applying the method of "dead-reckoning" JS2DX proposes calculating current vehicle position via continuous database querying. In eliminating application layer it is feasible to realize JS2DX in a form of compact electronic component without main processor or operating system.

Operation of such system would be attained by retrieving a dataset containing vehicle position data from querying sensor readouts in database index. Result of the query would yield not only the current position but also all possible positions of the vehicle in t + n. Depending on system performance n may range from 1 millisecond to several seconds. Thus at any time t INS would be aware of possible vehicle positions in immediately upcoming time frame.

Such process would enable the INS to select most optimal path for the vehicle to travel, for example with lowest drag and turbulence by selecting a most appropriate result from datasets returned by a query.

The results in datasets would be computed in stationary environment, on machines that exceed in computing power those placed on board of moving vehicles. This would ensure higher degree of accuracy than in real-time "dead-reckoning" computation systems.

JS2DX client relies on an in-memory entity-attribute-value (EAV) database. It is written in JavaScript and stores data of document page elements.

Console shows view of database indexes:
i - identity, auto increment number
s - slot, enumerator of document node branches
I - index of array with node data
k - node type, supports div, grid, tree, etc

A recursive interpreter reads document JSON string (top right) and builds database indexes. and generates nested string output of HTML code. The interpreter provides API to browser objects while the database keeps real-time snapshot of data pertaining to document page. The API supports command mapping to various JavaScript libraries like DHTMLX and jqWidgets.

In lower left is database log.

JS2DX client side was tested with latest versions of popular browsers and Android OS. It is used in a commercial database interface product. Online since Dec'13. Many parts of this comprehensive platform are in prototype state and under development. Initial investment is needed.

Developed by Sergei Sheinin

Connect with JS2DX

Tel: +84 168 356 7339


© JS2DX    Powered by JS2DX     Online since 2014