Home » Modeling » EMF » CDO Usage with Oracle(CDO Usage with Oracle Database Express Edition 11g)
| | | | | | |
Re: CDO Usage with Oracle [message #1395701 is a reply to message #1395676] |
Mon, 07 July 2014 09:14 |
Jeff Bender Messages: 6 Registered: April 2014 |
Junior Member |
|
|
Hi Eike,
it is not a special Oracle XML DB. Sorry , as a newbie I should write concreter. It is an Oracle XE 11g DB, so there exists a JDBC interface for that. In this Oracle XE 11g I have an "Objects" Table.In this table my graphics, which I generate with GEF editors, are stored as variables of XMLTYPE datatype. In this XML all generated objects of my graphic are described with their name,class, position, colour, properties and so on. My goal now is to be able to work on the same graphics from two different clients so that each client gets live the changes of the other client.
As far as I understood Leonid for this scenario I won`t be able to use CDO, please correct me if I am wrong. I would also appreciate any advice of the best solution for my problem, because at the moment the onyl Solution I see is to addListeners to catch every change, then save my graphics, catch the change in DB, broadcast this change to all clients and reload the graphics (or the changed part of them) on the side of the other client (if he has the same graphics open), but it would more of a quick and dirty solution, because I am pretty sure I won't be able to handle all conflicts and so on properly, so CDO would be a much nicer solution
Thanks,
Jeff
|
|
|
Re: CDO Usage with Oracle [message #1395713 is a reply to message #1395701] |
Mon, 07 July 2014 09:31 |
|
Am 07.07.2014 11:14, schrieb Jeff Bender:
> Hi Eike,
>
> it is not a special Oracle XML DB. Sorry , as a newbie I should write concreter. It is an Oracle XE 11g DB, so there
> exists a JDBC interface for that. In this Oracle XE 11g I have an "Objects" Table.In this table my graphics, which I
> generate with GEF editors, are stored as variables of XMLTYPE datatype.
I wonder what makes this XMLTYPE any different from a String/VARCHAR.
> In this XML all generated objects of my graphic are described with their name,class, position, colour, properties and
> so on.
So from an EMF perspective it's just a big string.
> My goal now is to be able to work on the same graphics from two different clients so that each client gets live the
> changes of the other client.
The most important question is at what granule you want to distribute change? CDO generally identifies (and transports)
change at an EStructuralFeature granule. Most CDO stores, including the DBStore, store changes in an Object granule,
i.e., a new object revisions is written if at least one feature is changed.
That means you can not collaborate properly on your graphics if you store them in a single feature each. Each change to
such a graphic would likely result in merge conflicts at the other side(s).
> As far as I understood Leonid for this scenario I won`t be able to use CDO, please correct me if I am wrong. I would
> also appreciate any advice of the best solution for my problem, because at the moment the onyl Solution I see is to
> addListeners to catch every change, then save my graphics, catch the change in DB, broadcast this change to all
> clients and reload the graphics (or the changed part of them) on the side of the other client (if he has the same
> graphics open), but it would more of a quick and dirty solution, because I am pretty sure I won't be able to handle
> all conflicts and so on properly, so CDO would be a much nicer solution :)
I think no matter where you store your graphics you'll have a collaboration/distribution problem if you don't model how
the smallest units of these graphics are represented. But if you do that I see nothing that should prevent CDO from
being useful.
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Cheers
/Eike
----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
|
|
|
Goto Forum:
Current Time: Thu Mar 28 15:47:36 GMT 2024
Powered by FUDForum. Page generated in 0.08049 seconds
|