Is there a “Fast Infoset” XML compression library

2019-07-13 04:15发布

问题:

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.

回答1:

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".



回答2:

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.