Web services 设计用于流量压缩的移动web服务器和客户端

Web services 设计用于流量压缩的移动web服务器和客户端,web-services,http,servlets,java-me,compression,Web Services,Http,Servlets,Java Me,Compression,我对如何最好地进行这件事感到有点困惑 事情:我正在创建一个j2me移动应用程序,它将通过HTTP向web服务器发送压缩数据,然后web服务器将解压缩请求、获取数据、压缩数据并发送回客户端 一个类似的解决方案是: 问题:我对如何从客户端应用程序发送压缩的http请求、服务器使用什么技术以及如何最好地实现它感到困惑。 假设服务器一次处理数千个请求,会对整个应用程序产生什么影响 欢迎评论。 谢谢。我不是J2ME开发人员,但我想与大家分享我作为Java开发人员的观点。如果您正在与Web服务器通信,那么我

我对如何最好地进行这件事感到有点困惑

事情:我正在创建一个j2me移动应用程序,它将通过HTTP向web服务器发送压缩数据,然后web服务器将解压缩请求、获取数据、压缩数据并发送回客户端

一个类似的解决方案是:

问题:我对如何从客户端应用程序发送压缩的http请求、服务器使用什么技术以及如何最好地实现它感到困惑。 假设服务器一次处理数千个请求,会对整个应用程序产生什么影响

欢迎评论。
谢谢。

我不是J2ME开发人员,但我想与大家分享我作为Java开发人员的观点。如果您正在与Web服务器通信,那么我猜您将调用一个Web服务(SOAP或REST)。我在webservice for SOAP中做了类似的事情,以压缩一段时间前的通信。以下是我所遵循的。

方法一:最高标准:压缩、安全和建筑设计自由

实现数据压缩的最佳方法是创建仅可由移动客户端及其服务器理解的自定义语言。您可以使用
GZIP
/
LZW
或任何其他压缩算法向其添加下一级压缩

优点:

  • 使用最少的头自定义负载内容并将其发送到服务器
  • 相对安全的屋檐滴管,也有一个额外的加密级别将不会造成伤害,但需要考虑的基础上
  • 两级压缩降低了总有效载荷
  • 不具有任何依赖于任何第三方编码器/解码器库的功能,除非您使用GZIP/加密库。因此,它可以跨平台移植
  • 由于没有使用第三方库,假设没有gzip和加密算法,就没有商业许可问题
  • 缺点:

  • 难以维护自定义语言,应支持架构、设计和javadoc
  • 如果使用多个压缩机,则创建有效负载的时间相对较长,即。自定义语言编码,GZIP压缩和加密库
  • 示例:在此链接中,请阅读有关功能的部分

    方法二:首要标准:严格的项目时间表

    为了快速支付项目,请使用第三方压缩器(如GZIP)和行业标准webservice内容交换格式(如SOAP和JSON)

    优点:

  • 快速集成,遵守标准方法,使web服务器组件更易于开发
  • 发明轮子不需要花费时间,就像人们说的那样,构建和开发定制语言不需要花费时间
  • 缺点:

  • 级别压缩由第三方库驱动,而实际内容可能不会被压缩。该库将进行类似于香农/率失真理论的重构
  • 压缩在低端/高端设备中的工作原理相同,因此堆内存消耗可能是低内存设备上的拦截器
  • 依赖于第三方库,您永远不知道何时会撤回支持
  • 在使用第三方库时,您可能会陷入商业许可的恶性循环,除非您使用开源库
  • 例如:

    编辑:一些非常有用的链接


  • 很好,我可能会选择第二个选项,尽管我有点担心不同设备的内存能力。然而,随着时间的推移,我会逐渐转向选择一。。不过,仍然让我担心的是找到一个好的主机。我看过一篇关于将php与j2me()结合使用的文章,这篇文章似乎可以达到同样的目的,而且更便宜。@opatachibueze,我们能够找到答案吗?非常感谢,我会研究它们。@opatachibueze,很高兴知道我的答案很有用。我看到了你的博客,我会给你发电子邮件,向你通报我的进展/发现。谢谢