Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>Approach I:</strong> Top Criteria's: <em>Compression, Security and Architectural design freedom</em></p> <p>The perceivable best way to achieve data compression is to create custom language that is understandable by the mobile client and its server only. You can add next level compression to it by using <code>GZIP</code> / <code>LZW</code> or any other compression algorithm.</p> <p><em>Pros:</em></p> <ol> <li>Customize the payload content with minimal headers and send it to the server.</li> <li>Relatively secured from eaves-droppers, also an extra level of encryption would do no harm but to be considered on need basis.</li> <li>Tow levels compression reducing the total payload.</li> <li>Does not have any depending on any 3rd party encoder/decoder library, unless you use GZIP / encryption libraries. Hence its portable across platforms.</li> <li>As 3rd party libraries are not used, assuming no gzip and no encryption algos, there is no commercial licensing hassles.</li> </ol> <p><em>Cons:</em></p> <ol> <li>Difficult to maintain the custom language, should be supported with architecture, design and javadoc's</li> <li>Relatively high time to create payload if used multiple compressors viz. custom language encoding, GZIP compression and encryption library.</li> </ol> <p><em>Example:</em> In this link <a href="http://en.wikipedia.org/wiki/Opera_Mini#Functionality" rel="nofollow"><strong>Opera Mini</strong></a> read section on <em>Functionality</em>.</p> <p>.</p> <p><strong>Approach II:</strong> Top Criteria: <em>Strict project timelines</em></p> <p>For quick disbursement of the project use 3rd party compressors like GZIP and industry standard webservice content exchange formats like SOAP and JSON.</p> <p><em>Pros:</em></p> <ol> <li>Quick integration, adherence to standard approach's which make the web-server component easier to develop</li> <li>No time consume in inventing the wheel, like is said no time consumed in architecturing and developing custom language.</li> </ol> <p><em>Cons:</em></p> <ol> <li>The level compression is driven by 3rd party libraries where-in the actual content might not be compressed. The library would just restructures similar to Shannon / Rate-Distortion theory.</li> <li>The compression works the same in low end / high end device so the heap memory consumption might be blocker on low memory devices.</li> <li>Dependency on 3rd party libraries, you never know when the support is pulled back.</li> <li>You might get pulled into the vicious circle of commercial licensing when using 3rd party libraries, unless you use open source libraries.</li> </ol> <p><em>Example:</em> <a href="http://developers.sun.com/mobility/apis/articles/wsa/" rel="nofollow">http://developers.sun.com/mobility/apis/articles/wsa/</a></p> <p>.</p> <p><strong>Edit:</strong> Some very useful links</p> <ol> <li><a href="http://www.informit.com/articles/article.aspx?p=336262&amp;seqNum=1" rel="nofollow">Informit</a></li> <li><a href="http://www.devx.com/wireless/Article/28046" rel="nofollow">DevX</a></li> <li><a href="http://www.ibm.com/developerworks/wireless/library/wi-websvc/" rel="nofollow">Design Mobile Webservices</a> </li> <li><a href="http://mason.gmu.edu/~mchen/web/papers/IJMC%20V3%20N1%202005%20Chen_Zhang_Zhou.pdf" rel="nofollow">Providing web services to mobile users: the architecture design of an m-service portal</a></li> </ol>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload