[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Ozone Doc Project: Dev doc start...
- To: ozone-dev@ozone-db.org
- Subject: Ozone Doc Project: Dev doc start...
- From: yduchesne <yduchesne@newtradetech.com>
- Date: Thu, 07 Jun 2001 10:39:40 -0400
- Delivered-To: mail@smb-tec.com
- Delivered-To: softw7-ozone-db:org-ozone-dev@ozone-db.org
Ozone Documentation Project
Ozone Developer Documentation TOC
Hi everyone, this is a very modest start. It is the TOC from which, I hope,
something appropriate will come out. Remember I volunteered for the Ozone
Doc Project, but I am just an Ozone newbie. So of course my effort here is
certainly full of flaws!!! It is pretty short also: at this point, I expect
my work to be completely remodeled (if not scrapped). It is just meant to
serve as ignition. I'm looking for comments/advices/flames from Ozone
experts here, on top of everything... Please correct me, guide me, make
suggestions!
Intro
----------------------------------------
This section serves as a general presentation of Ozone - I think it could
be common to dev/user/admin docs
-Who is behind Ozone
-Ozone's goals, philsophy, target uses and users
-What Ozone is and what it is not (Object Server vs OODBMS)
-Credits
-Who can contribute
Architecture
----------------------------------------
The Architecture section provides a high-level view of Ozone's components.
What do you think about a layered approach, such as the following, to
describe the architecture?
- Client application
-ExternalDatabase (an abtraction of the underlying db)
-Proxies vs _impl vs OzoneRemote (the opp phase)
...
- Ozone communication
-RemoteDatabase
-Protocol
-Connection management (pooling, multithreading issues)
...
- Ozone core/kernel
-Transactions
-Storage
...
Here I suggest a high-level diagram (not UML, something less OO, more
abstract). Maybe I could submit a diagram in Visio; Ozone could have its
own notation, as far as representing architectural concepts is concerned.
Exploring Ozone's Internals
----------------------------------------
Here I suggest to "explode" every architectural layer and describe the
components involved("components" being a very generic term that
means "packages, classes, interfaces, libraries..."), from the general
(explaining concepts beind implementation, interaction with other
components, etc) to the specifics (code excerpts, which class/interface
does what, under what conditions, etc.)
1. Client-Side
1.1. ExternalDatabase: connecting to Ozone (local vs remote, how it is done)
1.2. OzoneProxy: creating, what is under the hood of a proxy; how it is
linked to a database
...
2. Ozone server
2.1. The Protocol - the ozoneDB.core.DBRemote package
2.2. The Server's components : concepts, classes: Server, Env, InvokeServer
(ozoneDB and ozoneDB.core) I think the Env class needs a lot of
explanation. It seems to be the heart of Ozone, right?
2.3. Connection management: ExternalDatabase vs pooling, multithreading;
DBClient vs DBLocalClient
3. Ozone core/kernel
-Management of proxies and _impl instances within
the server
-Transactions
-Storage (containers, clusters, etc.);
...
I am still digging, digging... Orientation welcome. Waiting for input. Cheers.
Yanick