m co xmlxmlconsortium.org/seminar09/090512-13+19-20/data/090512/...xml co n s o r t i u m xml co n s...
TRANSCRIPT
-
XML Consortium XML Consortium
Copyright © XMLコンソーシアム 2009 All rights reserved.
気象庁防災情報XML化実証実験
バイナリXML 2009年5月12日
日本電気株式会社
高橋公一
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
バイナリXMLとは
n XMLをバイナリで表現する
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
バイナリXMLが生まれた背景
n XMLは冗長 n XMLは最適化(圧縮)の余地がある
n XMLの処理は重い n XMLは高速動作が求められるシステムへ適用
しにくい
ポイント • ネットワークリソースやマシンリソースは無限ではない • 防災情報配信の要件にマッチ
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
バイナリXMLの特長
n 圧縮
n 圧縮手法の例
n 同一インスタンスを参照(バイナリ内)に変更
n 既定インスタンスを参照(ランタイム内)に変更
n 高速
n 処理速度向上方法の例
n 構造をバイナリに含める →読み込み速度向上
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
バイナリXMLの標準仕様
n Efficient XML Interchange (EXI) Format 1.0 n W3C [working draft (Last Call)]
n Fast Infoset n ITUT Rec. X.891 [Recommendation] n ISO/IEC 248241 [International Standard published]
など、様々…
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
EXIの実装例
n Java n GNU General Public License version 2 (LGPL) n SAX 、DOM
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
Fast Infoset の実装例①
n Java n Apache License Version 2.0 n DOM 、SAX 、StAX
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
Fast Infoset の実装例②
n .NET Framework 、NET Compact Framework n 使用するだけなら無料
n 独自API(.NETのXmlReader/XmlWriterを継承)
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
防災情報XMLの圧縮効率
0
10
20
30
40
1000 10000 100000
インスタンスサイズ(byte)
イン
スタ
ンス
数(個
) EXI
Fast Infoset
XML
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
FAQ ①
n バイナリXMLの圧縮技術と標準的な圧縮 技術は何が違うの?
ポイント
・バイナリXMLの方が圧縮時にかかる負荷が低い ・圧縮率は標準的な圧縮技術の方が高い
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
FAQ ②
n バイナリXMLとXOPは何が違うの? ※XOP : XMLbinary Optimized Packaging
ポイント
・XOPはXMLの中にバイナリを埋め込む方法 (SOAP 1.2 MTOM で使われている)
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
FAQ ③
n エンコード・デコードすると結局は低速にな るのでは?
ポイント • バイナリXMLはXMLインスタンスを介さずに直接読み込める • バイナリXMLはXMLインスタンスを介さずに直接書き出せる • バイナリXMLに対応したSOAPランタイムは、バイナリXMLの SOAPメセージを直接書き出し/読み込みする
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
FAQ ③補足
n Fast Infoset に対応している アプリケーションサーバー n WebOTX 、Glassfish
n Fast Infoset に対応しているSOAPランタイム n Axis2
これらはいずれもJavaシステムプロパティの設定 だけでFast Infosetへの切り替えが可能。
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
デモ
n XML vs Fast Infoset n WebOTX AS V8.2 を使って気象庁から二次プ
ロバイダへの防災情報配信を再現
n 「通常のSOAP」と「Fast Infoset のSOAP」を比 較
-
XM
L C
onso
rtiu
m
XM
L C
onso
rtiu
m
Copyright © XMLコンソーシアム 2009 All rights reserved.
今すぐ体感!
n WebOTX http://www.nec.co.jp/WebOTX/
※WebOTX Developer のお試し版(評価版 )でデモの内容を再現できます。