The Sashipa presentations

 

There are two presentations of Sashipa:

Licenses : The Sashipa-Melba components are free softwares.

 


 

General presentation

Technological advantages and limitations

Limitations

Advantages

Presentation of Sashipa, Melba...

Sashipa

Database2Sashipa

Sashipa2Melba

Melba

Licenses

Annex

Steps for creating an application

Sashipa-Melba is a platform for developping Graphical User Interfaces for relational databases. The main characteristic is that no programming is required: the developer has just to write an XML file that describes the applications required. Furthermore, an XML file can be automatically generated from a database connection.

 

Technological advantages and limitations

Limitations

The killer limitation: only expected functions by Sashipa-Melba can be used.

You can not work with a non-supported DBMS. (See compatibilities).

Applications created are built on the Java technology, that need a powerful computer. I recommend 64 Mo de RAM and a microprocessor at 200 MHz.

Applications created are built on the Java technology. So a Java Virtual Machine is required on each user computer. You can find one on the Sun web site (JRE).

Advantages

Interfaces built on this technology are based on the same presentation logic. So final users quickly learn to use a new application or a new function.

Applications are built without programming. So there are no bugs. More precisely, they contain only the Melba library bugs. And Melba is quite reliable, because it used by a lot of applications.

Applications are built very quickly: no programming, no debugging, just a few tests are required. You have just to write an XML file.

The Architecture flexibility: just change a word in your XML file, and your application becomes an applet. Or change another word and your client-database architecture becomes a client-servlet-database, with multi-users management... If you modify the name or the type of a column in your database, you have to make only one modification in your XML file. Ditto if you migrate on an other DBMS, without SQL dialect problems ! It's even possible to access your database through a PHP, as for the demonstration applet on this Web site.

Applications are built-on Java technology, so they are independent of the Operating System.

 

Presentation of Sashipa, Melba...

Sashipa

Sashipa is a formality for describing graphical user interfaces of relational databases.

The Sashipa language is an XML language. In XML, the language definition can be made with a DTD file. An XML file that respect specifications of the Sashipa DTD is called an instance of Sashipa.

NB: instances of Sashipa aren't dependent on the Java platform. They contain a generic description of your application, independent of programming platforms. Today the only existing conversion from Sashipa is to Java while using Melba. But it's possible to translate Melba into other platforms, and it's possible to generate applications from Sashipa with other solutions than Melba.

Sashipa could become a standard for describing database interfaces. I hope that development platform editors will add an import / export function in their softwares. This fonction will allow compatibility (and so migration) between different development platforms.

Database2Sashipa

The Database2Sashipa program makes an instance of Sashipa XML file, from a database connection. The file is entirely built with default hypotheses. If the application is for a non-IT specialist user, it will be necessary to modify it, but most of the work is already done. For data administration purposes, the default application can be sufficient. DatabaseSashipa is written in Java.

Sashipa2Melba

The Sashipa2Melba program converts an instance of Sashipa XML file to Java source file(s), using the Melba library. Theses files will be compiled by a Java compiler, then executed. Sashipa2Melba is written in Java.

Melba

Melba is the big Java library that contains the 'intelligent' code of generated applications.

 

Licenses

Components of the Sashipa-Melba technology are free (open-sources, free of cost, free for modifying and using).

  • Sashipa is a definition of an XML application (like a DTD or schema). Anybody can distribute it with instance files. This definition is free of cost. The definition can be modified, but the license applies automatically to the new version. The license applies for each definition directly or indirectly based on Sashipa. The Sashipa license doesn't apply to the instance files of the definition. So the instance files can be sold.
  • Database2Sashipa and Sashipa2Melba are free softwares under the GNU GPL license. So each product based on theses softwares are under the GPL license. But the license doesn't apply to the output.
  • Melba is under the license GNU LGPL. So you're allowed to sell products based on this library.

In summary, if you modify or improve Database2Sashipa or Sashipa2Melba, the new product will stay under the GPL license. On the other hand, softwares created with Database2Sashipa and Sashipa2Melba are yours, for trading purpose or not.

 

Annex

Steps for creating an application

The steps for creating an application are detailed here.

Database2Sashipa

action

Default XML file: instance of Sashipa

résultat

Manual adaptation of the XML file

action

XML file: instance of Sashipa

result

Sashipa2Melba

action

A Java source file for client

result

A Java source file for server (if needed)

Javac

used

Melba (javax.servlet if needed)

action

Java binary files

result

Jar

action

An archive file for the client application

result

An archive file for the servlet (if needed)

Java (virtual machine)

action

Running

result