DBMS : Universal development or no development at all !
Sashipa-Melba is a technology for developing relational database interfaces. It works on Windows and Linux. It is open-source and free of cost. You can find it here.
Generated softwares are composed by a sequence of screens. Here are several screens from the french version of the DemoContact interface:
The main menu:

By clicking on "Search for Contacts", the following screen is opened:

Then, by double-clicking on the second row, we retrieve the card for Jean-Paul:

So we have screens for menus, researchs, add - read - modify records.
Furthermore, we can print and export each list from its contextual menu:

I will take as an example the DemoContact database (this is the demonstration database of the development kit). Of course you can adapt commands for work on another database.
A lovely picture to sum up construction steps:

d2s
This command displays you the available connection options. Relaunch it with the correct connection information for your DBMS. For example, with DemoContact under PostGreSQL:
d2s -s postgresql -db DemoContact -u chocolat -p "70%"
-cn "//localhost/DemoContact"
-f "src_xml/democontact_auto.xml" -l en
s2m democontact_auto
Now, just launch the result software. You can double-click on it, or use the command:
java -jar result/AppliDemocontact/guiDemocontact/GuiDemocontact.jar
Easy, isn't it ?
With Sashipa-Melba, you don't need to develop !
Too simple, you might say, but the generated software isn't sufficient for your needs...
I know, I know. And I still have the first part of the title to explain.
The file made at the step 1 is written in a particular XML language: the Sashipa language. As with each XML file, it's a text file that you can see with your favourite editor (Jext, UltraEdit, Emacs, notepad, vi, ...) . It is the source code of your application.
Indeed, Sashipa is a description language (and not a programming language). It allows you to entirely develop your software, just by describing. Database2Sashipa (the software used at step 1) proposes a default source code from a database connection. But of course, it's possible to modify it or to completely re-write it. So, you will write in Sashipa the software for your needs.
A Sashipa file contains three main parts:
You will learn to write a complete Sashipa document in the web site. In this article, we'll just see the last part, which is very simple: elements serverSet and architecture.
Here it is:
<serverSet>
<server name='srvDemoContact' type='embeddedInGui'>
<dbConnection database='dbContact' type='jdbc' dbmsType='PostGreSQL'>
...
... configStorage element ...
... logStorage element ...
</server>
</serverSet>
<architecture>
<guiInstance gui='guiDemoContact' type='application'>
<guiResourceName>GuiDemoContact</guiResourceName>
<usedConfigStorage server='srvDemoContact' />
<usedServerForDatabase server='srvDemoContact' database='dbDemoContact' />
</guiInstance>
<languageDefinitionSet mainLanguageDefinition='english'>
&englishDefinition;
</languageDefinitionSet>
</architecture>
Note the attribute in the dbConnection element: dbmsType='PostGreSQL'. Just replace 'PostGreSQL' by 'Interbase' or 'MySQL', then the MelbaLab will create an application for Interbase or MySQL, with the right SQL dialect. Indeed, it is the only place in the document, that contains specific informations on your DBMS. So, the source code that describes environment and user interface is independent of your DBMS.
You can replace 'application' by 'applet', too, and an applet will be created. You will choose 'servlet' and no 'embeddedInGui' if you would like to make a servlet in order to activate the multi-users management. Last but not least, the created application is a Java software and will run on each Operating System that has a Java virtual machine.
Your development isn't specific to your environment. They aren't dependent on your technical constraints: you do universal developments! QED!