Je me demande quelle est la différence entre Syncml et Caldav en termes de fonctionnalités, de pros et de contre. p>
J'essaie de déterminer la technologie à utiliser afin de synchroniser des événements / calendriers entre une application Web et des appareils mobiles. J'ai besoin de gérer les conflits et la synchronisation bidirectionnelle. p>
À première vue, Caldav semble être le plus approprié pour mes besoins, mais je ne suis pas sûr de connaître les inconvénients de la possibilité. Syncml est une standard mais j'ai lu des messages sur le blog d'Oracle, ce qui a déclaré Caldav ... P>
Je sais que Google prend en charge les deux mais fournit également ActiveSync (Exchange) qui est une technologie Microsoft comme solution principale. Je ne suis pas intéressé par cette voie. P>
acclamations, William p>
3 Réponses :
Quelques questions pour mieux répondre à votre requête - p>
Contrôle des clients de périphérique ou devez-vous compter sur des clients autochtones sur des périphériques déjà déployés? P> li>
Contrôle du serveur de synchronisation? P> LI>
Esquissez-vous de synchroniser d'autres types de données en plus d'événements de calendrier? NB: Des choses comme les pièces jointes de calendrier (par exemple, les contacts ou les fichiers) comptent comme "autres types de données" aux fins de cette question. P> li>
Quel niveau de complexité avez-vous besoin pour soutenir? Événements récurrents, exceptions aux événements récurrents, aux calendriers partagés ou collaboratifs, utilisateurs ayant plusieurs calendriers distincts (par exemple, calendrier de périphérique, calendrier Outlook, calendrier Gmail, etc.) P> LI>
existe des applications de bureau spécifiques que vous devez synchroniser avec (par exemple, Outlook / Exchange) ou ce dernier cloud <-> Uniquement? P> Li> ol>
1. Clients autochtones 2. Oui, je dois l'écrire (en fait, je l'ai jamais écrit depuis que j'ai posé cette question) 3. Calendriers et contacts Données 4. Rien de tel que ça 5. Non, mais si c'est possible, ça va, je vais Demandera déjà un calendrier en tant qu'application Web BTW, je pense avoir répondu moi-même. Merci de votre attention :)
Eh bien, je peux me répondre. P>
CalDAV strong> est un protocole au-dessus de WebDAV qui est une extension de la HTTP strong> protocole. CalDAV est décrit dans RFC 4791 . Il utilise comme format de données iCalendar . Il y a beaucoup de mises en œuvre. P>
A propos des conflits CalDAV utilise le En standard, CalDAV strong> est dédié à la gestion des données de calendrier, et il y a beaucoup de clients. P>
Malheureusement, Android strong> ne fournit aucune solution native d'utiliser ce protocole, en fait il ne prévoit rien d'autre que Exchange ActiveSync strong> (utilisé par Google). Mais il y a des tonnes de clients CalDAV sur l'Android Market. P>
iOS strong> a un support natif de CalDAV. P>
Synchronisation Mrkup La langue est une langue de synchronisation plate-forme indépendante pour gérer les données, créé par les grandes entreprises comme Nokia, IBM, ... Il est un standard ouvert. Il utilise le protocole HTTP et XML comme le transport pour décrire l'information. Il a diverses implémentations de serveur, Funambol est un bien connu, par exemple. P>
SyncML décrit sept synchronisations: p>
poignées SyncML conflicts sur le serveur avec un ensemble de règles prédéfinies comme SyncML est dédié aux données Synchronisez mais ni iOS strong> ni Android strong> soutenir. smartphones Nokia ou Samsung semblent soutenir ce protocole, ainsi que Windows Phone 6. p>
Microsoft Exchange ActiveSync em> est le meilleur choix pour soutenir presque tous les smartphones et les clients lourds aussi. Mais, ce n'est pas un standard ouvert, et il est commercial, et je ne le décrire pour ces raisons, rappelez-vous juste. P>
A propos de Systèmes d'exploitation mobiles: p>
En France, iOS représente 60% du marché mobile strong> et Android a 30% strong>. P>
La meilleure solution (au moins pour moi), est de commencer par la mise en œuvre d'un serveur CalDAV avec un ensemble de règles personnalisées aux conflits de poignée, puis de mettre en œuvre un serveur SyncML pour couvrir le reste du marché. P> 409 conflits code> Code d'état (HTTP 1.1). Le client doit faire face à ce code d'erreur, pour autant que je sache, iCal em> (le client Mac) revient tout simplement des changements locaux.
Ensuite, il est assez facile de définir des règles dans le serveur pour savoir quoi faire en cas de conflit, si vous ne pouvez pas résoudre l'un d'eux, alors nous avons juste besoin d'envoyer un
409 code> code d'état. P >
SyncML h1>
Mises à jour mades sur le client gagne toujours code>,
mades Mises à jour sur le client toujours gagner code>, ... p >
Alors? H1>
Je ne vois pas comment vous pouvez gérer les conflits avec Caldav. Il n'y a jamais de 409 conflits code> de ce que j'ai vu. Au lieu de cela, les clients (iOS / DAVDROID) synchronisent (
Proprind code> /
rapport code>) avant de pousser (
mettre code>). Donc, s'il y a un nouvel objet de calendrier sur le serveur, il écrase le changement local. Dans ce cas, le client n'informe jamais le serveur sur le changement local! Les changements tels que la participation des événements peuvent être complètement ignorés et il n'y a aucun moyen de le gérer sur le côté serveur ...
Android prend en charge Syncml - Vérifiez l'application Funambold Sync
à Android-Client_funambol A > (Checkout le forum là-bas, son assez actif et essayez les instantanés pour des capacités avancées) p>
C'est pas b> Natalement pris en charge.