Home

Whitepaper

Specification

Example

Taglib Reference(pdf)

API docs

Download

Database configuration
 
 
 

Developer

Design Issues

Tasks

CVS source tree
 

 

Worldwide mirrors:
Europe
BEST - Board of European Students of Technology
SI, EE, RO...

USA
SourceForge Logo

Makumba

Makumba is a technology designed by BEST for their WWW applications. It helps you develop rapidly web applications that keep their data in a database (i.e. data driven web applications). It is implemented in Java. Implementation of some components is still under way but it will finish some time in March 2001.
 
First you describe the data in a text file (complex applications have of course more types of data, with pointers from one to the other). The text file (called data definition) contains lines like:

     zipcode= int   ;ZIP
     name= char[20] ;Name

Say you call the above record a "Person". Having this information, Makumba can generate a lot of things. It can generate SQL statements that do read/write/search operations to database of your choice. We currently support MySQL, PostgreSQL and ODBC but many other databases can be suported. What's more, you can copy data from one database to another (this is very important in BEST, we port data a lot, we develop on Windows with ODBC or MySQL and run on Linux with Postgres, etc). 

At the interface level, Makumba can generate webpages for inserting, editing, viewing and deleting data from the database. You don't have to care about making the HTML forms, parsing the CGI arguments, etc. Everything is done for you. If you just write

<mak:object from="organisation.Person p"/>
you will get a nice HTML form to edit the data of the person described above. The zipcode, than the name will be shown, as indicated by the data definition above.

Still, if you want to customize something in the default view, you can do it. If you want the name to show before the zipcode, and formatted differently, this is what you can do:

<mak:object from="organisation.Person p">
    <h1><mak:value expr="p.name"/></h1>
    Zip code: <i><mak:value expr="p.zipcode"/></i>
</mak:object>
We will soon finish the implementation of the interface level and link it to the database with a "business logic API". We are also considering other kinds of interfaces, such as Java applets.

So more or less this is it. Lotus Notes does the same but we found it impossible to use it because of visual programming (rather than plain text files) and other problems. Other tools (say MS Access) have similar problems, plus we don't want to be dependent on one technology. We want to work with plain text files because it's easy to cooperate at a distance using them. We want everything to be simple.
 


$Id: index.html,v 1.6 2003/03/05 09:55:30 priit Exp $