Wireless Applications
ObjectDatabase++ has been especially designed for the unique needs of wireless
applications. By implication, wireless applications are inherently
client-server, the wireless device running the client software somewhere far
away and the server application is home alone. This creates the situation where
there is often no one able to service the server application in case of any
unforeseen problems and as such quality wireless server application will need
to monitor and repair themselves. This is an impossible task to do in one
single kernel level process, as errors can come from the dozens of embedded sub
systems or even the OS itself. This is why at Ekky Software we have raised the
bar when looking at moden database management systems underpinning the
server application, we have made ours to work in both a multi-threaded
and multi-process environment.
The second distinctive design requirement of wireless applications is that
without any person to monitor the server, it needs to be able to be able to
recover from exactly from where if left off. Many database management
systems do not continually write through all
changes to the disk at the time they happen and in a client-server context it
is possible to commit a transaction, send off a receipt number and then crash
before the OS flushes the transaction to disk, this leaving the user unaware of
what has just happened and allows other users to make mistakes by processing
their transactions with old data.
Another requirement of modern database server applications is that they often
need to run 24 hours a day, 7 days a week and 365 days a year. This leaves no
time to maintain the database file systems. ObjectDatabase++ has been designed
to compact the data files whenever a
change has been made affecting the available free space. Also ObjectDatabase++
has been designed to be able to back up the data files without stopping the
server processes by temporarily having an exclusive transaction to control the
database.
ObjectDatabase++ has been designed to meet all these new requirements of
wireless applications, while adding some new ideas as well, for example
spatial indexing, hash indexing of object
identifiers, unbounded variable length
B+-tree indexing, global locking
order, real time data file compaction,
real time file recovery and a
free graphical user interface .
|