RE: kSync v2
"Chalker, Dean" <[email protected]> Fri, 13 Sep 2002 12:11:37 +1000
| Newsgroups | gmane.comp.java.enhydra.ksync |
|---|---|
| Message-ID | <[email protected]> |
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C25ACA.E3FA71D0 Content-Type: text/plain; charset="iso-8859-1" Hi all, Following on from my previous email, I have a bunch of observations gleaned from wading through the code. I would dearly love some indication of whether my observations are correct (or not). * servlet-based * only handles application/vnd.syncml-xml, ie does not handle <http://athena/intelliwiki/WbXml> WbXml, but looks to be extensible (see comment below about XmlIo) * synchronizes XML DOMs, using files as backing stores on both client and server * uses interfaces for the DOM, but need to re-implement com.reaxion.tequila.syncml.xml.node.XmlIo to use another DOM or another XML serialization, eg <http://athena/intelliwiki/WbXml> WbXml. A factory would be helpful here. * changes to the client DOM must be done through the kSync API to be recorded. * changes to the server DOM presumedly the same, but not sure how. * DOM change history is recorded and used to limit synchronization traffic. Sadly, DOM change history is not persisted, so the whole file is sent? when a synchronization occurs after a restart * changes made directly to the XML backing store files are only picked up on a restart * the design seems tightly attached to XMLSyncServerDocument. Some refactoring would be required to insert another document type (say a file document), including: * use of a factory for constructor calls in ServerSession and SyncServer * separation of XML methods defined in IXMLSyncDocument and inherited in IXMLSyncServerDocument from the server document related fields defined in the latter. * not fully SyncML v1.1 compliant: * RespURI, Cred, Meta fields missing from SyncHdr element Thanks in advance Dean Chalker -----Original Message----- From: Chalker, Dean Sent: Thursday, 12 September 2002 5:51 PM To: '[email protected]' Subject: Hi all, Just spent another day wading through kSync, trying to figure out how it works and how to apply it. Judging from what I can see of the mailing list, I am not alone. Howvever, the day was not without gain. I finally discovered that kSync synchronises DOMs, and not files. The files are "merely" used as backing store for the in-memory DOMs. Ah ha!! Anyway: the question: when will v2 become publicly available. I'm not sure how many days I want to invest in wading through the source if it will all go out the window when v2 arrives. Thanks in advance. Dean intelli WHERE <http://www.intelliwhere.com/> www.intelliwhere.com _____ Dr. Dean Chalker Senior Architect <mailto:[email protected]> [email protected] IntelliWhere Division, Intergraph Corporation Australia Phone: 61-7-3510 8918 Fax: 61-7-3510 8901 ------_=_NextPart_001_01C25ACA.E3FA71D0 Content-Type: text/html; charset="iso-8859-1" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD> <BODY> <DIV><FONT face=Arial color=#ff00ff size=2><SPAN class=754170802-13092002>Hi all,</SPAN></FONT></DIV> <DIV><FONT face=Arial color=#ff00ff size=2><SPAN class=754170802-13092002></SPAN></FONT> </DIV> <DIV><FONT face=Arial color=#ff00ff size=2><SPAN class=754170802-13092002>Following on from my previous email, I have a bunch of observations gleaned from wading through the code. I would dearly love some indication of whether my observations are correct (or not).</SPAN></FONT></DIV> <DIV><FONT face=Arial color=#ff00ff size=2><SPAN class=754170802-13092002></SPAN></FONT> </DIV> <DIV><FONT face=Arial color=#ff00ff><SPAN class=754170802-13092002> <UL> <LI><FONT size=2>servlet-based </FONT> <LI><FONT size=2>only handles <TT class=wiki>application/vnd.syncml-xml</TT>, ie does not handle </FONT><A href="http://athena/intelliwiki/WbXml"><FONT size=2>WbXml</FONT></A><FONT size=2>, but looks to be extensible (see comment below about <TT class=wiki>XmlIo</TT>) </FONT> <LI><FONT size=2>synchronizes XML DOMs, using files as backing stores on both client and server </FONT> <UL> <LI><FONT size=2>uses interfaces for the DOM, but need to re-implement <FONT face=Arial><TT class=wiki>com.reaxion.tequila.syncml.xml.node.XmlIo</TT> to use another DOM or another XML serialization, eg </FONT></FONT><A href="http://athena/intelliwiki/WbXml"><FONT size=2>WbXml</FONT></A><FONT size=2>. A factory <SPAN class=754170802-13092002>w</SPAN>ould be <SPAN class=754170802-13092002>helpful </SPAN>here. </FONT> <LI><FONT size=2>changes to the client DOM must be done through the kSync API to be recorded. </FONT> <LI><FONT size=2>changes to the server DOM presumedly the same, but not sure how. </FONT> <LI><FONT size=2>DOM change history is recorded and used to limit synchronization traffic. Sadly, DOM change history is not persisted, so the whole file is sent? when a synchronization occurs after a restart </FONT> <LI><FONT size=2>changes made directly to the XML backing store files are only picked up on a restart </FONT></LI></UL> <LI><FONT size=2>the design seems tightly attached to <TT class=wiki>XMLSyncServerDocument</TT>. Some refactoring would be required to insert another document type (say a file document), including: </FONT> <UL> <LI><FONT size=2>use of a factory for constructor calls in <TT class=wiki>ServerSession</TT> and <TT class=wiki>SyncServer</TT> </FONT> <LI><FONT size=2>separation of XML methods defined in <TT class=wiki>IXMLSyncDocument</TT> and inherited in <TT class=wiki>IXMLSyncServerDocument</TT> from the server document related fields defined in the latter. </FONT></LI></UL> <LI><FONT size=2>not fully SyncML v1.1 compliant: </FONT> <UL> <LI><FONT size=2><TT class=wiki>RespURI</TT>, <TT class=wiki>Cred</TT>, <TT class=wiki>Meta</TT> fields missing from <TT class=wiki>SyncHdr</TT> element </FONT></LI></UL></LI></UL><FONT size=2>Thanks in advance</FONT></SPAN></FONT></DIV> <DIV><FONT face=Arial color=#ff00ff size=2><SPAN class=754170802-13092002>Dean Chalker</SPAN></FONT></DIV> <BLOCKQUOTE dir=ltr style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #ff00ff 2px solid; MARGIN-RIGHT: 0px"> <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> Chalker, Dean <BR><B>Sent:</B> Thursday, 12 September 2002 5:51 PM<BR><B>To:</B> '[email protected]'<BR><B>Subject:</B> <BR><BR></FONT></DIV> <DIV><FONT face=Arial size=2> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002>Hi all,</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002>Just spent another day wading through kSync, trying to figure out how it works and how to apply it. Judging from what I can see of the mailing list, I am not alone. </SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002>Howvever, the day was not without gain. I finally discovered that kSync synchronises DOMs, and not files. The files are "merely" used as backing store for the in-memory DOMs. Ah ha!!</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002>Anyway: the question: when will v2 become publicly available. I'm not sure how many days I want to invest in wading through the source if it will all go out the window when v2 arrives.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002>Thanks in advance.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002></SPAN></FONT> </DIV> <DIV><FONT face=Arial size=2><SPAN class=921454107-12092002>Dean</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV></FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV> <TABLE cellSpacing=0 cellPadding=0 width=220 border=0> <TBODY> <TR> <TD vAlign=bottom width=140> <DIV style="align: left"><I><FONT face="Trebuchet MS" color=#000000 size=5>intelli</FONT></I> <B><FONT face="Trebuchet MS" color=#008000 size=5>W</FONT><FONT face="Trebuchet MS" color=#008000 size=4>HERE</FONT></B> <A href="http://www.intelliwhere.com/"><FONT face=Arial color=#008000 size=1>www.intelliwhere.com</A></FONT></DIV></TD></TR> <TR> <TD style="MARGIN-TOP: 0px; BORDER-BOTTOM: #008000 1px solid"> <HR style="COLOR: #008000" SIZE=0> <DIV><FONT face=Arial color=#000080 size=2><B>Dr. Dean Chalker</B></FONT> <FONT color=#000080 size=1><BR><STRONG><FONT face=Arial>Senior Architect<BR></FONT></STRONG></FONT><FONT color=#000080><A href="mailto:[email protected]"><FONT face=Arial color=#008000 size=1><STRONG>[email protected]</STRONG></FONT></A><BR><BR><FONT size=1><FONT face=Arial><FONT color=#005000>IntelliWhere Division, Intergraph Corporation<BR>Australia<BR><BR>Phone: 61-7-3510 8918 </FONT><FONT color=#005000>Fax: 61-7-3510 8901</FONT> </FONT></FONT></FONT></DIV></TD></TR></TBODY></TABLE> <DIV><FONT face=Arial size=2></FONT> </DIV></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> <DIV> </DIV></BLOCKQUOTE></BODY></HTML> ------_=_NextPart_001_01C25ACA.E3FA71D0--