XCeed Streaming Compression Library

By Robbe D. Morris

Printer Friendly Version

Robbe Morris
Robbe & Melisa Morris
Xceed Streaming Compression Library by XCeedsoft.com is designed to compress normal XML data streams not XML files.  Although, they do offer other products that do that as well as a .NET version of this one.
This product has been a major force in a couple of recent applications I've written referred to as web workspaces.  The backbone of the application deals specifically with sending XML streams upwards of 1-2MB in size from the desktop to a web server and back again.  Of course, querying the different XML streams on the web site to update the data also plays an important role.  In this scenario, sending this much data over the internet as well as between the database server and our web server cluster was going to be a real performance problem.  To top it all off, we needed to be able to support this process over a 56k modem.  What we needed was a way to compress the XML streams as they were being created and a scalable process for uncompressing the stream in the receiving ASP page.

The Xceed Streaming Compression Library was the exact product we needed to perfect this type of application.  With only a few lines of code, we were able to select from several different compression types and send the binary data.  With equally minimal effort, we plugged the same COM component in our ASP pages to uncompress the data.  All of this with amazing drops in bandwidth usage.  We consistantly got around a 9 to 1 compression ratio.  For example, if a stream was 950KB in length it compressed to just over 90KB.  More than suitable for use over a 56k modem.
Of course, scalability is important when working with these types of tools.  The Xceed Streaming Compression Library performed far above our expectations.  The beta demonstration of our application astounded everyone with it's performance and page load times.  The XML compression portion made us look awfully good.
During my introduction to the product, I needed to contact customer service for clarification on a couple of small issues.  Their timely response and courteous follow up sealed the deal.  Even though only a couple of applications would get immediate benefit from the product, I strongly recommended purchasing a site license for the company (which we purchased that day).  It was obvious to myself and our project team that this component was going to be a key player in future web workspace applications.
I only have one complaint about my experience so far.  The code samples provided were incomplete.  There really should have been a sample of a Visual Basic application sending data over the wire to a receiving ASP page that would uncompress it.  So, to help you save a little time, a pretty thorough example of just how to use the product in this situation as well as saving the compressed XML stream to SQL Server is contained in the link below.
Web Service vs Web Workspace Part II
I'm usually a bit picky about products or books I buy and recommending them to other people.  However, if you are doing any work whatsoever that deals with sending XML over the wire, go download the trial version of the component.  You won't be disappointed.  I just touched on the benefits with ASP.  There are numerous other features centering around zip file formats from UNIX and Linux as well as binary encoding features that you won't want to miss.  Visit their website today at Xceed Streaming Compression Library.

Robbe has been a Microsoft MVP in C# since 2004.  He is also the co-founder of NullSkull.com which provides .NET articles, book reviews, software reviews, and software download and purchase advice.