Abubaker Mahmoud, IT Researcher.
Computer Programming Language for Random Data Generation in java environment built on eclipse, generates CSV files, SQL files, XML files, JSON files and populates RDBMS databases directly. xDGL generates data in any human language written in UTF-8 encoding.
The reason of using Eclipse DTP - Data Tools Platfrom is that DTP now supports all types of RDBMS, and the fact that DTP is provided in eclipse java environment as a plugin that has many extension points to be invested in the xDGL program life cycle made the job more easier for the xDGL to acheive the acceptance of most database developers.
All types of RDBMS that has a JDBC driver and can be installed and enabled in the DTP DSE (Data Source Explorer). xDGL had been tested with SQL Server, MySQL, Oracle and PostgreSQL.
As per the design xDGL should work with all the list of databases shown in the DTP DSE.
Four reasons make xDGL state of the art:
1- It is FREE.
2- It supports data geneeration for all UTF-8 encoding and that makes it the best seleection for languages such as Arabic, Chinese, Indi, and the western languagses.
3- It works under eclipse, the widely used IDE for relational databases.
4- It is flexible to any type of data you configure using XML files.
xDGL is a free plugin on eclipse Helios 3.6 fully compatible with eclipse data tools platform DTP. Works perfectly with dozens of RDBMS databases. xDGL was invented by Abubaker Mahmoud, a Canadian Computer expert. xDGL is simple to learn and fast to execute. In one xDGL program file you can include unlimited number of tables definition to generate very hetergenious data. xDGL is designed to solve the problem of most data generators systems works in english. xDGl works in any language that could be written in the UTF-8 encoding. xDGL is the first Java Data Generation Language, the first Eclipse language for Data Genration. xDGL is built in Java, Eclipse and the great xText Framework.
Data Generation Programming language in English
لغة برمجة لتوليد البيانات باللغة العربية
The above diagram shows how xDGL fits in the eclipse IDE and uses its engine to execute all commands. xDGL has four commands to print output in the Eclipse Console IDE, printxxx, and with different formats SQL, CSV, JSON and XML. xDGL also have four commands that writes the output to external filesystem and these commands are writexxx, the file name is generated automatically and it follows the pattern: [ProgramName].[TableName].EXT, the EXT extension coule be .xml, .csv, .json or .sql.
xDGL have also two additional commands to delete and truncate data in the RDBMS table and the other is to populate the table with generated data.
The xDGL language program works optionally with two XML files the data XML that is the core of executing all the rules of r.getxml, and the pairing XML file that is responsible for generating pairing data.
The below Diagram shows the execution nature of the xDGL program, and the three types of the commands. The first type is the console display commands, the second type are the write to file system commands and the third type are the database action commands
The following example shows a minimum xDGL program named minimumDemo, the program defines a date/format in the settings section and a one table that has two fields the first one is called ID and it is generated by the rule r.serial starting from 100 and jumping by 1. the second fields is called StartDate and its a date time field that uses the generation rule r.serial starting from a certain date jumps the days by 1 using the date time format defined in the settings section. In the main section the programs provides only one command and that is the printsql and request for three records to be generated and provide true argument to show the fields list in the insert SQL statements. The console screen shows how the program is executed. This is a typical minimum useful program in xDGL language.
xDGL Version 1.0 (Beta) Download Page.Direct Download, Click here.
Aplogies if you found the videos not so professionally done, I am not so much of a video tutorials evangilist, And the preparations was not cooked well :-)
1. Intorduction to Using xDGL
2. What is Pairing in xDGL.
3. Date-time Data generation in xDGL.
4. Date-time Sequencing in xDGL.
5. xDGL Data Output Commands.
6. Accessing RDBMS From xDGL Program.
Disclaimer,GIPSYS Canada provides xDGL FREE and for the global community of
programmers and data administrators and companies.
For Students,If you are a graduate student, and you think you can develop this language more, please contact the inventor
to have the source code, after showing serious educational intents not commerical intents.