Unlike data compression, Efficient XML makes XML data both smaller and faster to process. It also achieves better compactness than data compression and works well for a broader range of XML messages. It can actually make XML documents hundreds of times smaller and faster by using knowledge about the XML and the data contained in the document itself, producing a more streamlined, efficient version of that document.
Efficient XML Performance
Efficient XML works better for a broader range of XML documents than any XML optimization technology available and allows users to tune performance according to application specific criteria (e.g., speed over size). The World Wide Web Consortium (W3C) conducted extensive benchmarking of XML optimization technologies and found Efficient XML consistently achieved the best compression for every test group, every use case and every class of application. At the same time, they found that AgileDelta's Efficient XML was one of the fastest XML processors of any kind. And unlike other technologies, Efficient XML works for every XML document, not just schema-valid documents or a specific subset of XML. In the best real-world cases reported by customers, Efficient XML make XML messages over 450 times smaller than standard XML and 42 times smaller than WinZip.
The graphs above to the right and below to the left show how many times smaller and faster Efficient XML makes a set of large, real-world SOAP web-service messages compared side-by-side with XML, GZIP and Fast Infoset. Taller bars represent better compression and faster processing (click on the graphs for larger images). In these cases, Efficient XML makes the XML messages up to 122 times smaller than XML, 14 times smaller than gzip and 23 times smaller than Fast Infoset. At the same time, Efficient XML processes these messages up to 35 times faster than XML, 36 times faster than GZIP and 5 times faster than Fast Infoset. Efficient XML is the only technology of any kind that achieves this level of bandwidth and processing efficiency. And if processing speed is your primary goal, Efficient XML can operate at over twice these speeds when optimized for speed over size.
As you can see, Efficient XML makes XML dramatically smaller and
faster. Efficient XML requires significantly less
time, processing power and battery power. In
addition, Efficient XML can read and write data streams directly to and from memory
using popular XML APIs instead of serializing, compressing, decompressing, and parsing XML.
Of course, using Efficient XML with wireless networks also requires significantly less bandwidth, radio time, CPU cycles and battery power. By reducing all these things simultaneously, Efficient XML dramatically accelerates XML applications and allows any information to be accessed and processed by virtually any device, anywhere.
Efficient XML also works for any size messages, including very small messages typical of web services, mobile devices, financial data, and location-based services. Traditional data compression techniques have very little effect on these types of messages and can actually increase their size while reducing processing speeds. Efficient XML makes them both smaller and faster.
The graphs above show how many times faster and smaller Efficient XML makes small XML messages used for various geo-location applications compared side-by-side with XML, Fast Infoset and GZIP. In these cases, Efficient XML makes the messages up to 121 times smaller than XML, 42 times smaller than GZIP and 64 times smaller than Fast Infoset. At the same time, Efficient XML processing speeds are up to 50 times faster than XML, 60 times faster than GZIP and 3 times faster than Fast Infoset.
To find out how much faster and smaller Efficient XML makes your data, download an evaluation copy or contact AgileDelta Sales to purchase a copy today. After you download Efficient XML, try efxperf, an easy-to-use benchmarking tool that quickly shows exactly how much faster and smaller Efficient XML makes your data.
The Global Web Standard
After identifying Efficient XML as best of breed, the World Wide Web Consortium (W3C) adopted our Efficient XML Interchange (EXI) format as the global web standard for efficient, interoperable XML exchange. AgileDelta is editor of the EXI standard and worked extensively within the W3C to prepare and finalize it. Read our original
W3C proposal to learn more
about the benefits, requirements and underlying theories of Efficient XML.
Any Data. Any Device. Anywhere.
Small, mobile and embedded devices do not have resources to spare.
They are constrained by battery life, size, weight, heat, processing
power, memory and network bandwidth. The cost of adding additional
resources to handle more functionality often prices mass-market devices
such as mobile handsets, consumer electronics, game consoles, and
automobile navigation systems out of cost-sensitive markets.
Efficient XML creates opportunities for adding more compelling
content and applications on existing devices without additional
resources. It creates opportunities to reduce the cost of new devices
by enabling them to function with fewer resources. It creates
opportunities for content providers and application developers to reach
far more customers. And it creates opportunities for network operators
to increase utilization of their data networks.
Key Efficient XML Features
|
Schema optimization: Efficient XML includes
the most flexible and effective set of schema optimizations available. Users may specify strict, open or extensible schema handling and may provide a full schema, partial schema or no schema at all. Efficient XML leverages available schema information to improve compactness and performance, but does not depend on the accuracy or completeness of the schema to work. This flexible processing model is very useful for managing interoperability between systems fielded on different schedules and enabling systems to evolve independently at their own pace. |
|
|
Advanced XML Compression: Efficient XML
includes advanced XML compression that leverages knowledge of XML and patterns detected
in a document to reduce message size. Our advanced XML compression is configurable and allow
users to balance speed, compactness, resource utilization and streaming characteristics to
meet application objectives. XML compression can be used independently or combined with
schema optimizations. |
|
|
Widely used, standard APIs: Efficient XML
can be used as a stand-alone compression utility or integrated directly into host applications. Host
applications can read and write EXI streams directly to avoid the cost of translating to and from XML.
Efficient XML supports standard XML APIs to simplify and accelerate integration. For example, applications can
generate and consume EXI streams directly to and from standard W3C DOM trees, SAX event streams, StAX event streams or
XML character streams. |
|
|
Parsing Optimizations: Efficient XML incorporates the world's fastest EXI processors and can parse and serialize EXI much faster than plain old XML processors. Incorporating Efficient XML into an existing application will automatically accelerate the application. And because Efficient XML supports standard XML APIs, this acceleration can usually be achieved with little to no changes to the application code.
|
|
|
Fidelity optimizations: Efficient XML
allows applications to preserve or discard white space, comments and other XML artifacts that
may not be needed by an application. Discarding these items will improve compactness while
maintaining the logical structure and content of the XML document. |
|
|
Query results and document fragments: In addition to optimizing individual XML messages, Efficient XML can optimize any list of elements
extracted from an XML message. This enables applications to efficiently send portions of an XML
message when the message is so large that sending the whole thing is not practical or possible. For example, Efficient XML can optimize
a query result, document fragment or a set of recent changes to a document. If schema optimizations
are enabled, Efficient XML will deduce a schema to efficiently represent the extracted information. |
|
|
Extensible encoding rules: The set of Efficient XML encoding rules can be customized, extended or replaced by third parties to meet
application specific objectives. As such, Efficient XML can be customized to more efficiently handle custom data types using standard schemas and custom encoding rules. |
|
|
Small, mobile and embedded systems: Efficient XML is optimized for devices with extremely limited resources, including mass market mobile handsets.
It can be deployed on a wide range of diverse platforms with
limited memory, storage, processing power and battery life. |
|
|
Streaming support: Efficient XML supports
full streaming enabling applications to begin generating results before reading the entire
document into memory. This is critical for scalable, responsive and mobile applications that
cannot afford to allocate the memory required to hold the entire document or to wait for
the entire document to be read before processing it.
|
|
|