Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] Caching in the IdAS Client and syncing with a remote IdAS

Title: Caching in the IdAS Client and syncing with a remote IdAS
Markus, Jim and Andy,

As you can see here [1], as part of phase 2 of the selector harmonization effort we need to replace the current card store implementation used by the C++ (aka GTK/Cocoa) selector with an I-Card Cache.

As Jim suggested on the Higgins call yesterday, one way to implement this would be to create an a local, C++ IdAS that used a remote service for persistence and then create an adaptor over it and thereby create a replacement for the current card store. To use XDI protocol over the wire we’d use the XDI CP locally and connect to the remote XDI Engine. If folks wanted to use other protocols (e.g. Jim’s RESTful IdAS stuff) instead they could.

For decent performance, we would need implement a local cache and a synchronization capability that would periodically (e.g. every minute or two) poll the server to see if there were any new or updated card objects. It would also push updated cards to the server.

To support this, we’d need to have both IdASes maintain timestamps when card attributes were updated. This might be implemented in a generic way in IdAS and/or CPs. Perhaps as an optional “sync” capability that CPs might choose to support. Years ago we defined some relevant time-based attributes on attributes (e.g. lastModified, lastSynchronizedFromSource) to the CDM data model, although this would be the first time any of these meta attributes have been used. We could use this remote card syncing scenario described above as a good first use case to design what’s needed from IdAS and/or CPs.

--Paul

[1] http://wiki.eclipse.org/Selector_Architecture_Harmonization#Client_Side





Back to the top