Author |
Message
|
McueMart |
Posted: Tue Jun 02, 2015 2:31 pm Post subject: EXI Support in a future version of IIB? |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
EXI (Efficient XML Interchange) is a binary XML representation which increases the space and parsing efficiency of XML (At the cost of making it no longer 'human readable').
Read more about it here:
http://www.w3.org/XML/EXI/
And the functional & performance evaluations here:
http://www.w3.org/TR/exi-evaluation/
So in essence - EXI compressed XML has 2 major advantages over GZiping normal XML:
1) It compresses it better (and faster) in almost all cases
2) The data is still parsable, meaning that full decompression of the data is not needed before the data can be processed.
I am currently working on a highly performance critical project where XML is used as the data interchange format. It struck me that if IIB were to support EXI, we would almost certainly use it.
I appreciate that I could raise a RFE (and I most likely will), but I thought I would post this here to raise awareness of EXI (As I had never heard of it before my recent research!) - and also to hear other's opinion as to whether it would be a good fit for broker.
My feeling is that EXI wouldn't be a new parser in it's own right, but instead, it would just be an option on the XMLNSC parser ('Use EXI') - as the logical representation would be identical to XMLNSC - it would just be the parsing & serialisation which would have to change in the background. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jun 03, 2015 5:09 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
What are the real world advantages over JSON? |
|
Back to top |
|
 |
McueMart |
Posted: Wed Jun 03, 2015 10:43 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
I can see a few advantages:
1) In the real world, lots of existing systems are mandated to use XML and cannot switch to JSON. EXI is a more optimised physical format for the exact same logical data.
2) EXI will be considerably smaller than JSON (From a few basic tests I have played around with, EXI data was well under 40% the size of the corresponding JSON - YMMV obviously depending on the data!), and almost certainly still smaller than GZipped JSON (Although I would guess these get very close in terms of size). Being a more compact data format, I would expect the parsing performance to beat JSON.
3) EXI is a streamable/parsable implementation (I.e the broker would be able to do partial parsing on the data). For GZipped data, the complete payload would have to be uncompressed before parsing.
Overall I just feel that this capability would be a great boon for Broker. Faster parsing, smaller payloads, the same logical format as normal XML - the only downside being the data is no longer human readable (without converting EXI -> XML). |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jun 03, 2015 10:59 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
How would EXI be output, if existing apps can't move from XML?
If it needs an additional transformation layer, it might as well go to JSON.
It's an excellent idea to propose a standardized binary format for XML, but it's hard to believe that there will be wide spread adoption instead of adopting JSON.
Just my opinion. |
|
Back to top |
|
 |
inMo |
Posted: Wed Jun 03, 2015 11:47 am Post subject: |
|
|
 Master
Joined: 27 Jun 2009 Posts: 216 Location: NY
|
Tangential - Anyone know of any graphical JSON Schema creation/editing tools? |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jun 04, 2015 4:28 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
inMo wrote: |
Tangential - Anyone know of any graphical JSON Schema creation/editing tools? |
You mean something that represents JSON as a structured tree, rather than as text?
Not off the top of my head. |
|
Back to top |
|
 |
|