MiG InfoCom MiG Calendar DBConnect Guide User Manual
Page 9

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
