Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Org.eclipse.higgins.cardsync.web"

(Should we use Google protocol buffers?)
(Removing all content from page)
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
 
[[Image:Higgins_logo_76Wx100H.jpg|right]]
 
  
Web app that exposes a RESTful endpoint over the [[I-Card Service]].
 
 
=== Version ===
 
[[org.eclipse.higgins.cardsync.web]] is being developed as part of [[Higgins 1.1]].
 
 
=== Used By ===
 
* This web app will be first used by the [[GTK Selector 1.1-Win]] solution
 
* Specifically, it is consumed by the [[Synchronizing Card Store]] (SCS) within the [[Local I-Card Service]].
 
 
=== Original Requirements ===
 
Here are the original design goals for the [[CardSync Web App]]:
 
# 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
 
 
=== RESTful API ===
 
* [[CardSync JAX-RS API]] - RESTful API
 
* [[CardSync Authentication]] - RESTful API Authentication
 
* [[CardSync Exceptions]] - coming soon
 
* [[CardSync Data Transfer Objects]] - objects moving over the network
 
 
=== Implementation ===
 
* [[CardSync Synchronization]] - Synchronization process
 
 
Architecture:
 
 
This component fits into the this larger architecture:
 
 
[[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 using the [[CardSync Web App]]? <-- an outcome that would increase interoperability in the industry
 
Decision:
 
* We will NOT use Google protocol buffers
 
 
[[Category: Higgins Components]]
 

Latest revision as of 17:25, 15 July 2009

Back to the top