The Epeios MOBile DAtabase ('EMobDa')

:!: English isn't my native language (I'm French), so there will be lots of mistakes. Feel free to correct them. :!:

Introduction

The EMobDa software is a database program, which will be usable on different OSes (Window, Linux, Mac, …), with different interfaces (WEB or native) and in different contexts (mono-user or multi-user, locally, or remotely via a client/server configuration). It also aims to be be highly configurable, by using XUL, XHTML and XSL.

The first goal of this application is to have a database under my Nokia N810. Other goals are :

  • To make an application with both WEB and native (using XULRunner) interfaces,
  • to standardize and act as model for the making of such an application,
  • to demonstrate how the Epeios libraries are used on such an application,
  • to show my developer skills, as I am actually looking for a job,

This application has (or will have) this particularities :

  • Uses only Epeios libraries (which only use system and standard C/C++ libraries), even for the database engine, and, only for the native interface, XULRunner,
  • usable in a remote (client/server) multi-user context or local mono-user1) context,
  • clear separation between frontend (interface) and backend (processing), both communicating through the Epeios dedicated protocol,
  • native or WEB2), both using same (and simultaneously if needed) backend,
  • backend as daemon for remote use (communication through sockets) or as library3) (direct communication) for local use,
  • knowing XUL, XHTML and XSL allows to easily modify the aspect of the application without coding,
    • for interface requiring user-interaction, dynamic XUL is generated using XSLT,
    • to display results, without heavy user-interaction, dynamic XHTML is generated using XSLT too,
  • very few JavaScript, almost all the code is written in C++ (in a XPCOM component),
  • portable (Windows, Linux, and particularly Maemo, the Nokia N810 OS4) and Mac5)
  • XML-based configuration files with integrated XML preprocessor.

Things which aren't actually implemented are working in other applications I've developed, so bringing them working is only a matter of time.

Licences

This tool (and the underlying libraries) are released under the GNU General Public License. This is the default licence, but, under some circumstances, other licences (with less restrictions, like GNU Lesser General Public License) are possible. Please contact me for more details.

Architecture

To facilitate the development and maintainability of the application, the interface and the processing are separated and communicate through a dedicated protocol, especially developed for the Epeios project. The processing part is designed as backend, and the interface (not necessarily a user one) as frontend. Different types of frontend (WEB and native, for example) can access (simultaneously if required) the same backend.

Follwing links will give details about the EMobDa backend and frontend.

Current status

The last version should be stable and usable but lacks some features. Comment/suggestion/bug report are welcomed (see below on how to contact me). Also there is no user documentation as the interface will probably evolve and is fairly understandable.

It is released in this early state because :

  • as I stated before, I'm currently looking for a job and I think it is useful to show examples of my works,
  • this software can be useful for those who develop for Gecko (XULRunner), in particular those who want to develop a C++ component (XPCOM),
  • it will also be useful for those who want to see how the Epeios libraries work.

Quick access

The CVS tree

The packages

Contact

You can send me a mail by using this form (http://zeusw.org/intl/contact.html).

For those who can help me to find a job, there is my resume (http://zeusw.org/pro/, in french).

1) , 2) , 3) under development
4) worked once, but actually delayed, due to a XULRunner SDK issue
5) more or less, because I haven't easily access to a Mac
emobda.txt · Last modified: 2009/10/14 15:35 by 192.168.5.10
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki