是否有“快速信息集”? Delphi 的 XML 压缩库?
我希望在某些企业应用程序中支持 Fast Infoset,以减少 XML 和 SOAP 交换的网络流量。
根据 Wikipedia 上的记录,C# 和 Java 都有 Fast Infoset 实现。
根据 OSS 快速信息集工具,已经在包括 Microsoft 在内的多个平台上提供了实现.NET 和 .NET CF、Sun GlassFish、BEA WebLogic。
I would like to support Fast Infoset in some enterprise applications to reduce network traffic for XML and SOAP exchanges.
As documented on Wikipedia, there are Fast Infoset implementations for C# and Java.
According to OSS Fast Infoset Tools, implementations are already available on several platforms including Microsoft .NET and .NET CF, Sun GlassFish, BEA WebLogic.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看起来不像。 因此,如果您想在 Delphi 程序中使用它,您有两种选择。 您可以通过 P/Invoke(或 Hydra)使用 .NET 版本,或者,如果任务不是太大(还没有查看项目的大小),您可以尝试自己将其移植到 Delphi。 如果 Java 和 C# 可以处理这个库,Delphi 几乎肯定可以将其变成“甚至更快的信息集”。
It doesn't look like it. So you have two choices if you want to use this in a Delphi program. You could use the .NET version via P/Invoke (or Hydra) or, if it wouldn't be too huge of a task (haven't looked at the size of the project) you could try porting it to Delphi yourself. If Java and C# can handle this library, Delphi can almost certainly make it into an "Even Faster Infoset".
如果您只关注传输(因此网络带宽),那么使用标准 HTTP 压缩将使您的消耗减少 70-90%,而无需更改当前工具链中的任何内容。
为了充分发挥 Fast Infoset 的优势,您的工具链还需要使用二进制表示来处理数据。 如果您将其传递到 SOAP Delphi 层或标准 XML 处理器,则情况并非如此。
很高兴看到 Delphi 中支持快速信息集,但它的领域是 CPU/内存受限的设备,并且与我所知道的大多数 Delphi 使用并不真正一致。
If you are focused on transport only (so network bandwidth) than using standard HTTP compression will get you anywhere from 70-90% reduction in consumption without altering anything in your current toolchain.
The get the full benefit of Fast Infoset your toolchain needs to process the data using the binary representation as well. This would not be the case if you are passing it along to the SOAP Delphi layers or into a standard XML processor.
It would be nice to see Fast Infoset support within Delphi but the domain for it is in CPU/Memory constrained devices and that is not really aligned with most Delphi uses I am aware of.