Using H2 as the base storage/retrieval module for OJ is my end goal, and for 
that H2 embedded is without a doubt the best choice. I think, though, that I 
will program everything to use automatic mixed mode: the first program to open 
the database gets it in embedded mode then it opens a server so that other 
programs can access the database using TCP. The standard use case where 
embedded mode would be assumed is opening a local, unshared file, which would 
work as assumed when using automatic mixed mode while still gracefully allowing 
other use cases.

--Christopher

--- On Thu, 5/28/09, Stefan Steiniger <sst...@geo.uzh.ch> wrote:

> From: Stefan Steiniger <sst...@geo.uzh.ch>
> Subject: Re: [JPP-Devel] UI direction for native database integration
> To: "OpenJump develop and use" <jump-pilot-devel@lists.sourceforge.net>
> Date: Thursday, May 28, 2009, 2:17 PM
> well... the original (and existing)
> idea was to use H2 embedded to 
> overcome our memory dependence.
> 
> stefan
> 
> Larry Becker wrote:
> > Another factor to consider is embedded H2 vs server
> H2.  Embedded is 
> > faster so it should probably be used for option 1 and
> default use.  
> > Personally, I'm more excited about the ability to
> collaborate with other 
> > users using server H2.  The connection strings
> control which is used so 
> > there is probably nothing to program.  Just
> include the h2 jar in lib to 
> > get embedded and trust the user to install h2 server.
> >  
> > Larry
> > 
> >  
> > On 5/27/09, *Michaël Michaud* <michael.mich...@free.fr
> 
> > <mailto:michael.mich...@free.fr>>
> wrote:
> > 
> >     Hi,
> > 
> >     I second Paolo in most of his
> comments :
> > 
> >     Option 1 would be great for
> data/project exchange. Including project
> >     information (layer styles) in
> the database would be great also, but it
> >     may be difficult to manage
> style definitions in both xml files and
> >     database. About references to
> external data, I can see pros (more
> >     freedom about how and where to
> store data) and cons (may be difficult to
> >     know what to transfer if you
> want to move the entire project).
> > 
> >     Option 2 : agree with 
> Paolo, just a different UI to access database
> >     table (nice but not as
> important as 1 and 3).
> > 
> >     Option 3 : probably the best
> short term goal. But again agree with
> >     Paolo. Main questions are not
> related to UI but to the datastore access
> >     capabilities, writing access,
> access to huge tables, transaction
> >     management...But I'm not an
> expert in that domain and I'm sure that
> >     Larry's propositions to track
> feature modifications will make some of
> >     these things possible.
> > 
> >     Very exciting propositions
> indeed.
> > 
> >     Michaël
> > 
> > 
> >     Paolo Rizzi a écrit :
> >      > Option 1 is intriguing,
> because it would be a very good mean of
> >      > exchanging geo data, a single
> file with everything inside, very
> >     good!!!
> >      > Maybe an ibrid solution were
> the project is itself store inside
> >     the H2
> >      > database, while each Layer
> can be internal or external would be even
> >      > better. Also you could store
> inside the H2 project both a Layer
> >     data and
> >      > a reference to its original
> provenience, to support some form of
> >      > disconnected editing, but
> this is maybe too sophysticated...
> >      >
> >      > Option number 2 would be just
> a shortcut upon number 3, a
> >     different UI
> >      > to select a database table,
> so it doesn't seems interesting.
> >      >
> >      > Option number 3 is good
> enough, but remember that DataStores are
> >      > read-only, so this would be a
> very good time to extend them to
> >     support
> >      > writing.
> >      > There were a couple of
> threads a few weeks ago about this and about
> >      > tracking modifications inside
> features.
> >      > The main goal was to be able
> to incrementally commit changes to a
> >     DataStore.
> >      > A simpler solution, but good
> enough for a start, would be to only
> >      > support complete Layer write
> inside a DataStore.
> >      > That is, always re-write the
> entire Layer each time, just like
> >     you would
> >      > do with a shape file.
> >      > Problem is with DataStores
> you don't have the entire Layer in memory.
> >      > So, to support this complete
> re-write, you should read the entire
> >     Layer
> >      > in memory, truncate the
> database table and recreate it. But this is
> >      > quite a dangerous solution,
> because if OJ crashes for any reason, you
> >      > loose your database data,
> unless you made good use of RDBMS
> >     transactions.
> >      > Another solution would be to
> create a new table inside the database
> >      > where you can merge the old
> table with the modified features you
> >     have in
> >      > memory, but this would not be
> very different from doing
> >     incremental writes.
> >      > Summing it up, it seems that
> supporting incremental writes for
> >     DataStore
> >      > is indeed needed anyway.
> >      >
> >      > Bye
> >      > Paolo
> >      >
> >      >
> >      >
> >      >> What direction(s) does
> the community want me to go toward with
> >     regards to integrating the H2
> database into OpenJUMP?
> >      >>
> >      >> Here's some initial
> options I've come up with:
> >      >>
> >      >> 1) Project as a
> database:
> >      >> When creating or saving a
> new project, you could select to make
> >     it a database project. Then
> all layers that are created are
> >     automatically saved into the
> database and when external layers are
> >     opened, the option for copying
> them into the database or leaving
> >     them external is given. To
> open a database project, simply open the
> >     associated H2 database.
> >      >> With this option, all
> project data can be stored in one file
> >     that can easily be moved
> around.
> >      >>
> >      >> 2) Database as a file
> folder:
> >      >> This is in the ArcMap
> style where the open file menu and save
> >     layer menus treats the
> database as simply another folder that you
> >     can navigate into and select
> individual files.
> >      >>
> >      >> 3 Database as a Data
> Store Layer:
> >      >> Use that Open Data Store
> and Connection Manager dialogues to
> >     manage opening and saving of
> layers. This would probably be the
> >     simplest to code with the
> least amount of core modification (if
> >     any), but I'm not sure that it
> would be as intuitive and invisible
> >     as it could be.
> >      >>
> >      >> Any comments or other
> suggestions?
> >      >>
> >      >> --Christopher
> >      >>
> >      >>
> >      >>
> >      >>
> >      >>
> > 
>    ------------------------------------------------------------------------------
> >      >> Register Now for
> Creativity and Technology (CaT), June 3rd, NYC. CaT
> >      >> is a gathering of
> tech-side developers & brand creativity
> >     professionals. Meet
> >      >> the minds behind Google
> Creative Lab, Visual Complexity,
> >     Processing, &
> >      >> iPhoneDevCamp as they
> present alongside digital heavyweights
> >     like Barbarian
> >      >> Group, R/GA, & Big
> Spaceship. http://p.sf.net/sfu/creativitycat-com
> >      >>
> _______________________________________________
> >      >> Jump-pilot-devel mailing
> list
> >      >> Jump-pilot-devel@lists.sourceforge.net
> >     <mailto:Jump-pilot-devel@lists.sourceforge.net>
> >      >> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >      >>
> >      >
> >      >
> >      >
> > 
>    ------------------------------------------------------------------------------
> >      > Register Now for Creativity
> and Technology (CaT), June 3rd, NYC. CaT
> >      > is a gathering of tech-side
> developers & brand creativity
> >     professionals. Meet
> >      > the minds behind Google
> Creative Lab, Visual Complexity,
> >     Processing, &
> >      > iPhoneDevCamp as they present
> alongside digital heavyweights like
> >     Barbarian
> >      > Group, R/GA, & Big
> Spaceship. http://p.sf.net/sfu/creativitycat-com
> >      >
> _______________________________________________
> >      > Jump-pilot-devel mailing
> list
> >      > Jump-pilot-devel@lists.sourceforge.net
> >     <mailto:Jump-pilot-devel@lists.sourceforge.net>
> >      > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >      >
> >      >
> >      >
> > 
> > 
> > 
>    ------------------------------------------------------------------------------
> >     Register Now for Creativity
> and Technology (CaT), June 3rd, NYC. CaT
> >     is a gathering of tech-side
> developers & brand creativity
> >     professionals. Meet
> >     the minds behind Google
> Creative Lab, Visual Complexity, Processing, &
> >     iPhoneDevCamp as they present
> alongside digital heavyweights like
> >     Barbarian
> >     Group, R/GA, & Big
> Spaceship. http://p.sf.net/sfu/creativitycat-com
> > 
>    _______________________________________________
> >     Jump-pilot-devel mailing list
> >     jump-pilot-de...@lists.sourceforge.net
> >     <mailto:Jump-pilot-devel@lists.sourceforge.net>
> >     https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> > 
> > 
> > 
> > 
> > -- 
> > Larry Becker
> > Integrated Systems Analysts, Inc.
> > 
> > 
> >
> ------------------------------------------------------------------------
> > 
> >
> ------------------------------------------------------------------------------
> > Register Now for Creativity and Technology (CaT), June
> 3rd, NYC. CaT 
> > is a gathering of tech-side developers & brand
> creativity professionals. Meet
> > the minds behind Google Creative Lab, Visual
> Complexity, Processing, & 
> > iPhoneDevCamp as they present alongside digital
> heavyweights like Barbarian 
> > Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
> > 
> > 
> >
> ------------------------------------------------------------------------
> > 
> > _______________________________________________
> > Jump-pilot-devel mailing list
> > Jump-pilot-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 
> ------------------------------------------------------------------------------
> Register Now for Creativity and Technology (CaT), June 3rd,
> NYC. CaT 
> is a gathering of tech-side developers & brand
> creativity professionals. Meet
> the minds behind Google Creative Lab, Visual Complexity,
> Processing, & 
> iPhoneDevCamp as they present alongside digital
> heavyweights like Barbarian 
> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> 


      

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to