Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "CardSync"

(Redirecting to CardSync Service)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
+
#REDIRECT [[CardSync Service]]
 
+
[[Image:Higgins_logo_76Wx100H.jpg|right]]
+
 
+
This page describes the design of the [[CardSync]] API for the Higgins Service 1.1.
+
 
+
=== Version ===
+
This API is being developed as part of [[Higgins 1.1]].
+
 
+
=== Used By ===
+
* This API will be first used by the [[GTK Selector 1.1-Win]] solution
+
* Specifically, this API is consumed by the synchronizing card store that is described here: [[Selector Architecture Harmonization]].
+
 
+
=== Requirements ===
+
CardSync must:
+
# Support a RESTful interface (not SOAP)
+
# Only use protocols and technologies that are available royalty-free, are well documented
+
# Support selectors that support N>1 cardstores
+
# Allow a selector to work completely offline
+
# Support bi-directional synchronization of individual cards and individual metadata entries about these cards
+
# Support strong authentication from client to CardSync server
+
 
+
=== Open Issues ===
+
# Why don't we base our design on SyncML?
+
 
+
=== RESTful API ===
+
* [[CardSync JAX-RS API]] - RESTful API
+
* [[CardSync Authentication]] - RESTful API Authentication
+
* [[CardSync Exceptions]] - coming soon
+
 
+
=== Data Transfer Objects ===
+
* [[CardSync Data Transfer Objects]]
+
 
+
=== Server component diagram===
+
[[Image:CardSyncComponentDiagram.png|800x400px]]
+
 
+
=== Closed Issues ===
+
 
+
==== Should we use WebDAV? ====
+
Reasons For:
+
* reduces our development effort as this protocol is designed for resource synchronization. And that's what we're doing
+
* mature, widely supported. Being used in new projects such as Mozilla Weave.
+
Reasons Against:
+
* Not RESTful. WebDAV extends the HTTP verb set. As such is deprecated by the W3C.
+
* Can interfere with web cache architectures
+
Decision:
+
* We will NOT use WebDAV
+
 
+
==== Should we use Google protocol buffers? ====
+
Reasons For:
+
* Mature
+
* High performance
+
* Good libraries in both C++ and Java
+
Reasons Against:
+
* Question: Might using protobuf reduce the likelyhood of the CardSpace team collaborating with us and potentially adopting the [[CardSync Protocol]]? <-- an outcome that would increase interoperability in the industry
+
Decision:
+
* We will NOT use Google protocol buffers
+

Latest revision as of 21:56, 14 July 2009

Redirect to:

Back to the top