MiG InfoCom MiG Calendar DBConnect Guide User Manual

Page 9

Advertising
background image

MiG InfoCom AB

Multiple Databases
You can have more than one DBConnect instance running at
the same time, they can also handle the same activities or
categories and be connected to different databases or XML
files. Since the protocol used in DBConnect is versioned the
there shouldn't be any problems with finding the newest version
of an entity.

Problems can arise when the same entity (e.g. activity) are
changed in two databases without any synchronization in
between. The LastModified property can correctly be used
when the change is only made in one database assuming that
the last modified field is set correctly.

All comparisons are made when an entity is loaded and it is
then compared to the version of that entity already in memory.
There is currently no way to use DBConnect to synchronize two
databases/backing stores in a more generic way. This is
something that will possibly be added in a release after 1.0.

A good way to architect the possibility to connect to one
database that is not guaranteed to be online 100% of the time
but still use the application when it is not online is to use a local
database as an extra DBConnect backing store. For instance

DBConnect Guide

Page 9 / 25

The normal object hierarchy for both categories and activities.

High level synchronization and background queue management

DataSynchronizer

[E.g ActivityDataSynchronizer or CategoryDataSynchronizer]

CRUD(S) support

DataProvider

[E.g DBDataProvider]

Provides Connections to Database

ConnectionProvider

[E.g PooledConnectionProvider]

Defines how properties of activities/categories are mapped to storage

PropertyMappingList

PropertyMapping

PropertyMapping

PropertyMapping

Supports

Update Table Mapping

UpdateMapping

Auto (sequence)

column name

Parent ID

PropertyMapping

PropertyMapping

PropertyMapping

External Join Table Mapping(s)

IDToManyMapping

Advertising