[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New User Queries



On Sun, 26 Dec 1999, William Uther wrote:
> Hi,
>   I just thought of a few more questions :).
> 
>   Is there any way to have a dialog between the server and the client
> within a single transaction?  e.g. 
Currently not. If you want to have code executed in the same transaction
(using the current ozone interface) then you have to put the code in one
database object method.

Once ODMG support is there you can mark transaction boundaries explicitely. I'm
not yet sure if this is a win because in ODMG you MUST wrap every piece of code
that interacts with the database in a try/commit/abort/rollback sequence. That
is something that makes the code less readable, that is actually not needed,
that makes the client side code depend on the database interface (ODMG), and
that does not allow to use the same client side code for transient and
persistent versions of the application. However, we are working on ODMG and we
will hopefully be able to release a first version soon.

To fix these problem we will support the ODMG spec but keep the current ozone
interface also. Do you guys think it's a good idea to get the possibility to
mix both interfaces in the same code?

> 
>   - Transaction start
>     - client sends server some info
>     - server sends client a request for more info
>     - client sends requested info
>   - Transaction end
> 
>   Would I have to implement an RMI object on the client side that I pass to
> the server?  This would then allow the server to get information from the
> client by making method calls on the remote (client side) object, right?
> Is there an easier way?
I don't follow. The server never does remote calls on the client side. Is there
a reason why you don't use something like:

	start
		client calls database object
		(returned object contains request for more info)
		client sends requested info
	end

All you have to do, to make a persistent version of an existing
application (using current ozone interface), is to describe the remote interface
of your database objects in a separate Java interface or let the OIG tool do it
for you. After compiling everything you pass the class files of the database
objects to OPP. That's it! (ok, some startup code is needed besides but that's
no big deal ;)

> 
>   Also, all parameters and results to/from ozone DB objects need to be
> serializable, primitive types, or RMI/ozone proxies, right?  (they'll be
> sent over RMI.)
Yes.


Falko
-- 
______________________________________________________________________
Falko Braeutigam                         mailto:falko@softwarebuero.de
softwarebuero m&b (SMB)                    http://www.softwarebuero.de