James wrote:
>I mentioned this question under the other subject heading:
>Does anyone know of any tools to help construct/modify documents through
>DOM using transaction concepts? I would like to be able to lock
>subtrees of the document while performing critical operations.
-James
one possible concept to a achieve this(without a lot of programming) would
be to implement the
DOM objects as Java Enterprise Beans running in a EJB server.
The container policy would then take care of transaction issues.
(separation of context principle)
We are using IBMs Component Broker and are currently trying to map what I
defined
as "informational objects" to the persistence layers provided. (the
informational objects are e.g. used to represent
meta-information from repositories, log/trace information, global business
information, dynamic TypeObject content)
We also do not allow programming language constructs like "strings" to
carry structured information - use informational
objects instead)
We found that we have to solve a couple of problems here:
- which DOM classes should have independent identity? (and as a
consequence: global visibility/concurrent use)
- what other interfaces should those DOM classes implement?
- do we need session AND entity DOM beans?
- what kinds of guarantees with respect to update propagation can we make?
- how do we transfer larger trees across the wire (possibly using lazy
resolution techniques)?
- what is the best physical database design for this mapping?
- what is the proper entity management architecture (including workload
managed information server front-ends,, FEDERATED entity managers etc.)
- how do we use formal public identifiers within program code?
- how do we make sure that we do not lose performance features like query
push down when using dynamic
patterns?
More EJB related:
- what are we going to do if a client (e.g. GUI) is not allowed to control
a transaction?
- what if we need extended transaction models (open-nested with
compensation functions, forward progressing etc.)?
More OO/architecture related:
- How can I integrate the lose coupling that HyTime relations (links)
provide into heavy-weight, static typed OO systems
and languages that usually tend to represent any kind of associations
WITHIN objects? And still have decent performance?
Using Component Broker allows us at least to load-balance information
servers almost without programming effort
- assuming that most access will be read only.
Cheers,
Walter
PS: I'd be very much interested in exchanging experiences in these areas.