From: Sean C. S. <se...@se...> - 2001-11-05 01:43:16
|
From: "Stefano Fornari" <ste...@bi...> > > [...] In the sync.client package there is the following comment: > > "contains the classes for the standalone sync4j client application. The > application is a SyncML client. The application is designed to run on > the Java 2 Standard Edition (J2SE) platform. It requires JDK 1.3 or > higher." Correct. The sync4j.client package contains the code for a standalone SyncML client application. The application is designed for use on the J2SE (Java 2 Standard Edition Platform, http://java.sun.com/j2se/ ). > This seems exclude a wide range of devices that can become the most > natural destination of synchronization tasks: devices usually based on > lighted VMs such as CLDC, Personal Java, Java Card etc. What about, > instead, target the client library to low-resource and low-memory VM > environments? The sync4j.client is suitable for devices that support Sun's J2SE platform. For devices that support only the J2ME platform, the sync4j.client application is not appropriate. Currently, the sync4j project encompasses 2 applications: 1) sync4j.server - a SyncML server. Runs on the J2EE platform. 2) sync4j.client - a SyncML client. Runs on the J2SE platform. Here is the rationale: The SyncML protocol is very complex. Some of the protocol's features are required; other features of the protocol are optional. It is my intent to build a server that supports all of the features of the SyncML protocol. In order to build a full-featured server, we also need to build a full-featured client. A full-featured client will be able to exercise all aspects of the protocol and will assist in the development of the full-featured server. The sync4j.client application is intented to be a full-featured client implementation of the SyncML protocol. Due to the memory/CPU/storage constraints of J2ME devices, a SyncML client for the J2ME platform would probably implement only a subset of the SyncML protocol. I've decided to focus my time and effort on building a J2SE client application because: 1) I want to build a full-featured client that supports all aspects of the SyncML protocol. This full-featured client will facilitate more thorough testing of the sync4j.server application. 2) J2SE developer tools are more widely available than J2ME tools 3) The J2ME platform is immature. In contrast, the J2SE platform is mature and stable. 4) There are few commercial J2ME devices. Nokia offers J2ME devices; however, the majority of Nokia's phones are not J2ME-enabled. Motorola offers some J2ME devices; however, the majority of Motorola's phones are not J2ME-enabled. 5) For mobile devices, wouldn't C be a more suitable implementation language for building a SyncML client? 6) In the near future, devices vendors (Nokia, Motorola, Ericsson) are going to provide SyncML client implementations for their devices. I'd rather not build a J2ME client when these devices will already have SyncML built-in. 7) The J2SE platform has a mature set of XML parsers. The J2ME platform does not. 8) There are far more computing devices (laptop computers) that can run J2SE apps than there are devices than can run J2ME apps. > As known, these requirements doesn't match very well with > XML, therefore one of the first steps should be have a light XML > processor. I did a research on SourceForge and I found a project that > sounds pretty good. It is called XMLtp > (http://sourceforge.net/projects/jxmltp/) and is available under the BSD > license as well. There are a number of "small" XML parsers: kXML http://kxml.enhydra.org/ NanoXML http://nanoxml.sourceforge.net/ TinyXML http://www.gibaradunn.srac.org/tiny/index.shtml MinML http://www.wilson.co.uk/xml/minml.htm XMLtp http://sourceforge.net/projects/jxmltp/ Al Sutton XML parser http://sourceforge.net/projects/asxmlp/ One final note: I've heard that Enhydra is planning to release source code for a J2ME SyncML client: http://ksync.enhydra.org/ They haven't released the code yet. Apparently, the code was developed by a company in Seattle called Reaxion: http://www.reaxion.com Reaxion's web site says: "Reaxion will release its SyncML component for Java 2 Micro Edition to open-source community as a part of kSync project. kSync is a part Enhydra ME initiative me.enhydra.org " Regards, -Sean |