Although there are a lot of databases, we have had some reasons to develop ozone. It owes its existence to various reasons, the most important of which is that we needed a tool with which to model and implement complex database applications, but we did not have access to a suitable package to adapt to our needs. We also did not want to to have to convert to new, package-specific methods. Because of this, we decided to develop one ourselves from scratch, according to the following requirements: This goal remained unattainable for quite some time, because of the effort required with older technologies. The appearance of Java, with the following characteristics, allowed us to proceed. ozone offers several possibilities similar to other systems, and combines these with new concepts. Insofar as possible, we have used existing techniques and technologies, and extended them only when it seemed absolutely necessary; to ensure certain theoretical aspects or for implementation specific reasons, for example.